mirror of
https://github.com/koalyptus/TableFilter.git
synced 2024-06-03 14:32:21 +02:00
4481fbe361
branch: master
SHA: c7d6de72f7
range SHA: 81f31a3106fb...c7d6de72f785
build id: 375208741
build number: 1103
662 lines
40 KiB
HTML
662 lines
40 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<base data-ice="baseUrl" href="../../../../">
|
|
<title data-ice="title">src/extensions/advancedGrid/adapterEzEditTable.js | tablefilter</title>
|
|
<link type="text/css" rel="stylesheet" href="css/style.css">
|
|
<link type="text/css" rel="stylesheet" href="css/prettify-tomorrow.css">
|
|
<script src="script/prettify/prettify.js"></script>
|
|
<script src="script/manual.js"></script>
|
|
<meta name="description" content="A Javascript library making HTML tables filterable and a bit more"><meta property="twitter:card" content="summary"><meta property="twitter:title" content="tablefilter"><meta property="twitter:description" content="A Javascript library making HTML tables filterable and a bit more"></head>
|
|
<body class="layout-container" data-ice="rootContainer">
|
|
|
|
<header>
|
|
<a href="./">Home</a>
|
|
|
|
<a href="identifiers.html">Reference</a>
|
|
<a href="source.html">Source</a>
|
|
|
|
<div class="search-box">
|
|
<span>
|
|
<img src="./image/search.png">
|
|
<span class="search-input-edge"></span><input class="search-input"><span class="search-input-edge"></span>
|
|
</span>
|
|
<ul class="search-result"></ul>
|
|
</div>
|
|
<a style="position:relative; top:3px;" href="https://github.com/koalyptus/TableFilter.git"><img width="20px" src="./image/github.png"></a></header>
|
|
|
|
<nav class="navigation" data-ice="nav"><div>
|
|
<ul>
|
|
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/emitter.js~Emitter.html">Emitter</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/feature.js~Feature.html">Feature</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/tablefilter.js~TableFilter.html">TableFilter</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-has">has</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-addClass">addClass</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-createCheckItem">createCheckItem</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-createElm">createElm</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-createOpt">createOpt</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-createText">createText</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-elm">elm</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-getFirstTextNode">getFirstTextNode</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-getText">getText</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-hasClass">hasClass</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-removeClass">removeClass</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-removeElm">removeElm</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-tag">tag</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-addEvt">addEvt</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-cancelEvt">cancelEvt</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-isKeyPressed">isKeyPressed</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-keyCode">keyCode</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-removeEvt">removeEvt</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-stopEvt">stopEvt</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-targetEvt">targetEvt</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-parse">parse</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-defaultsArr">defaultsArr</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-defaultsBool">defaultsBool</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-defaultsFn">defaultsFn</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-defaultsNb">defaultsNb</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-defaultsStr">defaultsStr</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-dateSortAsc">dateSortAsc</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-dateSortDesc">dateSortDesc</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-ignoreCase">ignoreCase</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-numSortAsc">numSortAsc</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-numSortDesc">numSortDesc</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-sortDateStr">sortDateStr</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-sortNumberStr">sortNumberStr</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-contains">contains</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-isEmpty">isEmpty</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-matchCase">matchCase</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-rgxEsc">rgxEsc</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-trim">trim</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-EMPTY_FN">EMPTY_FN</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-isArray">isArray</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-isBoolean">isBoolean</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-isEmpty">isEmpty</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-isFn">isFn</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-isNull">isNull</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-isNumber">isNumber</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-isObj">isObj</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-isString">isString</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-isUndef">isUndef</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-AUTO_FILTER_DELAY">AUTO_FILTER_DELAY</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-CELL_TAG">CELL_TAG</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-CHECKLIST">CHECKLIST</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-DATE">DATE</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-DOWN_ARROW_KEY">DOWN_ARROW_KEY</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-ENTER_KEY">ENTER_KEY</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-ESC_KEY">ESC_KEY</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-FEATURES">FEATURES</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-FORMATTED_NUMBER">FORMATTED_NUMBER</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-HEADER_TAG">HEADER_TAG</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-INPUT">INPUT</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-IP_ADDRESS">IP_ADDRESS</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-MULTIPLE">MULTIPLE</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-NONE">NONE</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-NUMBER">NUMBER</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-SELECT">SELECT</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-STRING">STRING</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-TAB_KEY">TAB_KEY</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-UP_ARROW_KEY">UP_ARROW_KEY</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-root">root</a></span></span></li>
|
|
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#extensions-advancedgrid">extensions/advancedGrid</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/extensions/advancedGrid/adapterEzEditTable.js~AdapterEzEditTable.html">AdapterEzEditTable</a></span></span></li>
|
|
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#extensions-colops">extensions/colOps</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/extensions/colOps/colOps.js~ColOps.html">ColOps</a></span></span></li>
|
|
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#extensions-colsvisibility">extensions/colsVisibility</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/extensions/colsVisibility/colsVisibility.js~ColsVisibility.html">ColsVisibility</a></span></span></li>
|
|
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#extensions-filtersvisibility">extensions/filtersVisibility</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility.html">FiltersVisibility</a></span></span></li>
|
|
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#extensions-sort">extensions/sort</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/extensions/sort/adapterSortabletable.js~AdapterSortableTable.html">AdapterSortableTable</a></span></span></li>
|
|
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#modules">modules</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/modules/alternateRows.js~AlternateRows.html">AlternateRows</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/modules/baseDropdown.js~BaseDropdown.html">BaseDropdown</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/modules/checkList.js~CheckList.html">CheckList</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/modules/clearButton.js~ClearButton.html">ClearButton</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/modules/dateType.js~DateType.html">DateType</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/modules/dropdown.js~Dropdown.html">Dropdown</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/modules/gridLayout.js~GridLayout.html">GridLayout</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/modules/hash.js~Hash.html">Hash</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/modules/help.js~Help.html">Help</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/modules/highlightKeywords.js~HighlightKeyword.html">HighlightKeyword</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/modules/loader.js~Loader.html">Loader</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/modules/markActiveColumns.js~MarkActiveColumns.html">MarkActiveColumns</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/modules/noResults.js~NoResults.html">NoResults</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/modules/paging.js~Paging.html">Paging</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/modules/popupFilter.js~PopupFilter.html">PopupFilter</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/modules/rowsCounter.js~RowsCounter.html">RowsCounter</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/modules/state.js~State.html">State</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/modules/statusBar.js~StatusBar.html">StatusBar</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/modules/storage.js~Storage.html">Storage</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/modules/toolbar.js~Toolbar.html">Toolbar</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-hasHashChange">hasHashChange</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-hasStorage">hasStorage</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-CENTER">CENTER</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-LEFT">LEFT</a></span></span></li>
|
|
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RIGHT">RIGHT</a></span></span></li>
|
|
</ul>
|
|
</div>
|
|
</nav>
|
|
|
|
<div class="content" data-ice="content"><h1 data-ice="title">src/extensions/advancedGrid/adapterEzEditTable.js</h1>
|
|
<pre class="source-code line-number raw-source-code"><code class="prettyprint linenums" data-ice="content">import {Feature} from '../../feature';
|
|
import {tag} from '../../dom';
|
|
import {INPUT} from '../../const';
|
|
import {defaultsStr} from '../../settings';
|
|
import {root} from '../../root';
|
|
|
|
const INSTANTIATION_ERROR = `Failed to instantiate EditTable object.
|
|
\n"ezEditTable" dependency not found.`;
|
|
|
|
/**
|
|
* Adapter module for ezEditTable, an external library providing advanced
|
|
* grid features (selection and edition):
|
|
* http://codecanyon.net/item/ezedittable-enhance-html-tables/2425123?ref=koalyptus
|
|
*/
|
|
export default class AdapterEzEditTable extends Feature {
|
|
|
|
/**
|
|
* Creates an instance of AdapterEzEditTable
|
|
*
|
|
* @param {TableFilter} tf TableFilter instance
|
|
* @param {Object} cfg Configuration options for ezEditTable library
|
|
*/
|
|
constructor(tf, cfg) {
|
|
super(tf, cfg.name);
|
|
|
|
/**
|
|
* Module description
|
|
* @type {String}
|
|
*/
|
|
this.desc = defaultsStr(cfg.description, 'ezEditTable adapter');
|
|
|
|
/**
|
|
* Filename of ezEditTable library
|
|
* @type {String}
|
|
*/
|
|
this.filename = defaultsStr(cfg.filename, 'ezEditTable.js');
|
|
|
|
/**
|
|
* Path to ezEditTable library
|
|
* @type {String}
|
|
*/
|
|
this.vendorPath = cfg.vendor_path;
|
|
|
|
/**
|
|
* Load ezEditTable stylesheet
|
|
* @type {Boolean}
|
|
*/
|
|
this.loadStylesheet = Boolean(cfg.load_stylesheet);
|
|
|
|
/**
|
|
* Path to ezEditTable stylesheet
|
|
* @type {String}
|
|
*/
|
|
this.stylesheet = defaultsStr(cfg.stylesheet,
|
|
this.vendorPath + 'ezEditTable.css');
|
|
|
|
/**
|
|
* Name of ezEditTable stylesheet
|
|
* @type {String}
|
|
*/
|
|
this.stylesheetName = defaultsStr(cfg.stylesheet_name,
|
|
'ezEditTableCss');
|
|
|
|
// Enable the ezEditTable's scroll into view behaviour if grid layout on
|
|
cfg.scroll_into_view = cfg.scroll_into_view === false ?
|
|
false : tf.gridLayout;
|
|
|
|
/**
|
|
* ezEditTable instance
|
|
* @type {EditTable}
|
|
* @private
|
|
*/
|
|
this._ezEditTable = null;
|
|
|
|
/**
|
|
* ezEditTable configuration
|
|
* @private
|
|
*/
|
|
this.cfg = cfg;
|
|
|
|
this.enable();
|
|
}
|
|
|
|
/**
|
|
* Conditionally load ezEditTable library and set advanced grid
|
|
*/
|
|
init() {
|
|
if (this.initialized) {
|
|
return;
|
|
}
|
|
let tf = this.tf;
|
|
if (root.EditTable) {
|
|
this._setAdvancedGrid();
|
|
} else {
|
|
let path = this.vendorPath + this.filename;
|
|
tf.import(this.filename, path, () => this._setAdvancedGrid());
|
|
}
|
|
if (this.loadStylesheet && !tf.isImported(this.stylesheet, 'link')) {
|
|
tf.import(this.stylesheetName, this.stylesheet, null, 'link');
|
|
}
|
|
|
|
// TODO: hack to prevent ezEditTable enter key event hijaking.
|
|
// Needs to be fixed in the vendor's library
|
|
this.emitter.on(['filter-focus', 'filter-blur'],
|
|
() => this._toggleForInputFilter());
|
|
|
|
/**
|
|
* @inherited
|
|
*/
|
|
this.initialized = true;
|
|
}
|
|
|
|
/**
|
|
* Instantiate ezEditTable component for advanced grid features
|
|
* @private
|
|
*/
|
|
_setAdvancedGrid() {
|
|
let tf = this.tf;
|
|
|
|
//start row for EditTable constructor needs to be calculated
|
|
let startRow,
|
|
cfg = this.cfg,
|
|
thead = tag(tf.dom(), 'thead');
|
|
|
|
//if thead exists and startRow not specified, startRow is calculated
|
|
//automatically by EditTable
|
|
if (thead.length > 0 && !cfg.startRow) {
|
|
startRow = undefined;
|
|
}
|
|
//otherwise startRow config property if any or TableFilter refRow
|
|
else {
|
|
startRow = cfg.startRow || tf.refRow;
|
|
}
|
|
|
|
cfg.base_path = cfg.base_path || tf.basePath + 'ezEditTable/';
|
|
let editable = cfg.editable;
|
|
let selectable = cfg.selection;
|
|
|
|
if (selectable) {
|
|
cfg.default_selection = cfg.default_selection || 'row';
|
|
}
|
|
//CSS Styles
|
|
cfg.active_cell_css = cfg.active_cell_css || 'ezETSelectedCell';
|
|
|
|
let _lastValidRowIndex = 0;
|
|
let _lastRowIndex = 0;
|
|
|
|
if (selectable) {
|
|
//Row navigation needs to be calculated according to TableFilter's
|
|
//validRowsIndex array
|
|
let onAfterSelection = function (et, selectedElm, e) {
|
|
let slc = et.Selection;
|
|
//Next valid filtered row needs to be selected
|
|
let doSelect = function (nextRowIndex) {
|
|
if (et.defaultSelection === 'row') {
|
|
/* eslint-disable */
|
|
slc.SelectRowByIndex(nextRowIndex);
|
|
/* eslint-enable */
|
|
} else {
|
|
/* eslint-disable */
|
|
et.ClearSelections();
|
|
/* eslint-enable */
|
|
let cellIndex = selectedElm.cellIndex,
|
|
row = tf.dom().rows[nextRowIndex];
|
|
if (et.defaultSelection === 'both') {
|
|
/* eslint-disable */
|
|
slc.SelectRowByIndex(nextRowIndex);
|
|
/* eslint-enable */
|
|
}
|
|
if (row) {
|
|
/* eslint-disable */
|
|
slc.SelectCell(row.cells[cellIndex]);
|
|
/* eslint-enable */
|
|
}
|
|
}
|
|
//Table is filtered
|
|
if (tf.validRowsIndex.length !== tf.getRowsNb()) {
|
|
let r = tf.dom().rows[nextRowIndex];
|
|
if (r) {
|
|
r.scrollIntoView(false);
|
|
}
|
|
if (cell) {
|
|
if (cell.cellIndex === (tf.getCellsNb() - 1) &&
|
|
tf.gridLayout) {
|
|
tf.tblCont.scrollLeft = 100000000;
|
|
}
|
|
else if (cell.cellIndex === 0 && tf.gridLayout) {
|
|
tf.tblCont.scrollLeft = 0;
|
|
} else {
|
|
cell.scrollIntoView(false);
|
|
}
|
|
}
|
|
}
|
|
};
|
|
|
|
//table is not filtered
|
|
if (!tf.validRowsIndex) {
|
|
return;
|
|
}
|
|
let validIndexes = tf.validRowsIndex,
|
|
validIdxLen = validIndexes.length,
|
|
row = et.defaultSelection !== 'row' ?
|
|
selectedElm.parentNode : selectedElm,
|
|
//cell for default_selection = 'both' or 'cell'
|
|
cell = selectedElm.nodeName === 'TD' ? selectedElm : null,
|
|
/* eslint-disable */
|
|
keyCode = e !== undefined ? et.Event.GetKey(e) : 0,
|
|
/* eslint-enable */
|
|
isRowValid = validIndexes.indexOf(row.rowIndex) !== -1,
|
|
nextRowIndex,
|
|
paging = tf.feature('paging'),
|
|
//pgup/pgdown keys
|
|
d = keyCode === 34 || keyCode === 33 ?
|
|
(paging && paging.pageLength || et.nbRowsPerPage) :
|
|
1;
|
|
|
|
//If next row is not valid, next valid filtered row needs to be
|
|
//calculated
|
|
if (!isRowValid) {
|
|
//Selection direction up/down
|
|
if (row.rowIndex > _lastRowIndex) {
|
|
//last row
|
|
if (row.rowIndex >= validIndexes[validIdxLen - 1]) {
|
|
nextRowIndex = validIndexes[validIdxLen - 1];
|
|
} else {
|
|
let calcRowIndex = (_lastValidRowIndex + d);
|
|
if (calcRowIndex > (validIdxLen - 1)) {
|
|
nextRowIndex = validIndexes[validIdxLen - 1];
|
|
} else {
|
|
nextRowIndex = validIndexes[calcRowIndex];
|
|
}
|
|
}
|
|
} else {
|
|
//first row
|
|
if (row.rowIndex <= validIndexes[0]) {
|
|
nextRowIndex = validIndexes[0];
|
|
} else {
|
|
let v = validIndexes[_lastValidRowIndex - d];
|
|
nextRowIndex = v ? v : validIndexes[0];
|
|
}
|
|
}
|
|
_lastRowIndex = row.rowIndex;
|
|
doSelect(nextRowIndex);
|
|
} else {
|
|
//If filtered row is valid, special calculation for
|
|
//pgup/pgdown keys
|
|
if (keyCode !== 34 && keyCode !== 33) {
|
|
_lastValidRowIndex = validIndexes.indexOf(row.rowIndex);
|
|
_lastRowIndex = row.rowIndex;
|
|
} else {
|
|
if (keyCode === 34) { //pgdown
|
|
//last row
|
|
if ((_lastValidRowIndex + d) <= (validIdxLen - 1)) {
|
|
nextRowIndex = validIndexes[
|
|
_lastValidRowIndex + d];
|
|
} else {
|
|
nextRowIndex = [validIdxLen - 1];
|
|
}
|
|
} else { //pgup
|
|
//first row
|
|
if ((_lastValidRowIndex - d) <= validIndexes[0]) {
|
|
nextRowIndex = validIndexes[0];
|
|
} else {
|
|
nextRowIndex = validIndexes[
|
|
_lastValidRowIndex - d];
|
|
}
|
|
}
|
|
_lastRowIndex = nextRowIndex;
|
|
_lastValidRowIndex = validIndexes.indexOf(nextRowIndex);
|
|
doSelect(nextRowIndex);
|
|
}
|
|
}
|
|
};
|
|
|
|
//Page navigation has to be enforced whenever selected row is out of
|
|
//the current page range
|
|
let onBeforeSelection = function (et, selectedElm) {
|
|
let row = et.defaultSelection !== 'row' ?
|
|
selectedElm.parentNode : selectedElm;
|
|
if (tf.paging) {
|
|
if (tf.feature('paging').nbPages > 1) {
|
|
let paging = tf.feature('paging');
|
|
//page length is re-assigned in case it has changed
|
|
et.nbRowsPerPage = paging.pageLength;
|
|
let validIndexes = tf.validRowsIndex,
|
|
validIdxLen = validIndexes.length,
|
|
pagingEndRow = parseInt(paging.startPagingRow, 10) +
|
|
parseInt(paging.pageLength, 10);
|
|
let rowIndex = row.rowIndex;
|
|
|
|
if ((rowIndex === validIndexes[validIdxLen - 1]) &&
|
|
paging.currentPageNb !== paging.nbPages) {
|
|
paging.setPage('last');
|
|
}
|
|
else if ((rowIndex === validIndexes[0]) &&
|
|
paging.currentPageNb !== 1) {
|
|
paging.setPage('first');
|
|
}
|
|
else if (rowIndex > validIndexes[pagingEndRow - 1] &&
|
|
rowIndex < validIndexes[validIdxLen - 1]) {
|
|
paging.setPage('next');
|
|
}
|
|
else if (
|
|
rowIndex < validIndexes[paging.startPagingRow] &&
|
|
rowIndex > validIndexes[0]) {
|
|
paging.setPage('previous');
|
|
}
|
|
}
|
|
}
|
|
};
|
|
|
|
//Selected row needs to be visible when paging is activated
|
|
if (tf.paging) {
|
|
tf.feature('paging').onAfterChangePage = function (paging) {
|
|
let advGrid = paging.tf.extension('advancedGrid');
|
|
let et = advGrid._ezEditTable;
|
|
let slc = et.Selection;
|
|
/* eslint-disable */
|
|
let row = slc.GetActiveRow();
|
|
/* eslint-enable */
|
|
if (row) {
|
|
row.scrollIntoView(false);
|
|
}
|
|
/* eslint-disable */
|
|
let cell = slc.GetActiveCell();
|
|
/* eslint-enable */
|
|
if (cell) {
|
|
cell.scrollIntoView(false);
|
|
}
|
|
};
|
|
}
|
|
|
|
//Rows navigation when rows are filtered is performed with the
|
|
//EditTable row selection callback events
|
|
if (cfg.default_selection === 'row') {
|
|
let fnB = cfg.on_before_selected_row;
|
|
cfg.on_before_selected_row = function () {
|
|
var args = arguments;
|
|
onBeforeSelection(args[0], args[1], args[2]);
|
|
if (fnB) {
|
|
fnB.call(null, args[0], args[1], args[2]);
|
|
}
|
|
};
|
|
let fnA = cfg.on_after_selected_row;
|
|
cfg.on_after_selected_row = function () {
|
|
var args = arguments;
|
|
onAfterSelection(args[0], args[1], args[2]);
|
|
if (fnA) {
|
|
fnA.call(null, args[0], args[1], args[2]);
|
|
}
|
|
};
|
|
} else {
|
|
let fnD = cfg.on_before_selected_cell;
|
|
cfg.on_before_selected_cell = function () {
|
|
var args = arguments;
|
|
onBeforeSelection(args[0], args[1], args[2]);
|
|
if (fnD) {
|
|
fnD.call(null, args[0], args[1], args[2]);
|
|
}
|
|
};
|
|
let fnC = cfg.on_after_selected_cell;
|
|
cfg.on_after_selected_cell = function () {
|
|
var args = arguments;
|
|
onAfterSelection(args[0], args[1], args[2]);
|
|
if (fnC) {
|
|
fnC.call(null, args[0], args[1], args[2]);
|
|
}
|
|
};
|
|
}
|
|
}
|
|
if (editable) {
|
|
//Added or removed rows, TF rows number needs to be re-calculated
|
|
let fnE = cfg.on_added_dom_row;
|
|
cfg.on_added_dom_row = function () {
|
|
var args = arguments;
|
|
tf.nbFilterableRows++;
|
|
if (!tf.paging) {
|
|
tf.emitter.emit('rows-changed', tf, this);
|
|
} else {
|
|
tf.nbFilterableRows++;
|
|
tf.paging = false;
|
|
tf.feature('paging').destroy();
|
|
tf.feature('paging').reset();
|
|
}
|
|
if (tf.alternateRows) {
|
|
tf.feature('alternateRows').init();
|
|
}
|
|
if (fnE) {
|
|
fnE.call(null, args[0], args[1], args[2]);
|
|
}
|
|
};
|
|
if (cfg.actions && cfg.actions['delete']) {
|
|
let fnF = cfg.actions['delete'].on_after_submit;
|
|
cfg.actions['delete'].on_after_submit = function () {
|
|
var args = arguments;
|
|
tf.nbFilterableRows--;
|
|
if (!tf.paging) {
|
|
tf.emitter.emit('rows-changed', tf, this);
|
|
} else {
|
|
tf.nbFilterableRows--;
|
|
tf.paging = false;
|
|
tf.feature('paging').destroy();
|
|
tf.feature('paging').reset(false);
|
|
}
|
|
if (tf.alternateRows) {
|
|
tf.feature('alternateRows').init();
|
|
}
|
|
if (fnF) {
|
|
fnF.call(null, args[0], args[1]);
|
|
}
|
|
};
|
|
}
|
|
}
|
|
|
|
try {
|
|
/* eslint-disable */
|
|
this._ezEditTable = new EditTable(tf.id, cfg, startRow);
|
|
this._ezEditTable.Init();
|
|
/* eslint-enable */
|
|
} catch (e) { throw new Error(INSTANTIATION_ERROR); }
|
|
|
|
this.initialized = true;
|
|
}
|
|
|
|
/**
|
|
* Reset advanced grid when previously removed
|
|
*/
|
|
reset() {
|
|
let ezEditTable = this._ezEditTable;
|
|
if (ezEditTable) {
|
|
if (this.cfg.selection) {
|
|
/* eslint-disable */
|
|
ezEditTable.Selection.Set();
|
|
/* eslint-enable */
|
|
}
|
|
if (this.cfg.editable) {
|
|
/* eslint-disable */
|
|
ezEditTable.Editable.Set();
|
|
/* eslint-enable */
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Toggle behaviour
|
|
*/
|
|
toggle() {
|
|
let ezEditTable = this._ezEditTable;
|
|
if (ezEditTable.editable) {
|
|
/* eslint-disable */
|
|
ezEditTable.Editable.Remove();
|
|
/* eslint-enable */
|
|
} else {
|
|
/* eslint-disable */
|
|
ezEditTable.Editable.Set();
|
|
/* eslint-enable */
|
|
}
|
|
if (ezEditTable.selection) {
|
|
/* eslint-disable */
|
|
ezEditTable.Selection.Remove();
|
|
/* eslint-enable */
|
|
} else {
|
|
/* eslint-disable */
|
|
ezEditTable.Selection.Set();
|
|
/* eslint-enable */
|
|
}
|
|
}
|
|
|
|
_toggleForInputFilter() {
|
|
let tf = this.tf;
|
|
if (!tf.getActiveFilterId()) {
|
|
return;
|
|
}
|
|
let colIndex = tf.getColumnIndexFromFilterId(tf.getActiveFilterId());
|
|
let filterType = tf.getFilterType(colIndex);
|
|
if (filterType === INPUT) {
|
|
this.toggle();
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Remove advanced grid
|
|
*/
|
|
destroy() {
|
|
if (!this.initialized) {
|
|
return;
|
|
}
|
|
let ezEditTable = this._ezEditTable;
|
|
if (ezEditTable) {
|
|
if (this.cfg.selection) {
|
|
/* eslint-disable */
|
|
ezEditTable.Selection.ClearSelections();
|
|
ezEditTable.Selection.Remove();
|
|
/* eslint-enable */
|
|
}
|
|
if (this.cfg.editable) {
|
|
/* eslint-disable */
|
|
ezEditTable.Editable.Remove();
|
|
/* eslint-enable */
|
|
}
|
|
}
|
|
|
|
this.emitter.off(['filter-focus', 'filter-blur'],
|
|
() => this._toggleForInputFilter());
|
|
this.initialized = false;
|
|
}
|
|
}
|
|
</code></pre>
|
|
|
|
</div>
|
|
|
|
<footer class="footer">
|
|
Generated by <a href="https://esdoc.org">ESDoc<span data-ice="esdocVersion">(1.1.0)</span><img src="./image/esdoc-logo-mini-black.png"></a>
|
|
</footer>
|
|
|
|
<script src="script/search_index.js"></script>
|
|
<script src="script/search.js"></script>
|
|
<script src="script/pretty-print.js"></script>
|
|
<script src="script/inherited-summary.js"></script>
|
|
<script src="script/test-summary.js"></script>
|
|
<script src="script/inner-link.js"></script>
|
|
<script src="script/patch-for-local.js"></script>
|
|
</body>
|
|
</html>
|