mirror of
https://github.com/koalyptus/TableFilter.git
synced 2026-03-16 07:35:45 +01:00
branch: master
SHA: c1f0d71bcb
range SHA: 72dbf6ba2704...c1f0d71bcbe0
build id: 186940167
build number: 522
23269 lines
No EOL
890 KiB
JSON
23269 lines
No EOL
890 KiB
JSON
[
|
|
{
|
|
"__docId__": 0,
|
|
"kind": "file",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "src/array.js",
|
|
"memberof": null,
|
|
"longname": "src/array.js",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 5,
|
|
"content": "/**\n * Array utilities\n */\n\nimport {matchCase} from './string';\n\n/**\n * Checks if given item can be found in the passed collection\n * @param {Array} arr collection\n * @param {Any} val item to search\n * @param {Boolean} caseSensitive respects case if true\n * @return {Boolean}\n */\nexport const has = (arr, val, caseSensitive) => {\n let sCase = Boolean(caseSensitive);\n for (var i = 0, l = arr.length; i < l; i++) {\n if (matchCase(arr[i].toString(), sCase) === val) {\n return true;\n }\n }\n return false;\n}\n"
|
|
},
|
|
{
|
|
"__docId__": 1,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "has",
|
|
"memberof": "src/array.js",
|
|
"longname": "src/array.js~has",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/array.js",
|
|
"importStyle": "{has}",
|
|
"description": "Checks if given item can be found in the passed collection",
|
|
"lineNumber": 14,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "arr",
|
|
"description": "collection"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Any"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "val",
|
|
"description": "item to search"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "caseSensitive",
|
|
"description": "respects case if true"
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": ""
|
|
},
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 2,
|
|
"kind": "file",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "src/const.js",
|
|
"memberof": null,
|
|
"longname": "src/const.js",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 9,
|
|
"content": "/**\n * Filter types\n */\n\n/**\n * Input filter type\n * @type {String}\n */\nexport const INPUT = 'input';\n/**\n * Select filter type\n * @type {String}\n */\nexport const SELECT = 'select';\n/**\n * Multiple select filter type\n * @type {String}\n */\nexport const MULTIPLE = 'multiple';\n/**\n * Checklist filter type\n * @type {String}\n */\nexport const CHECKLIST = 'checklist';\n/**\n * None filter type\n * @type {String}\n */\nexport const NONE = 'none';\n\n/**\n * Key codes\n */\n\n/**\n * Enter key code\n * @type {Number}\n */\nexport const ENTER_KEY = 13;\n/**\n * Tab key code\n * @type {Number}\n */\nexport const TAB_KEY = 9;\n/**\n * Escape key code\n * @type {Number}\n */\nexport const ESC_KEY = 27;\n/**\n * Up arrow key code\n * @type {Number}\n */\nexport const UP_ARROW_KEY = 38;\n/**\n * Down arrow key code\n * @type {Number}\n */\nexport const DOWN_ARROW_KEY = 40;\n\n/**\n * HTML tags\n */\n\n/**\n * Header cell tag\n * @type {String}\n */\nexport const HEADER_TAG = 'TH';\n/**\n * Cell tag\n * @type {String}\n */\nexport const CELL_TAG = 'TD';\n\n/**\n * Data types\n */\n\n/**\n * String\n * @type {String}\n */\nexport const STRING = 'string';\n\n/**\n * Number\n * @type {String}\n */\nexport const NUMBER = 'number';\n\n/**\n * Formatted number\n * @type {String}\n */\nexport const FORMATTED_NUMBER = 'formatted-number';\n\n/**\n * Date\n * @type {String}\n */\nexport const DATE = 'date';\n\n/**\n * IP address\n * @type {String}\n */\nexport const IP_ADDRESS = 'ipaddress';\n\n/**\n * Default values\n */\n\n/**\n * Auto filter delay in milliseconds\n * @type {Number}\n */\nexport const AUTO_FILTER_DELAY = 750;\n"
|
|
},
|
|
{
|
|
"__docId__": 3,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "INPUT",
|
|
"memberof": "src/const.js",
|
|
"longname": "src/const.js~INPUT",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/const.js",
|
|
"importStyle": "{INPUT}",
|
|
"description": "Input filter type",
|
|
"lineNumber": 9,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 4,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "SELECT",
|
|
"memberof": "src/const.js",
|
|
"longname": "src/const.js~SELECT",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/const.js",
|
|
"importStyle": "{SELECT}",
|
|
"description": "Select filter type",
|
|
"lineNumber": 14,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 5,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "MULTIPLE",
|
|
"memberof": "src/const.js",
|
|
"longname": "src/const.js~MULTIPLE",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/const.js",
|
|
"importStyle": "{MULTIPLE}",
|
|
"description": "Multiple select filter type",
|
|
"lineNumber": 19,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 6,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "CHECKLIST",
|
|
"memberof": "src/const.js",
|
|
"longname": "src/const.js~CHECKLIST",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/const.js",
|
|
"importStyle": "{CHECKLIST}",
|
|
"description": "Checklist filter type",
|
|
"lineNumber": 24,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 7,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "NONE",
|
|
"memberof": "src/const.js",
|
|
"longname": "src/const.js~NONE",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/const.js",
|
|
"importStyle": "{NONE}",
|
|
"description": "None filter type",
|
|
"lineNumber": 29,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 8,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "ENTER_KEY",
|
|
"memberof": "src/const.js",
|
|
"longname": "src/const.js~ENTER_KEY",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/const.js",
|
|
"importStyle": "{ENTER_KEY}",
|
|
"description": "Enter key code",
|
|
"lineNumber": 39,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 9,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "TAB_KEY",
|
|
"memberof": "src/const.js",
|
|
"longname": "src/const.js~TAB_KEY",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/const.js",
|
|
"importStyle": "{TAB_KEY}",
|
|
"description": "Tab key code",
|
|
"lineNumber": 44,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 10,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "ESC_KEY",
|
|
"memberof": "src/const.js",
|
|
"longname": "src/const.js~ESC_KEY",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/const.js",
|
|
"importStyle": "{ESC_KEY}",
|
|
"description": "Escape key code",
|
|
"lineNumber": 49,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 11,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "UP_ARROW_KEY",
|
|
"memberof": "src/const.js",
|
|
"longname": "src/const.js~UP_ARROW_KEY",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/const.js",
|
|
"importStyle": "{UP_ARROW_KEY}",
|
|
"description": "Up arrow key code",
|
|
"lineNumber": 54,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 12,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "DOWN_ARROW_KEY",
|
|
"memberof": "src/const.js",
|
|
"longname": "src/const.js~DOWN_ARROW_KEY",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/const.js",
|
|
"importStyle": "{DOWN_ARROW_KEY}",
|
|
"description": "Down arrow key code",
|
|
"lineNumber": 59,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 13,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "HEADER_TAG",
|
|
"memberof": "src/const.js",
|
|
"longname": "src/const.js~HEADER_TAG",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/const.js",
|
|
"importStyle": "{HEADER_TAG}",
|
|
"description": "Header cell tag",
|
|
"lineNumber": 69,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 14,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "CELL_TAG",
|
|
"memberof": "src/const.js",
|
|
"longname": "src/const.js~CELL_TAG",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/const.js",
|
|
"importStyle": "{CELL_TAG}",
|
|
"description": "Cell tag",
|
|
"lineNumber": 74,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 15,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "STRING",
|
|
"memberof": "src/const.js",
|
|
"longname": "src/const.js~STRING",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/const.js",
|
|
"importStyle": "{STRING}",
|
|
"description": "String",
|
|
"lineNumber": 84,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 16,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "NUMBER",
|
|
"memberof": "src/const.js",
|
|
"longname": "src/const.js~NUMBER",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/const.js",
|
|
"importStyle": "{NUMBER}",
|
|
"description": "Number",
|
|
"lineNumber": 90,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 17,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "FORMATTED_NUMBER",
|
|
"memberof": "src/const.js",
|
|
"longname": "src/const.js~FORMATTED_NUMBER",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/const.js",
|
|
"importStyle": "{FORMATTED_NUMBER}",
|
|
"description": "Formatted number",
|
|
"lineNumber": 96,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 18,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "DATE",
|
|
"memberof": "src/const.js",
|
|
"longname": "src/const.js~DATE",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/const.js",
|
|
"importStyle": "{DATE}",
|
|
"description": "Date",
|
|
"lineNumber": 102,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 19,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "IP_ADDRESS",
|
|
"memberof": "src/const.js",
|
|
"longname": "src/const.js~IP_ADDRESS",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/const.js",
|
|
"importStyle": "{IP_ADDRESS}",
|
|
"description": "IP address",
|
|
"lineNumber": 108,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 20,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "AUTO_FILTER_DELAY",
|
|
"memberof": "src/const.js",
|
|
"longname": "src/const.js~AUTO_FILTER_DELAY",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/const.js",
|
|
"importStyle": "{AUTO_FILTER_DELAY}",
|
|
"description": "Auto filter delay in milliseconds",
|
|
"lineNumber": 118,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 21,
|
|
"kind": "file",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "src/cookie.js",
|
|
"memberof": null,
|
|
"longname": "src/cookie.js",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 1,
|
|
"content": "import {root} from './root';\n\n/**\n * Cookie utilities\n */\n\nconst doc = root.document;\n\nexport default {\n\n /**\n * Write a cookie\n * @param {String} name Name of the cookie\n * @param {String} value Value of the cookie\n * @param {Number} hours Cookie duration in hours\n */\n write(name, value, hours) {\n let expire = '';\n if (hours) {\n expire = new Date((new Date()).getTime() + hours * 3600000);\n expire = '; expires=' + expire.toGMTString();\n }\n doc.cookie = name + '=' + escape(value) + expire;\n },\n\n /**\n * Read a cookie\n * @param {String} name Name of the cookie\n * @returns {String} Value of the cookie\n */\n read(name) {\n let cookieValue = '',\n search = name + '=';\n if (doc.cookie.length > 0) {\n let cookie = doc.cookie,\n offset = cookie.indexOf(search);\n if (offset !== -1) {\n offset += search.length;\n let end = cookie.indexOf(';', offset);\n if (end === -1) {\n end = cookie.length;\n }\n cookieValue = unescape(cookie.substring(offset, end));\n }\n }\n return cookieValue;\n },\n\n /**\n * Remove a cookie\n * @param {String} name Name of the cookie\n */\n remove(name) {\n this.write(name, '', -1);\n }\n\n};\n"
|
|
},
|
|
{
|
|
"__docId__": 22,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "doc",
|
|
"memberof": "src/cookie.js",
|
|
"longname": "src/cookie.js~doc",
|
|
"access": null,
|
|
"export": false,
|
|
"importPath": "tablefilter/src/cookie.js",
|
|
"importStyle": null,
|
|
"description": "Cookie utilities",
|
|
"lineNumber": 7,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 23,
|
|
"kind": "file",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "src/dom.js",
|
|
"memberof": null,
|
|
"longname": "src/dom.js",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 1,
|
|
"content": "import {root} from './root';\nimport {isArray, isString, isUndef} from './types';\nimport {trim} from './string';\n\n/**\n * DOM utilities\n */\n\nconst doc = root.document;\n\n/**\n * Returns text + text of children of given node\n * @param {NodeElement} node\n * @return {String}\n */\nexport const getText = (node) => {\n if (isUndef(node.textContent)) {\n return trim(node.innerText);\n }\n return trim(node.textContent);\n}\n\n/**\n * Returns the first text node contained in the supplied node\n * @param {NodeElement} node node\n * @return {String}\n */\nexport const getFirstTextNode = (node) => {\n for (let i = 0; i < node.childNodes.length; i++) {\n let n = node.childNodes[i];\n if (n.nodeType === 3) {\n return n.data;\n }\n }\n}\n\n/**\n * Creates an html element with given collection of attributes\n * @param {String} tag a string of the html tag to create\n * @param {Array} an undetermined number of arrays containing the with 2\n * items, the attribute name and its value ['id','myId']\n * @return {Object} created element\n */\nexport const createElm = (...args) => {\n let tag = args[0];\n if (!isString(tag)) {\n return null;\n }\n\n let el = doc.createElement(tag);\n for (let i = 0; i < args.length; i++) {\n let arg = args[i];\n\n if (isArray(arg) && arg.length === 2) {\n el.setAttribute(arg[0], arg[1]);\n }\n }\n\n return el;\n}\n\n/**\n * Removes passed node from DOM\n * @param {DOMElement} node\n * @return {DOMElement} old node reference\n */\nexport const removeElm = (node) => node.parentNode.removeChild(node);\n\n/**\n * Returns a text node with given text\n * @param {String} txt\n * @return {Object}\n */\nexport const createText = (txt) => doc.createTextNode(txt);\n\n/**\n * Determine whether the passed elements is assigned the given class\n * @param {DOMElement} ele DOM element\n * @param {String} cls CSS class name\n * @returns {Boolean}\n */\nexport const hasClass = (ele, cls) => {\n if (isUndef(ele)) {\n return false;\n }\n\n if (supportsClassList()) {\n return ele.classList.contains(cls);\n }\n return ele.className.match(new RegExp('(\\\\s|^)' + cls + '(\\\\s|$)'));\n}\n\n/**\n * Adds the specified class to the passed element\n * @param {DOMElement} ele DOM element\n * @param {String} cls CSS class name\n */\nexport const addClass = (ele, cls) => {\n if (isUndef(ele)) {\n return;\n }\n\n if (supportsClassList()) {\n ele.classList.add(cls);\n return;\n }\n\n if (ele.className === '') {\n ele.className = cls;\n }\n else if (!hasClass(ele, cls)) {\n ele.className += ' ' + cls;\n }\n}\n\n/**\n * Removes the specified class to the passed element\n * @param {DOMElement} ele DOM element\n * @param {String} cls CSS class name\n */\nexport const removeClass = (ele, cls) => {\n if (isUndef(ele)) {\n return;\n }\n\n if (supportsClassList()) {\n ele.classList.remove(cls);\n return;\n }\n let reg = new RegExp('(\\\\s|^)' + cls + '(\\\\s|$)', 'g');\n ele.className = ele.className.replace(reg, '');\n}\n\n/**\n * Creates and returns an option element\n * @param {String} text option text\n * @param {String} value option value\n * @param {Boolean} isSel whether option is selected\n * @return {Object} option element\n */\nexport const createOpt = (text, value, isSel) => {\n let isSelected = isSel ? true : false;\n let opt = isSelected ?\n createElm('option', ['value', value], ['selected', 'true']) :\n createElm('option', ['value', value]);\n opt.appendChild(createText(text));\n return opt;\n}\n\n/**\n * Creates and returns a checklist item\n * @param {String} id index of check item\n * @param {String} chkValue check item value\n * @param {String} labelText check item label text\n * @return {Object} li DOM element\n */\nexport const createCheckItem = (id, chkValue, labelText) => {\n let li = createElm('li');\n let label = createElm('label', ['for', id]);\n let check = createElm('input',\n ['id', id],\n ['name', id],\n ['type', 'checkbox'],\n ['value', chkValue]\n );\n label.appendChild(check);\n label.appendChild(createText(labelText));\n li.appendChild(label);\n li.label = label;\n li.check = check;\n return li;\n}\n\n/**\n * Returns the element matching the supplied Id\n * @param {String} id Element identifier\n * @return {DOMElement}\n */\nexport const elm = (id) => doc.getElementById(id);\n\n/**\n * Returns list of element matching the supplied tag name\n * @param {String} tagname Tag name\n * @return {NodeList}\n */\nexport const tag = (o, tagname) => o.getElementsByTagName(tagname);\n\n// HTML5 classList API\nfunction supportsClassList() {\n return doc.documentElement.classList;\n}\n"
|
|
},
|
|
{
|
|
"__docId__": 24,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "doc",
|
|
"memberof": "src/dom.js",
|
|
"longname": "src/dom.js~doc",
|
|
"access": null,
|
|
"export": false,
|
|
"importPath": "tablefilter/src/dom.js",
|
|
"importStyle": null,
|
|
"description": "DOM utilities",
|
|
"lineNumber": 9,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 25,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "getText",
|
|
"memberof": "src/dom.js",
|
|
"longname": "src/dom.js~getText",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/dom.js",
|
|
"importStyle": "{getText}",
|
|
"description": "Returns text + text of children of given node",
|
|
"lineNumber": 16,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"NodeElement"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "node",
|
|
"description": ""
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": ""
|
|
},
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 26,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "getFirstTextNode",
|
|
"memberof": "src/dom.js",
|
|
"longname": "src/dom.js~getFirstTextNode",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/dom.js",
|
|
"importStyle": "{getFirstTextNode}",
|
|
"description": "Returns the first text node contained in the supplied node",
|
|
"lineNumber": 28,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"NodeElement"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "node",
|
|
"description": "node"
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": ""
|
|
},
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 27,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "createElm",
|
|
"memberof": "src/dom.js",
|
|
"longname": "src/dom.js~createElm",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/dom.js",
|
|
"importStyle": "{createElm}",
|
|
"description": "Creates an html element with given collection of attributes",
|
|
"lineNumber": 44,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "tag",
|
|
"description": "a string of the html tag to create"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "an",
|
|
"description": "undetermined number of arrays containing the with 2\n items, the attribute name and its value ['id','myId']"
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Object"
|
|
],
|
|
"spread": false,
|
|
"description": "created element"
|
|
},
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 28,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "removeElm",
|
|
"memberof": "src/dom.js",
|
|
"longname": "src/dom.js~removeElm",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/dom.js",
|
|
"importStyle": "{removeElm}",
|
|
"description": "Removes passed node from DOM",
|
|
"lineNumber": 67,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"DOMElement"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "node",
|
|
"description": ""
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"DOMElement"
|
|
],
|
|
"spread": false,
|
|
"description": "old node reference"
|
|
},
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 29,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "createText",
|
|
"memberof": "src/dom.js",
|
|
"longname": "src/dom.js~createText",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/dom.js",
|
|
"importStyle": "{createText}",
|
|
"description": "Returns a text node with given text",
|
|
"lineNumber": 74,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "txt",
|
|
"description": ""
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Object"
|
|
],
|
|
"spread": false,
|
|
"description": ""
|
|
},
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 30,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "hasClass",
|
|
"memberof": "src/dom.js",
|
|
"longname": "src/dom.js~hasClass",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/dom.js",
|
|
"importStyle": "{hasClass}",
|
|
"description": "Determine whether the passed elements is assigned the given class",
|
|
"lineNumber": 82,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@returns",
|
|
"tagValue": "{Boolean}"
|
|
}
|
|
],
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"DOMElement"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "ele",
|
|
"description": "DOM element"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "cls",
|
|
"description": "CSS class name"
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": ""
|
|
},
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 31,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "addClass",
|
|
"memberof": "src/dom.js",
|
|
"longname": "src/dom.js~addClass",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/dom.js",
|
|
"importStyle": "{addClass}",
|
|
"description": "Adds the specified class to the passed element",
|
|
"lineNumber": 98,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"DOMElement"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "ele",
|
|
"description": "DOM element"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "cls",
|
|
"description": "CSS class name"
|
|
}
|
|
],
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 32,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "removeClass",
|
|
"memberof": "src/dom.js",
|
|
"longname": "src/dom.js~removeClass",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/dom.js",
|
|
"importStyle": "{removeClass}",
|
|
"description": "Removes the specified class to the passed element",
|
|
"lineNumber": 121,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"DOMElement"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "ele",
|
|
"description": "DOM element"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "cls",
|
|
"description": "CSS class name"
|
|
}
|
|
],
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 33,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "createOpt",
|
|
"memberof": "src/dom.js",
|
|
"longname": "src/dom.js~createOpt",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/dom.js",
|
|
"importStyle": "{createOpt}",
|
|
"description": "Creates and returns an option element",
|
|
"lineNumber": 141,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "text",
|
|
"description": "option text"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "value",
|
|
"description": "option value"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "isSel",
|
|
"description": "whether option is selected"
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Object"
|
|
],
|
|
"spread": false,
|
|
"description": "option element"
|
|
},
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 34,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "createCheckItem",
|
|
"memberof": "src/dom.js",
|
|
"longname": "src/dom.js~createCheckItem",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/dom.js",
|
|
"importStyle": "{createCheckItem}",
|
|
"description": "Creates and returns a checklist item",
|
|
"lineNumber": 157,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "id",
|
|
"description": "index of check item"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "chkValue",
|
|
"description": "check item value"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "labelText",
|
|
"description": "check item label text"
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Object"
|
|
],
|
|
"spread": false,
|
|
"description": "li DOM element"
|
|
},
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 35,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "elm",
|
|
"memberof": "src/dom.js",
|
|
"longname": "src/dom.js~elm",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/dom.js",
|
|
"importStyle": "{elm}",
|
|
"description": "Returns the element matching the supplied Id",
|
|
"lineNumber": 179,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "id",
|
|
"description": "Element identifier"
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"DOMElement"
|
|
],
|
|
"spread": false,
|
|
"description": ""
|
|
},
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 36,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "tag",
|
|
"memberof": "src/dom.js",
|
|
"longname": "src/dom.js~tag",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/dom.js",
|
|
"importStyle": "{tag}",
|
|
"description": "Returns list of element matching the supplied tag name",
|
|
"lineNumber": 186,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "tagname",
|
|
"description": "Tag name"
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"NodeList"
|
|
],
|
|
"spread": false,
|
|
"description": ""
|
|
},
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 37,
|
|
"kind": "function",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "supportsClassList",
|
|
"memberof": "src/dom.js",
|
|
"longname": "src/dom.js~supportsClassList",
|
|
"access": null,
|
|
"export": false,
|
|
"importPath": "tablefilter/src/dom.js",
|
|
"importStyle": null,
|
|
"description": null,
|
|
"lineNumber": 189,
|
|
"undocument": true,
|
|
"params": [],
|
|
"return": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 38,
|
|
"kind": "file",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "src/emitter.js",
|
|
"memberof": null,
|
|
"longname": "src/emitter.js",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 4,
|
|
"content": "/**\n * Event emitter class\n */\nexport class Emitter {\n /**\n * Creates an instance of Emitter.\n */\n constructor() {\n /**\n * Events object\n * @type {Object}\n */\n this.events = {};\n }\n\n /**\n * Subscribe to an event\n * @param {Array} evts Collection of event names\n * @param {Function} fn Function invoked when event is emitted\n */\n on(evts, fn) {\n evts.forEach((evt) => {\n this.events[evt] = this.events[evt] || [];\n this.events[evt].push(fn);\n });\n }\n\n /**\n * Unsubscribe to an event\n * @param {Array} evts Collection of event names\n * @param {Function} fn Function invoked when event is emitted\n */\n off(evts, fn) {\n evts.forEach((evt) => {\n if (evt in this.events) {\n this.events[evt].splice(this.events[evt].indexOf(fn), 1);\n }\n });\n }\n\n /**\n * Emit an event\n * @param {String} evt Event name followed by any other argument passed to\n * the invoked function\n */\n emit(evt /*, args...*/) {\n if (evt in this.events) {\n for (let i = 0; i < this.events[evt].length; i++) {\n this.events[evt][i].apply(this, [].slice.call(arguments, 1));\n }\n }\n }\n}\n"
|
|
},
|
|
{
|
|
"__docId__": 39,
|
|
"kind": "class",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "Emitter",
|
|
"memberof": "src/emitter.js",
|
|
"longname": "src/emitter.js~Emitter",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/emitter.js",
|
|
"importStyle": "{Emitter}",
|
|
"description": "Event emitter class",
|
|
"lineNumber": 4,
|
|
"interface": false
|
|
},
|
|
{
|
|
"__docId__": 40,
|
|
"kind": "constructor",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "constructor",
|
|
"memberof": "src/emitter.js~Emitter",
|
|
"longname": "src/emitter.js~Emitter#constructor",
|
|
"access": null,
|
|
"description": "Creates an instance of Emitter.",
|
|
"lineNumber": 8,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 41,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "events",
|
|
"memberof": "src/emitter.js~Emitter",
|
|
"longname": "src/emitter.js~Emitter#events",
|
|
"access": null,
|
|
"description": "Events object",
|
|
"lineNumber": 13,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Object"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 42,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "on",
|
|
"memberof": "src/emitter.js~Emitter",
|
|
"longname": "src/emitter.js~Emitter#on",
|
|
"access": null,
|
|
"description": "Subscribe to an event",
|
|
"lineNumber": 21,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "evts",
|
|
"description": "Collection of event names"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Function"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "fn",
|
|
"description": "Function invoked when event is emitted"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 43,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "off",
|
|
"memberof": "src/emitter.js~Emitter",
|
|
"longname": "src/emitter.js~Emitter#off",
|
|
"access": null,
|
|
"description": "Unsubscribe to an event",
|
|
"lineNumber": 33,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "evts",
|
|
"description": "Collection of event names"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Function"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "fn",
|
|
"description": "Function invoked when event is emitted"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 44,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "emit",
|
|
"memberof": "src/emitter.js~Emitter",
|
|
"longname": "src/emitter.js~Emitter#emit",
|
|
"access": null,
|
|
"description": "Emit an event",
|
|
"lineNumber": 46,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "evt",
|
|
"description": "Event name followed by any other argument passed to\nthe invoked function"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 45,
|
|
"kind": "file",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "src/event.js",
|
|
"memberof": null,
|
|
"longname": "src/event.js",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 1,
|
|
"content": "import {root} from './root';\n\n/**\n * DOM event utilities\n */\n\n/**\n * Add event handler for specified event on passed element\n *\n * @param {DOMElement} obj Element\n * @param {String} type Event type\n * @param {Function} Handler\n * @param {Boolean} capture Specifiy whether the event should be executed in\n * the capturing or in the bubbling phase\n */\nexport const addEvt = (obj, type, func, capture) => {\n if (obj.addEventListener) {\n obj.addEventListener(type, func, capture);\n }\n else if (obj.attachEvent) {\n obj.attachEvent('on' + type, func);\n } else {\n obj['on' + type] = func;\n }\n};\n\n/**\n * Remove event handler for specified event on passed element\n *\n * @param {DOMElement} obj Element\n * @param {String} type Event type\n * @param {Function} Handler\n * @param {Boolean} capture Specifiy whether the event should be executed in\n * the capturing or in the bubbling phase\n */\nexport const removeEvt = (obj, type, func, capture) => {\n if (obj.removeEventListener) {\n obj.removeEventListener(type, func, capture);\n } else if (obj.detachEvent) {\n obj.detachEvent('on' + type, func);\n } else {\n obj['on' + type] = null;\n }\n};\n\n/**\n * Prevents further propagation of the current event in the bubbling phase\n *\n * @param {Event} evt Event on the DOM\n */\nexport const stopEvt = (evt) => {\n if (!evt) {\n evt = root.event;\n }\n if (evt.stopPropagation) {\n evt.stopPropagation();\n } else {\n evt.cancelBubble = true;\n }\n};\n\n/**\n * Cancels the event if it is cancelable, without stopping further\n * propagation of the event.\n *\n * @param {Event} evt Event on the DOM\n */\nexport const cancelEvt = (evt) => {\n if (!evt) {\n evt = root.event;\n }\n if (evt.preventDefault) {\n evt.preventDefault();\n } else {\n evt.returnValue = false;\n }\n};\n\n/**\n * Reference to the object that dispatched the event\n *\n * @param {Event} evt Event on the DOM\n * @returns {DOMElement}\n */\nexport const targetEvt = (evt) => {\n if (!evt) {\n evt = root.event;\n }\n return evt.target || evt.srcElement;\n};\n\n/**\n * Returns the Unicode value of pressed key\n *\n * @param {Event} evt Event on the DOM\n * @returns {Number}\n */\nexport const keyCode = (evt) => {\n return evt.charCode ? evt.charCode :\n (evt.keyCode ? evt.keyCode : (evt.which ? evt.which : 0));\n};\n"
|
|
},
|
|
{
|
|
"__docId__": 46,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "addEvt",
|
|
"memberof": "src/event.js",
|
|
"longname": "src/event.js~addEvt",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/event.js",
|
|
"importStyle": "{addEvt}",
|
|
"description": "Add event handler for specified event on passed element",
|
|
"lineNumber": 16,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"DOMElement"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "obj",
|
|
"description": "Element"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "type",
|
|
"description": "Event type"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Function"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "Handler",
|
|
"description": ""
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "capture",
|
|
"description": "Specifiy whether the event should be executed in\nthe capturing or in the bubbling phase"
|
|
}
|
|
],
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 47,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "removeEvt",
|
|
"memberof": "src/event.js",
|
|
"longname": "src/event.js~removeEvt",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/event.js",
|
|
"importStyle": "{removeEvt}",
|
|
"description": "Remove event handler for specified event on passed element",
|
|
"lineNumber": 36,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"DOMElement"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "obj",
|
|
"description": "Element"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "type",
|
|
"description": "Event type"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Function"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "Handler",
|
|
"description": ""
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "capture",
|
|
"description": "Specifiy whether the event should be executed in\nthe capturing or in the bubbling phase"
|
|
}
|
|
],
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 48,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "stopEvt",
|
|
"memberof": "src/event.js",
|
|
"longname": "src/event.js~stopEvt",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/event.js",
|
|
"importStyle": "{stopEvt}",
|
|
"description": "Prevents further propagation of the current event in the bubbling phase",
|
|
"lineNumber": 51,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Event"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "evt",
|
|
"description": "Event on the DOM"
|
|
}
|
|
],
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 49,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "cancelEvt",
|
|
"memberof": "src/event.js",
|
|
"longname": "src/event.js~cancelEvt",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/event.js",
|
|
"importStyle": "{cancelEvt}",
|
|
"description": "Cancels the event if it is cancelable, without stopping further\npropagation of the event.",
|
|
"lineNumber": 68,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Event"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "evt",
|
|
"description": "Event on the DOM"
|
|
}
|
|
],
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 50,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "targetEvt",
|
|
"memberof": "src/event.js",
|
|
"longname": "src/event.js~targetEvt",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/event.js",
|
|
"importStyle": "{targetEvt}",
|
|
"description": "Reference to the object that dispatched the event",
|
|
"lineNumber": 85,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@returns",
|
|
"tagValue": "{DOMElement}"
|
|
}
|
|
],
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Event"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "evt",
|
|
"description": "Event on the DOM"
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"DOMElement"
|
|
],
|
|
"spread": false,
|
|
"description": ""
|
|
},
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 51,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "keyCode",
|
|
"memberof": "src/event.js",
|
|
"longname": "src/event.js~keyCode",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/event.js",
|
|
"importStyle": "{keyCode}",
|
|
"description": "Returns the Unicode value of pressed key",
|
|
"lineNumber": 98,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@returns",
|
|
"tagValue": "{Number}"
|
|
}
|
|
],
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Event"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "evt",
|
|
"description": "Event on the DOM"
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"description": ""
|
|
},
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 52,
|
|
"kind": "file",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "src/extensions/advancedGrid/adapterEzEditTable.js",
|
|
"memberof": null,
|
|
"longname": "src/extensions/advancedGrid/adapterEzEditTable.js",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 1,
|
|
"content": "import {Feature} from '../../feature';\nimport {tag} from '../../dom';\nimport {INPUT} from '../../const';\nimport {root} from '../../root';\n\nconst INSTANTIATION_ERROR = `Failed to instantiate EditTable object.\n \\n\"ezEditTable\" dependency not found.`;\n\n/**\n * Adapter module for ezEditTable, an external library providing advanced\n * grid features (selection and edition):\n * http://codecanyon.net/item/ezedittable-enhance-html-tables/2425123?ref=koalyptus\n */\nexport default class AdapterEzEditTable extends Feature {\n\n /**\n * Creates an instance of AdapterEzEditTable\n *\n * @param {TableFilter} tf TableFilter instance\n * @param {Object} cfg Configuration options for ezEditTable library\n */\n constructor(tf, cfg) {\n super(tf, cfg.name);\n\n /**\n * Module description\n * @type {String}\n */\n this.desc = cfg.description || 'ezEditTable adapter';\n\n /**\n * Filename of ezEditTable library\n * @type {String}\n */\n this.filename = cfg.filename || 'ezEditTable.js';\n\n /**\n * Path to ezEditTable library\n * @type {String}\n */\n this.vendorPath = cfg.vendor_path;\n\n /**\n * Load ezEditTable stylesheet\n * @type {Boolean}\n */\n this.loadStylesheet = Boolean(cfg.load_stylesheet);\n\n /**\n * Path to ezEditTable stylesheet\n * @type {String}\n */\n this.stylesheet = cfg.stylesheet || this.vendorPath + 'ezEditTable.css';\n\n /**\n * Name of ezEditTable stylesheet\n * @type {String}\n */\n this.stylesheetName = cfg.stylesheet_name || 'ezEditTableCss';\n\n // Enable the ezEditTable's scroll into view behaviour if grid layout on\n cfg.scroll_into_view = cfg.scroll_into_view === false ?\n false : tf.gridLayout;\n\n /**\n * ezEditTable instance\n * @type {EditTable}\n * @private\n */\n this._ezEditTable = null;\n\n /**\n * ezEditTable configuration\n * @private\n */\n this.cfg = cfg;\n\n this.enable();\n }\n\n /**\n * Conditionally load ezEditTable library and set advanced grid\n */\n init() {\n if (this.initialized) {\n return;\n }\n let tf = this.tf;\n if (root.EditTable) {\n this._setAdvancedGrid();\n } else {\n let path = this.vendorPath + this.filename;\n tf.import(this.filename, path, () => this._setAdvancedGrid());\n }\n if (this.loadStylesheet && !tf.isImported(this.stylesheet, 'link')) {\n tf.import(this.stylesheetName, this.stylesheet, null, 'link');\n }\n\n // TODO: hack to prevent ezEditTable enter key event hijaking.\n // Needs to be fixed in the vendor's library\n this.emitter.on(['filter-focus', 'filter-blur'],\n () => this._toggleForInputFilter());\n\n /**\n * @inherited\n */\n this.initialized = true;\n }\n\n /**\n * Instantiate ezEditTable component for advanced grid features\n * @private\n */\n _setAdvancedGrid() {\n let tf = this.tf;\n\n //start row for EditTable constructor needs to be calculated\n let startRow,\n cfg = this.cfg,\n thead = tag(tf.tbl, 'thead');\n\n //if thead exists and startRow not specified, startRow is calculated\n //automatically by EditTable\n if (thead.length > 0 && !cfg.startRow) {\n startRow = undefined;\n }\n //otherwise startRow config property if any or TableFilter refRow\n else {\n startRow = cfg.startRow || tf.refRow;\n }\n\n cfg.base_path = cfg.base_path || tf.basePath + 'ezEditTable/';\n let editable = cfg.editable;\n let selectable = cfg.selection;\n\n if (selectable) {\n cfg.default_selection = cfg.default_selection || 'row';\n }\n //CSS Styles\n cfg.active_cell_css = cfg.active_cell_css || 'ezETSelectedCell';\n\n let _lastValidRowIndex = 0;\n let _lastRowIndex = 0;\n\n if (selectable) {\n //Row navigation needs to be calculated according to TableFilter's\n //validRowsIndex array\n let onAfterSelection = function (et, selectedElm, e) {\n let slc = et.Selection;\n //Next valid filtered row needs to be selected\n let doSelect = function (nextRowIndex) {\n if (et.defaultSelection === 'row') {\n /* eslint-disable */\n slc.SelectRowByIndex(nextRowIndex);\n /* eslint-enable */\n } else {\n /* eslint-disable */\n et.ClearSelections();\n /* eslint-enable */\n let cellIndex = selectedElm.cellIndex,\n row = tf.tbl.rows[nextRowIndex];\n if (et.defaultSelection === 'both') {\n /* eslint-disable */\n slc.SelectRowByIndex(nextRowIndex);\n /* eslint-enable */\n }\n if (row) {\n /* eslint-disable */\n slc.SelectCell(row.cells[cellIndex]);\n /* eslint-enable */\n }\n }\n //Table is filtered\n if (tf.validRowsIndex.length !== tf.getRowsNb()) {\n let r = tf.tbl.rows[nextRowIndex];\n if (r) {\n r.scrollIntoView(false);\n }\n if (cell) {\n if (cell.cellIndex === (tf.getCellsNb() - 1) &&\n tf.gridLayout) {\n tf.tblCont.scrollLeft = 100000000;\n }\n else if (cell.cellIndex === 0 && tf.gridLayout) {\n tf.tblCont.scrollLeft = 0;\n } else {\n cell.scrollIntoView(false);\n }\n }\n }\n };\n\n //table is not filtered\n if (!tf.validRowsIndex) {\n return;\n }\n let validIndexes = tf.validRowsIndex,\n validIdxLen = validIndexes.length,\n row = et.defaultSelection !== 'row' ?\n selectedElm.parentNode : selectedElm,\n //cell for default_selection = 'both' or 'cell'\n cell = selectedElm.nodeName === 'TD' ? selectedElm : null,\n /* eslint-disable */\n keyCode = e !== undefined ? et.Event.GetKey(e) : 0,\n /* eslint-enable */\n isRowValid = validIndexes.indexOf(row.rowIndex) !== -1,\n nextRowIndex,\n paging = tf.feature('paging'),\n //pgup/pgdown keys\n d = (keyCode === 34 || keyCode === 33 ?\n (paging && paging.pagingLength || et.nbRowsPerPage) :\n 1);\n\n //If next row is not valid, next valid filtered row needs to be\n //calculated\n if (!isRowValid) {\n //Selection direction up/down\n if (row.rowIndex > _lastRowIndex) {\n //last row\n if (row.rowIndex >= validIndexes[validIdxLen - 1]) {\n nextRowIndex = validIndexes[validIdxLen - 1];\n } else {\n let calcRowIndex = (_lastValidRowIndex + d);\n if (calcRowIndex > (validIdxLen - 1)) {\n nextRowIndex = validIndexes[validIdxLen - 1];\n } else {\n nextRowIndex = validIndexes[calcRowIndex];\n }\n }\n } else {\n //first row\n if (row.rowIndex <= validIndexes[0]) {\n nextRowIndex = validIndexes[0];\n } else {\n let v = validIndexes[_lastValidRowIndex - d];\n nextRowIndex = v ? v : validIndexes[0];\n }\n }\n _lastRowIndex = row.rowIndex;\n doSelect(nextRowIndex);\n } else {\n //If filtered row is valid, special calculation for\n //pgup/pgdown keys\n if (keyCode !== 34 && keyCode !== 33) {\n _lastValidRowIndex = validIndexes.indexOf(row.rowIndex);\n _lastRowIndex = row.rowIndex;\n } else {\n if (keyCode === 34) { //pgdown\n //last row\n if ((_lastValidRowIndex + d) <= (validIdxLen - 1)) {\n nextRowIndex = validIndexes[\n _lastValidRowIndex + d];\n } else {\n nextRowIndex = [validIdxLen - 1];\n }\n } else { //pgup\n //first row\n if ((_lastValidRowIndex - d) <= validIndexes[0]) {\n nextRowIndex = validIndexes[0];\n } else {\n nextRowIndex = validIndexes[\n _lastValidRowIndex - d];\n }\n }\n _lastRowIndex = nextRowIndex;\n _lastValidRowIndex = validIndexes.indexOf(nextRowIndex);\n doSelect(nextRowIndex);\n }\n }\n };\n\n //Page navigation has to be enforced whenever selected row is out of\n //the current page range\n let onBeforeSelection = function (et, selectedElm) {\n let row = et.defaultSelection !== 'row' ?\n selectedElm.parentNode : selectedElm;\n if (tf.paging) {\n if (tf.feature('paging').nbPages > 1) {\n let paging = tf.feature('paging');\n //page length is re-assigned in case it has changed\n et.nbRowsPerPage = paging.pagingLength;\n let validIndexes = tf.validRowsIndex,\n validIdxLen = validIndexes.length,\n pagingEndRow = parseInt(paging.startPagingRow, 10) +\n parseInt(paging.pagingLength, 10);\n let rowIndex = row.rowIndex;\n\n if ((rowIndex === validIndexes[validIdxLen - 1]) &&\n paging.currentPageNb !== paging.nbPages) {\n paging.setPage('last');\n }\n else if ((rowIndex === validIndexes[0]) &&\n paging.currentPageNb !== 1) {\n paging.setPage('first');\n }\n else if (rowIndex > validIndexes[pagingEndRow - 1] &&\n rowIndex < validIndexes[validIdxLen - 1]) {\n paging.setPage('next');\n }\n else if (\n rowIndex < validIndexes[paging.startPagingRow] &&\n rowIndex > validIndexes[0]) {\n paging.setPage('previous');\n }\n }\n }\n };\n\n //Selected row needs to be visible when paging is activated\n if (tf.paging) {\n tf.feature('paging').onAfterChangePage = function (paging) {\n let advGrid = paging.tf.extension('advancedGrid');\n let et = advGrid._ezEditTable;\n let slc = et.Selection;\n /* eslint-disable */\n let row = slc.GetActiveRow();\n /* eslint-enable */\n if (row) {\n row.scrollIntoView(false);\n }\n /* eslint-disable */\n let cell = slc.GetActiveCell();\n /* eslint-enable */\n if (cell) {\n cell.scrollIntoView(false);\n }\n };\n }\n\n //Rows navigation when rows are filtered is performed with the\n //EditTable row selection callback events\n if (cfg.default_selection === 'row') {\n let fnB = cfg.on_before_selected_row;\n cfg.on_before_selected_row = function () {\n onBeforeSelection(arguments[0], arguments[1], arguments[2]);\n if (fnB) {\n fnB.call(\n null, arguments[0], arguments[1], arguments[2]);\n }\n };\n let fnA = cfg.on_after_selected_row;\n cfg.on_after_selected_row = function () {\n onAfterSelection(arguments[0], arguments[1], arguments[2]);\n if (fnA) {\n fnA.call(\n null, arguments[0], arguments[1], arguments[2]);\n }\n };\n } else {\n let fnD = cfg.on_before_selected_cell;\n cfg.on_before_selected_cell = function () {\n onBeforeSelection(arguments[0], arguments[1], arguments[2]);\n if (fnD) {\n fnD.call(\n null, arguments[0], arguments[1], arguments[2]);\n }\n };\n let fnC = cfg.on_after_selected_cell;\n cfg.on_after_selected_cell = function () {\n onAfterSelection(arguments[0], arguments[1], arguments[2]);\n if (fnC) {\n fnC.call(\n null, arguments[0], arguments[1], arguments[2]);\n }\n };\n }\n }\n if (editable) {\n //Added or removed rows, TF rows number needs to be re-calculated\n let fnE = cfg.on_added_dom_row;\n cfg.on_added_dom_row = function () {\n tf.nbFilterableRows++;\n if (!tf.paging) {\n tf.emitter.emit('rows-changed', tf, this);\n } else {\n tf.nbFilterableRows++;\n tf.paging = false;\n tf.feature('paging').destroy();\n tf.feature('paging').reset();\n }\n if (tf.alternateRows) {\n tf.feature('alternateRows').init();\n }\n if (fnE) {\n fnE.call(null, arguments[0], arguments[1], arguments[2]);\n }\n };\n if (cfg.actions && cfg.actions['delete']) {\n let fnF = cfg.actions['delete'].on_after_submit;\n cfg.actions['delete'].on_after_submit = function () {\n tf.nbFilterableRows--;\n if (!tf.paging) {\n tf.emitter.emit('rows-changed', tf, this);\n } else {\n tf.nbFilterableRows--;\n tf.paging = false;\n tf.feature('paging').destroy();\n tf.feature('paging').reset(false);\n }\n if (tf.alternateRows) {\n tf.feature('alternateRows').init();\n }\n if (fnF) {\n fnF.call(null, arguments[0], arguments[1]);\n }\n };\n }\n }\n\n try {\n /* eslint-disable */\n this._ezEditTable = new EditTable(tf.id, cfg, startRow);\n this._ezEditTable.Init();\n /* eslint-enable */\n } catch (e) { throw new Error(INSTANTIATION_ERROR); }\n\n this.initialized = true;\n }\n\n /**\n * Reset advanced grid when previously removed\n */\n reset() {\n let ezEditTable = this._ezEditTable;\n if (ezEditTable) {\n if (this.cfg.selection) {\n /* eslint-disable */\n ezEditTable.Selection.Set();\n /* eslint-enable */\n }\n if (this.cfg.editable) {\n /* eslint-disable */\n ezEditTable.Editable.Set();\n /* eslint-enable */\n }\n }\n }\n\n /**\n * Toggle behaviour\n */\n toggle() {\n let ezEditTable = this._ezEditTable;\n if (ezEditTable.editable) {\n /* eslint-disable */\n ezEditTable.Editable.Remove();\n /* eslint-enable */\n } else {\n /* eslint-disable */\n ezEditTable.Editable.Set();\n /* eslint-enable */\n }\n if (ezEditTable.selection) {\n /* eslint-disable */\n ezEditTable.Selection.Remove();\n /* eslint-enable */\n } else {\n /* eslint-disable */\n ezEditTable.Selection.Set();\n /* eslint-enable */\n }\n }\n\n _toggleForInputFilter() {\n let tf = this.tf;\n if (!tf.getActiveFilterId()) {\n return;\n }\n let colIndex = tf.getColumnIndexFromFilterId(tf.getActiveFilterId());\n let filterType = tf.getFilterType(colIndex);\n if (filterType === INPUT) {\n this.toggle();\n }\n }\n\n /**\n * Remove advanced grid\n */\n destroy() {\n if (!this.initialized) {\n return;\n }\n let ezEditTable = this._ezEditTable;\n if (ezEditTable) {\n if (this.cfg.selection) {\n /* eslint-disable */\n ezEditTable.Selection.ClearSelections();\n ezEditTable.Selection.Remove();\n /* eslint-enable */\n }\n if (this.cfg.editable) {\n /* eslint-disable */\n ezEditTable.Editable.Remove();\n /* eslint-enable */\n }\n }\n\n this.emitter.off(['filter-focus', 'filter-blur'],\n () => this._toggleForInputFilter());\n this.initialized = false;\n }\n}\n"
|
|
},
|
|
{
|
|
"__docId__": 53,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "INSTANTIATION_ERROR",
|
|
"memberof": "src/extensions/advancedGrid/adapterEzEditTable.js",
|
|
"longname": "src/extensions/advancedGrid/adapterEzEditTable.js~INSTANTIATION_ERROR",
|
|
"access": null,
|
|
"export": false,
|
|
"importPath": "tablefilter/src/extensions/advancedGrid/adapterEzEditTable.js",
|
|
"importStyle": null,
|
|
"description": null,
|
|
"lineNumber": 6,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 54,
|
|
"kind": "class",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "AdapterEzEditTable",
|
|
"memberof": "src/extensions/advancedGrid/adapterEzEditTable.js",
|
|
"longname": "src/extensions/advancedGrid/adapterEzEditTable.js~AdapterEzEditTable",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/extensions/advancedGrid/adapterEzEditTable.js",
|
|
"importStyle": "AdapterEzEditTable",
|
|
"description": "Adapter module for ezEditTable, an external library providing advanced\ngrid features (selection and edition):\nhttp://codecanyon.net/item/ezedittable-enhance-html-tables/2425123?ref=koalyptus",
|
|
"lineNumber": 14,
|
|
"interface": false,
|
|
"extends": [
|
|
"src/feature.js~Feature"
|
|
]
|
|
},
|
|
{
|
|
"__docId__": 55,
|
|
"kind": "constructor",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "constructor",
|
|
"memberof": "src/extensions/advancedGrid/adapterEzEditTable.js~AdapterEzEditTable",
|
|
"longname": "src/extensions/advancedGrid/adapterEzEditTable.js~AdapterEzEditTable#constructor",
|
|
"access": null,
|
|
"description": "Creates an instance of AdapterEzEditTable",
|
|
"lineNumber": 22,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"TableFilter"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "tf",
|
|
"description": "TableFilter instance"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Object"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "cfg",
|
|
"description": "Configuration options for ezEditTable library"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 56,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "desc",
|
|
"memberof": "src/extensions/advancedGrid/adapterEzEditTable.js~AdapterEzEditTable",
|
|
"longname": "src/extensions/advancedGrid/adapterEzEditTable.js~AdapterEzEditTable#desc",
|
|
"access": null,
|
|
"description": "Module description",
|
|
"lineNumber": 29,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 57,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "filename",
|
|
"memberof": "src/extensions/advancedGrid/adapterEzEditTable.js~AdapterEzEditTable",
|
|
"longname": "src/extensions/advancedGrid/adapterEzEditTable.js~AdapterEzEditTable#filename",
|
|
"access": null,
|
|
"description": "Filename of ezEditTable library",
|
|
"lineNumber": 35,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 58,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "vendorPath",
|
|
"memberof": "src/extensions/advancedGrid/adapterEzEditTable.js~AdapterEzEditTable",
|
|
"longname": "src/extensions/advancedGrid/adapterEzEditTable.js~AdapterEzEditTable#vendorPath",
|
|
"access": null,
|
|
"description": "Path to ezEditTable library",
|
|
"lineNumber": 41,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 59,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "loadStylesheet",
|
|
"memberof": "src/extensions/advancedGrid/adapterEzEditTable.js~AdapterEzEditTable",
|
|
"longname": "src/extensions/advancedGrid/adapterEzEditTable.js~AdapterEzEditTable#loadStylesheet",
|
|
"access": null,
|
|
"description": "Load ezEditTable stylesheet",
|
|
"lineNumber": 47,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 60,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "stylesheet",
|
|
"memberof": "src/extensions/advancedGrid/adapterEzEditTable.js~AdapterEzEditTable",
|
|
"longname": "src/extensions/advancedGrid/adapterEzEditTable.js~AdapterEzEditTable#stylesheet",
|
|
"access": null,
|
|
"description": "Path to ezEditTable stylesheet",
|
|
"lineNumber": 53,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 61,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "stylesheetName",
|
|
"memberof": "src/extensions/advancedGrid/adapterEzEditTable.js~AdapterEzEditTable",
|
|
"longname": "src/extensions/advancedGrid/adapterEzEditTable.js~AdapterEzEditTable#stylesheetName",
|
|
"access": null,
|
|
"description": "Name of ezEditTable stylesheet",
|
|
"lineNumber": 59,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 62,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "_ezEditTable",
|
|
"memberof": "src/extensions/advancedGrid/adapterEzEditTable.js~AdapterEzEditTable",
|
|
"longname": "src/extensions/advancedGrid/adapterEzEditTable.js~AdapterEzEditTable#_ezEditTable",
|
|
"access": "private",
|
|
"description": "ezEditTable instance",
|
|
"lineNumber": 70,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"EditTable"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 63,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "cfg",
|
|
"memberof": "src/extensions/advancedGrid/adapterEzEditTable.js~AdapterEzEditTable",
|
|
"longname": "src/extensions/advancedGrid/adapterEzEditTable.js~AdapterEzEditTable#cfg",
|
|
"access": "private",
|
|
"description": "ezEditTable configuration",
|
|
"lineNumber": 76,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 64,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "init",
|
|
"memberof": "src/extensions/advancedGrid/adapterEzEditTable.js~AdapterEzEditTable",
|
|
"longname": "src/extensions/advancedGrid/adapterEzEditTable.js~AdapterEzEditTable#init",
|
|
"access": null,
|
|
"description": "Conditionally load ezEditTable library and set advanced grid",
|
|
"lineNumber": 84,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 65,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "initialized",
|
|
"memberof": "src/extensions/advancedGrid/adapterEzEditTable.js~AdapterEzEditTable",
|
|
"longname": "src/extensions/advancedGrid/adapterEzEditTable.js~AdapterEzEditTable#initialized",
|
|
"access": null,
|
|
"description": "",
|
|
"lineNumber": 107,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@inherited",
|
|
"tagValue": ""
|
|
}
|
|
],
|
|
"type": {
|
|
"types": [
|
|
"boolean"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 66,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "_setAdvancedGrid",
|
|
"memberof": "src/extensions/advancedGrid/adapterEzEditTable.js~AdapterEzEditTable",
|
|
"longname": "src/extensions/advancedGrid/adapterEzEditTable.js~AdapterEzEditTable#_setAdvancedGrid",
|
|
"access": "private",
|
|
"description": "Instantiate ezEditTable component for advanced grid features",
|
|
"lineNumber": 114,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 67,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "_ezEditTable",
|
|
"memberof": "src/extensions/advancedGrid/adapterEzEditTable.js~AdapterEzEditTable",
|
|
"longname": "src/extensions/advancedGrid/adapterEzEditTable.js~AdapterEzEditTable#_ezEditTable",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 412,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 68,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "initialized",
|
|
"memberof": "src/extensions/advancedGrid/adapterEzEditTable.js~AdapterEzEditTable",
|
|
"longname": "src/extensions/advancedGrid/adapterEzEditTable.js~AdapterEzEditTable#initialized",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 417,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"boolean"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 69,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "reset",
|
|
"memberof": "src/extensions/advancedGrid/adapterEzEditTable.js~AdapterEzEditTable",
|
|
"longname": "src/extensions/advancedGrid/adapterEzEditTable.js~AdapterEzEditTable#reset",
|
|
"access": null,
|
|
"description": "Reset advanced grid when previously removed",
|
|
"lineNumber": 423,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 70,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "toggle",
|
|
"memberof": "src/extensions/advancedGrid/adapterEzEditTable.js~AdapterEzEditTable",
|
|
"longname": "src/extensions/advancedGrid/adapterEzEditTable.js~AdapterEzEditTable#toggle",
|
|
"access": null,
|
|
"description": "Toggle behaviour",
|
|
"lineNumber": 442,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 71,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "_toggleForInputFilter",
|
|
"memberof": "src/extensions/advancedGrid/adapterEzEditTable.js~AdapterEzEditTable",
|
|
"longname": "src/extensions/advancedGrid/adapterEzEditTable.js~AdapterEzEditTable#_toggleForInputFilter",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 464,
|
|
"undocument": true,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 72,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "destroy",
|
|
"memberof": "src/extensions/advancedGrid/adapterEzEditTable.js~AdapterEzEditTable",
|
|
"longname": "src/extensions/advancedGrid/adapterEzEditTable.js~AdapterEzEditTable#destroy",
|
|
"access": null,
|
|
"description": "Remove advanced grid",
|
|
"lineNumber": 479,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 73,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "initialized",
|
|
"memberof": "src/extensions/advancedGrid/adapterEzEditTable.js~AdapterEzEditTable",
|
|
"longname": "src/extensions/advancedGrid/adapterEzEditTable.js~AdapterEzEditTable#initialized",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 500,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"boolean"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 74,
|
|
"kind": "file",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "src/extensions/advancedGrid/advancedGrid.js",
|
|
"memberof": null,
|
|
"longname": "src/extensions/advancedGrid/advancedGrid.js",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 1,
|
|
"content": "import AdapterEzEditTable from './adapterEzEditTable';\n\nexport default AdapterEzEditTable;"
|
|
},
|
|
{
|
|
"__docId__": 75,
|
|
"kind": "file",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "src/extensions/colOps/colOps.js",
|
|
"memberof": null,
|
|
"longname": "src/extensions/colOps/colOps.js",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 1,
|
|
"content": "import {Feature} from '../../feature';\nimport {createText, elm} from '../../dom';\nimport {isArray, isFn, isUndef, EMPTY_FN} from '../../types';\n\nconst EVENTS = [\n 'after-filtering',\n 'after-page-change',\n 'after-page-length-change'\n];\n\n/**\n * Column calculations extension\n */\nexport default class ColOps extends Feature {\n\n /**\n * Creates an instance of ColOps\n *\n * @param {TableFilter} tf TableFilter instance\n * @param {Object} opts Configuration object\n */\n constructor(tf, opts) {\n super(tf, opts.name);\n\n /**\n * Callback fired before columns operations start\n * @type {Function}\n */\n this.onBeforeOperation = isFn(opts.on_before_operation) ?\n opts.on_before_operation : EMPTY_FN;\n\n /**\n * Callback fired after columns operations are completed\n * @type {Function}\n */\n this.onAfterOperation = isFn(opts.on_after_operation) ?\n opts.on_after_operation : EMPTY_FN;\n\n /**\n * Configuration options\n * @type {Object}\n */\n this.opts = opts;\n\n this.enable();\n }\n\n /**\n * Initializes ColOps instance\n */\n init() {\n if (this.initialized) {\n return;\n }\n // subscribe to events\n this.emitter.on(EVENTS, () => this.calc());\n\n this.calc();\n\n /**\n * @inherited\n */\n this.initialized = true;\n }\n\n /**\n * Calculates columns' values\n * Configuration options are stored in 'opts' property\n * - 'id' contains ids of elements showing result (array)\n * - 'col' contains the columns' indexes (array)\n * - 'operation' contains operation type (array, values: 'sum', 'mean',\n * 'min', 'max', 'median', 'q1', 'q3')\n * - 'write_method' array defines which method to use for displaying the\n * result (innerHTML, setValue, createTextNode) - default: 'innerHTML'\n * - 'tot_row_index' defines in which row results are displayed\n * (integers array)\n *\n * - changes made by Nuovella:\n * (1) optimized the routine (now it will only process each column once),\n * (2) added calculations for the median, lower and upper quartile.\n */\n calc() {\n let tf = this.tf;\n if (!tf.isInitialized()) {\n return;\n }\n\n this.onBeforeOperation(tf, this);\n this.emitter.emit('before-column-operation', tf, this);\n\n let opts = this.opts,\n labelId = opts.id,\n colIndex = opts.col,\n operation = opts.operation,\n outputType = opts.write_method,\n totRowIndex = opts.tot_row_index,\n excludeRow = opts.exclude_row,\n decimalPrecision = isUndef(opts.decimal_precision) ?\n 2 : opts.decimal_precision;\n\n //nuovella: determine unique list of columns to operate on\n let ucolIndex = [],\n ucolMax = 0;\n ucolIndex[ucolMax] = colIndex[0];\n\n for (let ii = 1; ii < colIndex.length; ii++) {\n let saved = 0;\n //see if colIndex[ii] is already in the list of unique indexes\n for (let jj = 0; jj <= ucolMax; jj++) {\n if (ucolIndex[jj] === colIndex[ii]) {\n saved = 1;\n }\n }\n //if not saved then, save the index;\n if (saved === 0) {\n ucolMax++;\n ucolIndex[ucolMax] = colIndex[ii];\n }\n }\n\n if (isArray(labelId) && isArray(colIndex) && isArray(operation)) {\n let rows = tf.tbl.rows,\n colvalues = [],\n ucol = 0;\n\n for (; ucol <= ucolMax; ucol++) {\n //this retrieves col values\n //use ucolIndex because we only want to pass through this loop\n //once for each column get the values in this unique column\n colvalues.push(\n tf.getColValues(ucolIndex[ucol], false, true, excludeRow)\n );\n\n //next: calculate all operations for this column\n let result,\n nbvalues = 0,\n temp,\n meanValue = 0,\n sumValue = 0,\n minValue = null,\n maxValue = null,\n q1Value = null,\n medValue = null,\n q3Value = null,\n meanFlag = 0,\n sumFlag = 0,\n minFlag = 0,\n maxFlag = 0,\n q1Flag = 0,\n medFlag = 0,\n q3Flag = 0,\n theList = [],\n opsThisCol = [],\n decThisCol = [],\n labThisCol = [],\n oTypeThisCol = [],\n mThisCol = -1,\n k = 0,\n j = 0,\n i = 0;\n\n for (; k < colIndex.length; k++) {\n if (colIndex[k] === ucolIndex[ucol]) {\n mThisCol++;\n opsThisCol[mThisCol] = operation[k].toLowerCase();\n decThisCol[mThisCol] = decimalPrecision[k];\n labThisCol[mThisCol] = labelId[k];\n oTypeThisCol = isArray(outputType) ?\n outputType[k] : null;\n\n switch (opsThisCol[mThisCol]) {\n case 'mean':\n meanFlag = 1;\n break;\n case 'sum':\n sumFlag = 1;\n break;\n case 'min':\n minFlag = 1;\n break;\n case 'max':\n maxFlag = 1;\n break;\n case 'median':\n medFlag = 1;\n break;\n case 'q1':\n q1Flag = 1;\n break;\n case 'q3':\n q3Flag = 1;\n break;\n }\n }\n }\n\n for (; j < colvalues[ucol].length; j++) {\n //sort the list for calculation of median and quartiles\n if ((q1Flag === 1) || (q3Flag === 1) || (medFlag === 1)) {\n if (j < colvalues[ucol].length - 1) {\n for (k = j + 1; k < colvalues[ucol].length; k++) {\n /* eslint-disable */\n if (eval(colvalues[ucol][k]) <\n eval(colvalues[ucol][j])) {\n /* eslint-enable */\n temp = colvalues[ucol][j];\n colvalues[ucol][j] = colvalues[ucol][k];\n colvalues[ucol][k] = temp;\n }\n }\n }\n }\n let cvalue = parseFloat(colvalues[ucol][j]);\n theList[j] = parseFloat(cvalue);\n\n if (!isNaN(cvalue)) {\n nbvalues++;\n if (sumFlag === 1 || meanFlag === 1) {\n sumValue += parseFloat(cvalue);\n }\n if (minFlag === 1) {\n if (minValue === null) {\n minValue = parseFloat(cvalue);\n } else {\n minValue = parseFloat(cvalue) < minValue ?\n parseFloat(cvalue) : minValue;\n }\n }\n if (maxFlag === 1) {\n if (maxValue === null) {\n maxValue = parseFloat(cvalue);\n } else {\n maxValue = parseFloat(cvalue) > maxValue ?\n parseFloat(cvalue) : maxValue;\n }\n }\n }\n }//for j\n if (meanFlag === 1) {\n meanValue = sumValue / nbvalues;\n }\n if (medFlag === 1) {\n let aux = 0;\n if (nbvalues % 2 === 1) {\n aux = Math.floor(nbvalues / 2);\n medValue = theList[aux];\n } else {\n medValue = (theList[nbvalues / 2] +\n theList[((nbvalues / 2) - 1)]) / 2;\n }\n }\n let posa;\n if (q1Flag === 1) {\n posa = 0.0;\n posa = Math.floor(nbvalues / 4);\n if (4 * posa === nbvalues) {\n q1Value = (theList[posa - 1] + theList[posa]) / 2;\n } else {\n q1Value = theList[posa];\n }\n }\n if (q3Flag === 1) {\n posa = 0.0;\n let posb = 0.0;\n posa = Math.floor(nbvalues / 4);\n if (4 * posa === nbvalues) {\n posb = 3 * posa;\n q3Value = (theList[posb] + theList[posb - 1]) / 2;\n } else {\n q3Value = theList[nbvalues - posa - 1];\n }\n }\n\n for (; i <= mThisCol; i++) {\n switch (opsThisCol[i]) {\n case 'mean':\n result = meanValue;\n break;\n case 'sum':\n result = sumValue;\n break;\n case 'min':\n result = minValue;\n break;\n case 'max':\n result = maxValue;\n break;\n case 'median':\n result = medValue;\n break;\n case 'q1':\n result = q1Value;\n break;\n case 'q3':\n result = q3Value;\n break;\n }\n\n let precision = !isNaN(decThisCol[i]) ? decThisCol[i] : 2;\n\n //if outputType is defined\n if (oTypeThisCol && result) {\n result = result.toFixed(precision);\n\n if (elm(labThisCol[i])) {\n switch (oTypeThisCol.toLowerCase()) {\n case 'innerhtml':\n if (isNaN(result) || !isFinite(result) ||\n nbvalues === 0) {\n elm(labThisCol[i]).innerHTML = '.';\n } else {\n elm(labThisCol[i]).innerHTML = result;\n }\n break;\n case 'setvalue':\n elm(labThisCol[i]).value = result;\n break;\n case 'createtextnode':\n let oldnode =\n elm(labThisCol[i]).firstChild;\n let txtnode = createText(result);\n elm(labThisCol[i])\n .replaceChild(txtnode, oldnode);\n break;\n }//switch\n }\n } else {\n try {\n if (isNaN(result) || !isFinite(result) ||\n nbvalues === 0) {\n elm(labThisCol[i]).innerHTML = '.';\n } else {\n elm(labThisCol[i]).innerHTML =\n result.toFixed(precision);\n }\n } catch (e) { }//catch\n }//else\n }//for i\n\n // row(s) with result are always visible\n let totRow = totRowIndex && totRowIndex[ucol] ?\n rows[totRowIndex[ucol]] : null;\n if (totRow) {\n totRow.style.display = '';\n }\n }//for ucol\n }//if typeof\n\n this.onAfterOperation(tf, this);\n this.emitter.emit('after-column-operation', tf, this);\n }\n\n /**\n * Remove extension\n */\n destroy() {\n if (!this.initialized) {\n return;\n }\n // unsubscribe to events\n this.emitter.off(EVENTS, () => this.calc());\n\n this.initialized = false;\n }\n\n}\n"
|
|
},
|
|
{
|
|
"__docId__": 76,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "EVENTS",
|
|
"memberof": "src/extensions/colOps/colOps.js",
|
|
"longname": "src/extensions/colOps/colOps.js~EVENTS",
|
|
"access": null,
|
|
"export": false,
|
|
"importPath": "tablefilter/src/extensions/colOps/colOps.js",
|
|
"importStyle": null,
|
|
"description": null,
|
|
"lineNumber": 5,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 77,
|
|
"kind": "class",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "ColOps",
|
|
"memberof": "src/extensions/colOps/colOps.js",
|
|
"longname": "src/extensions/colOps/colOps.js~ColOps",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/extensions/colOps/colOps.js",
|
|
"importStyle": "ColOps",
|
|
"description": "Column calculations extension",
|
|
"lineNumber": 14,
|
|
"interface": false,
|
|
"extends": [
|
|
"src/feature.js~Feature"
|
|
]
|
|
},
|
|
{
|
|
"__docId__": 78,
|
|
"kind": "constructor",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "constructor",
|
|
"memberof": "src/extensions/colOps/colOps.js~ColOps",
|
|
"longname": "src/extensions/colOps/colOps.js~ColOps#constructor",
|
|
"access": null,
|
|
"description": "Creates an instance of ColOps",
|
|
"lineNumber": 22,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"TableFilter"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "tf",
|
|
"description": "TableFilter instance"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Object"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "opts",
|
|
"description": "Configuration object"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 79,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "onBeforeOperation",
|
|
"memberof": "src/extensions/colOps/colOps.js~ColOps",
|
|
"longname": "src/extensions/colOps/colOps.js~ColOps#onBeforeOperation",
|
|
"access": null,
|
|
"description": "Callback fired before columns operations start",
|
|
"lineNumber": 29,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Function"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 80,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "onAfterOperation",
|
|
"memberof": "src/extensions/colOps/colOps.js~ColOps",
|
|
"longname": "src/extensions/colOps/colOps.js~ColOps#onAfterOperation",
|
|
"access": null,
|
|
"description": "Callback fired after columns operations are completed",
|
|
"lineNumber": 36,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Function"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 81,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "opts",
|
|
"memberof": "src/extensions/colOps/colOps.js~ColOps",
|
|
"longname": "src/extensions/colOps/colOps.js~ColOps#opts",
|
|
"access": null,
|
|
"description": "Configuration options",
|
|
"lineNumber": 43,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Object"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 82,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "init",
|
|
"memberof": "src/extensions/colOps/colOps.js~ColOps",
|
|
"longname": "src/extensions/colOps/colOps.js~ColOps#init",
|
|
"access": null,
|
|
"description": "Initializes ColOps instance",
|
|
"lineNumber": 51,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 83,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "initialized",
|
|
"memberof": "src/extensions/colOps/colOps.js~ColOps",
|
|
"longname": "src/extensions/colOps/colOps.js~ColOps#initialized",
|
|
"access": null,
|
|
"description": "",
|
|
"lineNumber": 63,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@inherited",
|
|
"tagValue": ""
|
|
}
|
|
],
|
|
"type": {
|
|
"types": [
|
|
"boolean"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 84,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "calc",
|
|
"memberof": "src/extensions/colOps/colOps.js~ColOps",
|
|
"longname": "src/extensions/colOps/colOps.js~ColOps#calc",
|
|
"access": null,
|
|
"description": "Calculates columns' values\nConfiguration options are stored in 'opts' property\n- 'id' contains ids of elements showing result (array)\n- 'col' contains the columns' indexes (array)\n- 'operation' contains operation type (array, values: 'sum', 'mean',\n 'min', 'max', 'median', 'q1', 'q3')\n- 'write_method' array defines which method to use for displaying the\n result (innerHTML, setValue, createTextNode) - default: 'innerHTML'\n- 'tot_row_index' defines in which row results are displayed\n (integers array)\n\n- changes made by Nuovella:\n(1) optimized the routine (now it will only process each column once),\n(2) added calculations for the median, lower and upper quartile.",
|
|
"lineNumber": 82,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 85,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "destroy",
|
|
"memberof": "src/extensions/colOps/colOps.js~ColOps",
|
|
"longname": "src/extensions/colOps/colOps.js~ColOps#destroy",
|
|
"access": null,
|
|
"description": "Remove extension",
|
|
"lineNumber": 356,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 86,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "initialized",
|
|
"memberof": "src/extensions/colOps/colOps.js~ColOps",
|
|
"longname": "src/extensions/colOps/colOps.js~ColOps#initialized",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 363,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"boolean"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 87,
|
|
"kind": "file",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "src/extensions/colsVisibility/colsVisibility.js",
|
|
"memberof": null,
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 1,
|
|
"content": "import {Feature} from '../../feature';\nimport {\n addClass, removeClass, createCheckItem, createElm, elm, removeElm,\n getText\n} from '../../dom';\nimport {isFn, EMPTY_FN} from '../../types';\nimport {addEvt, targetEvt} from '../../event';\n\n/**\n * Columns Visibility extension\n */\nexport default class ColsVisibility extends Feature {\n\n /**\n * Creates an instance of ColsVisibility\n * @param {TableFilter} tf TableFilter instance\n * @param {Object} Configuration object\n */\n constructor(tf, f) {\n super(tf, f.name);\n\n // Configuration object\n let cfg = this.config;\n\n /**\n * Module name\n * @type {String}\n */\n this.name = f.name;\n\n /**\n * Module description\n * @type {String}\n */\n this.desc = f.description || 'Columns visibility manager';\n\n /**\n * show/hide columns container element\n * @private\n */\n this.spanEl = null;\n\n /**\n * show/hide columns button element\n * @private\n */\n this.btnEl = null;\n\n /**\n * show/hide columns main container element\n * @private\n */\n this.contEl = null;\n\n /**\n * Enable tick to hide a column, defaults to true\n * @type {Boolean}\n */\n this.tickToHide = f.tick_to_hide === false ? false : true;\n\n /**\n * Enable columns manager UI, defaults to true\n * @type {Boolean}\n */\n this.manager = f.manager === false ? false : true;\n\n /**\n * Headers HTML table reference only if headers are external\n * @type {DOMElement}\n */\n this.headersTbl = f.headers_table || null;\n\n /**\n * Headers row index only if headers are external\n * @type {Number}\n */\n this.headersIndex = f.headers_index || 1;\n\n /**\n * ID of main container element\n * @type {String}\n */\n this.contElTgtId = f.container_target_id || null;\n\n /**\n * Alternative text for column headers in column manager UI\n * @type {Array}\n */\n this.headersText = f.headers_text || null;\n\n /**\n * ID of button's container element\n * @type {String}\n */\n this.btnTgtId = f.btn_target_id || null;\n\n /**\n * Button's text, defaults to Columns▼\n * @type {String}\n */\n this.btnText = f.btn_text || 'Columns▼';\n\n /**\n * Button's inner HTML\n * @type {String}\n */\n this.btnHtml = f.btn_html || null;\n\n /**\n * Css class for button\n * @type {String}\n */\n this.btnCssClass = f.btn_css_class || 'colVis';\n\n /**\n * Columns manager UI close link text, defaults to 'Close'\n * @type {String}\n */\n this.btnCloseText = f.btn_close_text || 'Close';\n\n /**\n * Columns manager UI close link HTML\n * @type {String}\n */\n this.btnCloseHtml = f.btn_close_html || null;\n\n /**\n * Css for columns manager UI close link\n * @type {String}\n */\n this.btnCloseCssClass = f.btn_close_css_class || this.btnCssClass;\n\n /**\n * Extension's stylesheet filename\n * @type {String}\n */\n this.stylesheet = f.stylesheet || 'colsVisibility.css';\n\n /**\n * Css for columns manager UI span\n * @type {String}\n */\n this.spanCssClass = f.span_css_class || 'colVisSpan';\n\n /**\n * Css for columns manager UI main container\n * @type {String}\n */\n this.contCssClass = f.cont_css_class || 'colVisCont';\n\n /**\n * Css for columns manager UI checklist (ul)\n * @type {String}\n */\n this.listCssClass = cfg.list_css_class || 'cols_checklist';\n\n /**\n * Css for columns manager UI checklist item (li)\n * @type {String}\n */\n this.listItemCssClass = cfg.checklist_item_css_class ||\n 'cols_checklist_item';\n\n /**\n * Css for columns manager UI checklist item selected state (li)\n * @type {String}\n */\n this.listSlcItemCssClass = cfg.checklist_selected_item_css_class ||\n 'cols_checklist_slc_item';\n\n /**\n * Text preceding the columns list, defaults to 'Hide' or 'Show'\n * depending on tick mode (tick_to_hide option)\n * @type {String}\n */\n this.text = f.text || (this.tickToHide ? 'Hide: ' : 'Show: ');\n\n /**\n * List of columns indexes to be hidden at initialization\n * @type {Array}\n */\n this.atStart = f.at_start || [];\n\n /**\n * Enable hover behaviour on columns manager button/link\n * @type {Boolean}\n */\n this.enableHover = Boolean(f.enable_hover);\n\n /**\n * Enable select all option, disabled by default\n * @type {Boolean}\n */\n this.enableTickAll = Boolean(f.enable_tick_all);\n\n /**\n * Text for select all option, defaults to 'Select all:'\n * @type {String}\n */\n this.tickAllText = f.tick_all_text || 'Select all:';\n\n /**\n * List of indexes of hidden columns\n * @private\n */\n this.hiddenCols = [];\n\n /**\n * Callback fired when the extension is initialized\n * @type {Function}\n */\n this.onLoaded = isFn(f.on_loaded) ? f.on_loaded : EMPTY_FN;\n\n /**\n * Callback fired before the columns manager is opened\n * @type {Function}\n */\n this.onBeforeOpen = isFn(f.on_before_open) ?\n f.on_before_open : EMPTY_FN;\n\n /**\n * Callback fired after the columns manager is opened\n * @type {Function}\n */\n this.onAfterOpen = isFn(f.on_after_open) ? f.on_after_open : EMPTY_FN;\n\n /**\n * Callback fired before the columns manager is closed\n * @type {Function}\n */\n this.onBeforeClose = isFn(f.on_before_close) ?\n f.on_before_close : EMPTY_FN;\n\n /**\n * Callback fired after the columns manager is closed\n * @type {Function}\n */\n this.onAfterClose = isFn(f.on_after_close) ?\n f.on_after_close : EMPTY_FN;\n\n /**\n * Callback fired before a column is hidden\n * @type {Function}\n */\n this.onBeforeColHidden = isFn(f.on_before_col_hidden) ?\n f.on_before_col_hidden : EMPTY_FN;\n\n /**\n * Callback fired after a column is hidden\n * @type {Function}\n */\n this.onAfterColHidden = isFn(f.on_after_col_hidden) ?\n f.on_after_col_hidden : EMPTY_FN;\n\n /**\n * Callback fired before a column is displayed\n * @type {Function}\n */\n this.onBeforeColDisplayed = isFn(f.on_before_col_displayed) ?\n f.on_before_col_displayed : EMPTY_FN;\n\n /**\n * Callback fired after a column is displayed\n * @type {Function}\n */\n this.onAfterColDisplayed = isFn(f.on_after_col_displayed) ?\n f.on_after_col_displayed : EMPTY_FN;\n\n //Grid layout support\n if (tf.gridLayout) {\n this.headersTbl = tf.feature('gridLayout').headTbl; //headers table\n this.headersIndex = 0; //headers index\n this.onAfterColDisplayed = function () { };\n this.onAfterColHidden = function () { };\n }\n\n //Loads extension stylesheet\n tf.import(f.name + 'Style', tf.stylePath + this.stylesheet, null,\n 'link');\n\n this.enable();\n }\n\n /**\n * Toggle columns manager UI\n */\n toggle() {\n let contDisplay = this.contEl.style.display;\n\n if (contDisplay !== 'inline') {\n this.onBeforeOpen(this);\n }\n if (contDisplay === 'inline') {\n this.onBeforeClose(this);\n }\n\n this.contEl.style.display = contDisplay === 'inline' ?\n 'none' : 'inline';\n\n if (contDisplay !== 'inline') {\n this.onAfterOpen(this);\n }\n if (contDisplay === 'inline') {\n this.onAfterClose(this);\n }\n }\n\n /**\n * Check an item in columns manager UI\n * @private\n */\n checkItem(lbl) {\n let li = lbl.parentNode;\n if (!li || !lbl) {\n return;\n }\n let isChecked = lbl.firstChild.checked;\n let colIndex = lbl.firstChild.getAttribute('id').split('_')[1];\n colIndex = parseInt(colIndex, 10);\n if (isChecked) {\n addClass(li, this.listSlcItemCssClass);\n } else {\n removeClass(li, this.listSlcItemCssClass);\n }\n\n let hide = false;\n if ((this.tickToHide && isChecked) ||\n (!this.tickToHide && !isChecked)) {\n hide = true;\n }\n this.setHidden(colIndex, hide);\n }\n\n /**\n * Initializes ColsVisibility instance\n */\n init() {\n if (this.initialized || !this.manager) {\n return;\n }\n\n this.emitter.on(['hide-column'],\n (tf, colIndex) => this.hideCol(colIndex));\n\n this.buildBtn();\n this.buildManager();\n\n /**\n * @inherited\n */\n this.initialized = true;\n\n this.emitter.emit('columns-visibility-initialized', this.tf, this);\n\n // Hide columns at start at very end of initialization, do not move\n // as order is important\n this._hideAtStart();\n }\n\n /**\n * Build main button UI\n */\n buildBtn() {\n if (this.btnEl) {\n return;\n }\n let tf = this.tf;\n let span = createElm('span');\n span.className = this.spanCssClass;\n\n //Container element (rdiv or custom element)\n if (!this.btnTgtId) {\n tf.setToolbar();\n }\n let targetEl = !this.btnTgtId ? tf.rDiv : elm(this.btnTgtId);\n\n if (!this.btnTgtId) {\n let firstChild = targetEl.firstChild;\n firstChild.parentNode.insertBefore(span, firstChild);\n } else {\n targetEl.appendChild(span);\n }\n\n if (!this.btnHtml) {\n let btn = createElm('a', ['href', 'javascript:;']);\n btn.className = this.btnCssClass;\n btn.title = this.desc;\n\n btn.innerHTML = this.btnText;\n span.appendChild(btn);\n if (!this.enableHover) {\n addEvt(btn, 'click', (evt) => this.toggle(evt));\n } else {\n addEvt(btn, 'mouseover', (evt) => this.toggle(evt));\n }\n } else { //Custom html\n span.innerHTML = this.btnHtml;\n let colVisEl = span.firstChild;\n if (!this.enableHover) {\n addEvt(colVisEl, 'click', (evt) => this.toggle(evt));\n } else {\n addEvt(colVisEl, 'mouseover', (evt) => this.toggle(evt));\n }\n }\n\n this.spanEl = span;\n this.btnEl = this.spanEl.firstChild;\n\n this.onLoaded(this);\n }\n\n /**\n * Build columns manager UI\n */\n buildManager() {\n let tf = this.tf;\n\n let container = !this.contElTgtId ?\n createElm('div') :\n elm(this.contElTgtId);\n container.className = this.contCssClass;\n\n //Extension description\n let extNameLabel = createElm('p');\n extNameLabel.innerHTML = this.text;\n container.appendChild(extNameLabel);\n\n //Headers list\n let ul = createElm('ul');\n ul.className = this.listCssClass;\n\n let tbl = this.headersTbl ? this.headersTbl : tf.tbl;\n let headerIndex = this.headersTbl ?\n this.headersIndex : tf.getHeadersRowIndex();\n let headerRow = tbl.rows[headerIndex];\n\n //Tick all option\n if (this.enableTickAll) {\n let li = createCheckItem('col__' + tf.id, this.tickAllText,\n this.tickAllText);\n addClass(li, this.listItemCssClass);\n ul.appendChild(li);\n li.check.checked = !this.tickToHide;\n\n addEvt(li.check, 'click', () => {\n for (let h = 0; h < headerRow.cells.length; h++) {\n let itm = elm('col_' + h + '_' + tf.id);\n if (itm && li.check.checked !== itm.checked) {\n itm.click();\n itm.checked = li.check.checked;\n }\n }\n });\n }\n\n for (let i = 0; i < headerRow.cells.length; i++) {\n let cell = headerRow.cells[i];\n let cellText = this.headersText && this.headersText[i] ?\n this.headersText[i] : this._getHeaderText(cell);\n let liElm = createCheckItem('col_' + i + '_' + tf.id, cellText,\n cellText);\n addClass(liElm, this.listItemCssClass);\n if (!this.tickToHide) {\n addClass(liElm, this.listSlcItemCssClass);\n }\n ul.appendChild(liElm);\n if (!this.tickToHide) {\n liElm.check.checked = true;\n }\n\n addEvt(liElm.check, 'click', (evt) => {\n let elm = targetEvt(evt);\n let lbl = elm.parentNode;\n this.checkItem(lbl);\n });\n }\n\n //separator\n let p = createElm('p', ['align', 'center']);\n let btn;\n //Close link\n if (!this.btnCloseHtml) {\n btn = createElm('a', ['href', 'javascript:;']);\n btn.className = this.btnCloseCssClass;\n btn.innerHTML = this.btnCloseText;\n addEvt(btn, 'click', (evt) => this.toggle(evt));\n p.appendChild(btn);\n } else {\n p.innerHTML = this.btnCloseHtml;\n btn = p.firstChild;\n addEvt(btn, 'click', (evt) => this.toggle(evt));\n }\n\n container.appendChild(ul);\n container.appendChild(p);\n\n this.btnEl.parentNode.insertBefore(container, this.btnEl);\n this.contEl = container;\n }\n\n /**\n * Hide or show specified columns\n * @param {Number} colIndex Column index\n * @param {Boolean} hide Hide column if true or show if false\n */\n setHidden(colIndex, hide) {\n let tf = this.tf;\n let tbl = tf.tbl;\n\n if (hide) {\n this.onBeforeColHidden(this, colIndex);\n }\n if (!hide) {\n this.onBeforeColDisplayed(this, colIndex);\n }\n\n this._hideCells(tbl, colIndex, hide);\n if (this.headersTbl) {\n this._hideCells(this.headersTbl, colIndex, hide);\n }\n\n let hiddenCols = this.hiddenCols;\n let itemIndex = hiddenCols.indexOf(colIndex);\n if (hide) {\n if (itemIndex === -1) {\n this.hiddenCols.push(colIndex);\n }\n } else {\n if (itemIndex !== -1) {\n this.hiddenCols.splice(itemIndex, 1);\n }\n }\n\n let gridLayout;\n let headTbl;\n let gridColElms;\n if (hide) {\n //This event is fired just after a column is displayed for\n //grid_layout support\n //TODO: grid layout module should be responsible for those\n //calculations\n if (tf.gridLayout) {\n gridLayout = tf.feature('gridLayout');\n headTbl = gridLayout.headTbl;\n gridColElms = gridLayout.colElms;\n let hiddenWidth = parseInt(\n gridColElms[colIndex].style.width, 10);\n\n let headTblW = parseInt(headTbl.style.width, 10);\n headTbl.style.width = headTblW - hiddenWidth + 'px';\n tbl.style.width = headTbl.style.width;\n }\n\n this.onAfterColHidden(this, colIndex);\n this.emitter.emit('column-hidden', tf, this, colIndex,\n this.hiddenCols);\n }\n\n if (!hide) {\n //This event is fired just after a column is displayed for\n //grid_layout support\n //TODO: grid layout module should be responsible for those\n //calculations\n if (tf.gridLayout) {\n gridLayout = tf.feature('gridLayout');\n headTbl = gridLayout.headTbl;\n gridColElms = gridLayout.colElms;\n let width = parseInt(gridColElms[colIndex].style.width, 10);\n headTbl.style.width =\n (parseInt(headTbl.style.width, 10) + width) + 'px';\n tf.tbl.style.width = headTbl.style.width;\n }\n\n this.onAfterColDisplayed(this, colIndex);\n this.emitter.emit('column-shown', tf, this, colIndex,\n this.hiddenCols);\n }\n }\n\n /**\n * Show specified column\n * @param {Number} colIndex Column index\n */\n showCol(colIndex) {\n if (colIndex === undefined || !this.isColHidden(colIndex)) {\n return;\n }\n if (this.manager && this.contEl) {\n let itm = elm('col_' + colIndex + '_' + this.tf.id);\n if (itm) {\n itm.click();\n }\n } else {\n this.setHidden(colIndex, false);\n }\n }\n\n /**\n * Hide specified column\n * @param {Number} colIndex Column index\n */\n hideCol(colIndex) {\n if (colIndex === undefined || this.isColHidden(colIndex)) {\n return;\n }\n if (this.manager && this.contEl) {\n let itm = elm('col_' + colIndex + '_' + this.tf.id);\n if (itm) {\n itm.click();\n }\n } else {\n this.setHidden(colIndex, true);\n }\n }\n\n /**\n * Determine if specified column is hidden\n * @param {Number} colIndex Column index\n */\n isColHidden(colIndex) {\n if (this.hiddenCols.indexOf(colIndex) !== -1) {\n return true;\n }\n return false;\n }\n\n /**\n * Toggle visibility of specified column\n * @param {Number} colIndex Column index\n */\n toggleCol(colIndex) {\n if (colIndex === undefined || this.isColHidden(colIndex)) {\n this.showCol(colIndex);\n } else {\n this.hideCol(colIndex);\n }\n }\n\n /**\n * Return the indexes of the columns currently hidden\n * @return {Array} column indexes\n */\n getHiddenCols() {\n return this.hiddenCols;\n }\n\n /**\n * Remove the columns manager\n */\n destroy() {\n if (!this.initialized) {\n return;\n }\n if (elm(this.contElTgtId)) {\n elm(this.contElTgtId).innerHTML = '';\n } else {\n this.contEl.innerHTML = '';\n removeElm(this.contEl);\n this.contEl = null;\n }\n this.btnEl.innerHTML = '';\n removeElm(this.btnEl);\n this.btnEl = null;\n\n this.emitter.off(['hide-column'],\n (tf, colIndex) => this.hideCol(colIndex));\n\n this.initialized = false;\n }\n\n _getHeaderText(cell) {\n if (!cell.hasChildNodes) {\n return '';\n }\n\n for (let i = 0; i < cell.childNodes.length; i++) {\n let n = cell.childNodes[i];\n if (n.nodeType === 3) {\n return n.nodeValue;\n } else if (n.nodeType === 1) {\n if (n.id && n.id.indexOf('popUp') !== -1) {\n continue;\n } else {\n return getText(n);\n }\n }\n continue;\n }\n return '';\n }\n\n _hideCells(tbl, colIndex, hide) {\n for (let i = 0; i < tbl.rows.length; i++) {\n let row = tbl.rows[i];\n let cell = row.cells[colIndex];\n if (cell) {\n cell.style.display = hide ? 'none' : '';\n }\n }\n }\n\n _hideAtStart() {\n this.atStart.forEach((colIdx) => {\n this.hideCol(colIdx);\n });\n }\n}\n"
|
|
},
|
|
{
|
|
"__docId__": 88,
|
|
"kind": "class",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "ColsVisibility",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/extensions/colsVisibility/colsVisibility.js",
|
|
"importStyle": "ColsVisibility",
|
|
"description": "Columns Visibility extension",
|
|
"lineNumber": 12,
|
|
"interface": false,
|
|
"extends": [
|
|
"src/feature.js~Feature"
|
|
]
|
|
},
|
|
{
|
|
"__docId__": 89,
|
|
"kind": "constructor",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "constructor",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#constructor",
|
|
"access": null,
|
|
"description": "Creates an instance of ColsVisibility",
|
|
"lineNumber": 19,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"TableFilter"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "tf",
|
|
"description": "TableFilter instance"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Object"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "Configuration",
|
|
"description": "object"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 90,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "name",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#name",
|
|
"access": null,
|
|
"description": "Module name",
|
|
"lineNumber": 29,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 91,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "desc",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#desc",
|
|
"access": null,
|
|
"description": "Module description",
|
|
"lineNumber": 35,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 92,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "spanEl",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#spanEl",
|
|
"access": "private",
|
|
"description": "show/hide columns container element",
|
|
"lineNumber": 41,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 93,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "btnEl",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#btnEl",
|
|
"access": "private",
|
|
"description": "show/hide columns button element",
|
|
"lineNumber": 47,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 94,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "contEl",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#contEl",
|
|
"access": "private",
|
|
"description": "show/hide columns main container element",
|
|
"lineNumber": 53,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 95,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "tickToHide",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#tickToHide",
|
|
"access": null,
|
|
"description": "Enable tick to hide a column, defaults to true",
|
|
"lineNumber": 59,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 96,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "manager",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#manager",
|
|
"access": null,
|
|
"description": "Enable columns manager UI, defaults to true",
|
|
"lineNumber": 65,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 97,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "headersTbl",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#headersTbl",
|
|
"access": null,
|
|
"description": "Headers HTML table reference only if headers are external",
|
|
"lineNumber": 71,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"DOMElement"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 98,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "headersIndex",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#headersIndex",
|
|
"access": null,
|
|
"description": "Headers row index only if headers are external",
|
|
"lineNumber": 77,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 99,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "contElTgtId",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#contElTgtId",
|
|
"access": null,
|
|
"description": "ID of main container element",
|
|
"lineNumber": 83,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 100,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "headersText",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#headersText",
|
|
"access": null,
|
|
"description": "Alternative text for column headers in column manager UI",
|
|
"lineNumber": 89,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 101,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "btnTgtId",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#btnTgtId",
|
|
"access": null,
|
|
"description": "ID of button's container element",
|
|
"lineNumber": 95,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 102,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "btnText",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#btnText",
|
|
"access": null,
|
|
"description": "Button's text, defaults to Columns▼",
|
|
"lineNumber": 101,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 103,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "btnHtml",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#btnHtml",
|
|
"access": null,
|
|
"description": "Button's inner HTML",
|
|
"lineNumber": 107,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 104,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "btnCssClass",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#btnCssClass",
|
|
"access": null,
|
|
"description": "Css class for button",
|
|
"lineNumber": 113,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 105,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "btnCloseText",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#btnCloseText",
|
|
"access": null,
|
|
"description": "Columns manager UI close link text, defaults to 'Close'",
|
|
"lineNumber": 119,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 106,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "btnCloseHtml",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#btnCloseHtml",
|
|
"access": null,
|
|
"description": "Columns manager UI close link HTML",
|
|
"lineNumber": 125,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 107,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "btnCloseCssClass",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#btnCloseCssClass",
|
|
"access": null,
|
|
"description": "Css for columns manager UI close link",
|
|
"lineNumber": 131,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 108,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "stylesheet",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#stylesheet",
|
|
"access": null,
|
|
"description": "Extension's stylesheet filename",
|
|
"lineNumber": 137,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 109,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "spanCssClass",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#spanCssClass",
|
|
"access": null,
|
|
"description": "Css for columns manager UI span",
|
|
"lineNumber": 143,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 110,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "contCssClass",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#contCssClass",
|
|
"access": null,
|
|
"description": "Css for columns manager UI main container",
|
|
"lineNumber": 149,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 111,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "listCssClass",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#listCssClass",
|
|
"access": null,
|
|
"description": "Css for columns manager UI checklist (ul)",
|
|
"lineNumber": 155,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 112,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "listItemCssClass",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#listItemCssClass",
|
|
"access": null,
|
|
"description": "Css for columns manager UI checklist item (li)",
|
|
"lineNumber": 161,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 113,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "listSlcItemCssClass",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#listSlcItemCssClass",
|
|
"access": null,
|
|
"description": "Css for columns manager UI checklist item selected state (li)",
|
|
"lineNumber": 168,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 114,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "text",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#text",
|
|
"access": null,
|
|
"description": "Text preceding the columns list, defaults to 'Hide' or 'Show'\ndepending on tick mode (tick_to_hide option)",
|
|
"lineNumber": 176,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 115,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "atStart",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#atStart",
|
|
"access": null,
|
|
"description": "List of columns indexes to be hidden at initialization",
|
|
"lineNumber": 182,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 116,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "enableHover",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#enableHover",
|
|
"access": null,
|
|
"description": "Enable hover behaviour on columns manager button/link",
|
|
"lineNumber": 188,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 117,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "enableTickAll",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#enableTickAll",
|
|
"access": null,
|
|
"description": "Enable select all option, disabled by default",
|
|
"lineNumber": 194,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 118,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "tickAllText",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#tickAllText",
|
|
"access": null,
|
|
"description": "Text for select all option, defaults to 'Select all:'",
|
|
"lineNumber": 200,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 119,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "hiddenCols",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#hiddenCols",
|
|
"access": "private",
|
|
"description": "List of indexes of hidden columns",
|
|
"lineNumber": 206,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 120,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "onLoaded",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#onLoaded",
|
|
"access": null,
|
|
"description": "Callback fired when the extension is initialized",
|
|
"lineNumber": 212,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Function"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 121,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "onBeforeOpen",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#onBeforeOpen",
|
|
"access": null,
|
|
"description": "Callback fired before the columns manager is opened",
|
|
"lineNumber": 218,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Function"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 122,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "onAfterOpen",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#onAfterOpen",
|
|
"access": null,
|
|
"description": "Callback fired after the columns manager is opened",
|
|
"lineNumber": 225,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Function"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 123,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "onBeforeClose",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#onBeforeClose",
|
|
"access": null,
|
|
"description": "Callback fired before the columns manager is closed",
|
|
"lineNumber": 231,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Function"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 124,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "onAfterClose",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#onAfterClose",
|
|
"access": null,
|
|
"description": "Callback fired after the columns manager is closed",
|
|
"lineNumber": 238,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Function"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 125,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "onBeforeColHidden",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#onBeforeColHidden",
|
|
"access": null,
|
|
"description": "Callback fired before a column is hidden",
|
|
"lineNumber": 245,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Function"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 126,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "onAfterColHidden",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#onAfterColHidden",
|
|
"access": null,
|
|
"description": "Callback fired after a column is hidden",
|
|
"lineNumber": 252,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Function"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 127,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "onBeforeColDisplayed",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#onBeforeColDisplayed",
|
|
"access": null,
|
|
"description": "Callback fired before a column is displayed",
|
|
"lineNumber": 259,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Function"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 128,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "onAfterColDisplayed",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#onAfterColDisplayed",
|
|
"access": null,
|
|
"description": "Callback fired after a column is displayed",
|
|
"lineNumber": 266,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Function"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 129,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "headersTbl",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#headersTbl",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 271,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 130,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "headersIndex",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#headersIndex",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 272,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"number"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 131,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "toggle",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#toggle",
|
|
"access": null,
|
|
"description": "Toggle columns manager UI",
|
|
"lineNumber": 287,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 132,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "checkItem",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#checkItem",
|
|
"access": "private",
|
|
"description": "Check an item in columns manager UI",
|
|
"lineNumber": 312,
|
|
"params": [
|
|
{
|
|
"name": "lbl",
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 133,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "init",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#init",
|
|
"access": null,
|
|
"description": "Initializes ColsVisibility instance",
|
|
"lineNumber": 337,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 134,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "initialized",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#initialized",
|
|
"access": null,
|
|
"description": "",
|
|
"lineNumber": 351,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@inherited",
|
|
"tagValue": ""
|
|
}
|
|
],
|
|
"type": {
|
|
"types": [
|
|
"boolean"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 135,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "buildBtn",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#buildBtn",
|
|
"access": null,
|
|
"description": "Build main button UI",
|
|
"lineNumber": 363,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 136,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "spanEl",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#spanEl",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 406,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 137,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "btnEl",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#btnEl",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 407,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 138,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "buildManager",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#buildManager",
|
|
"access": null,
|
|
"description": "Build columns manager UI",
|
|
"lineNumber": 415,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 139,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "contEl",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#contEl",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 498,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 140,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "setHidden",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#setHidden",
|
|
"access": null,
|
|
"description": "Hide or show specified columns",
|
|
"lineNumber": 506,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "colIndex",
|
|
"description": "Column index"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "hide",
|
|
"description": "Hide column if true or show if false"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 141,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "showCol",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#showCol",
|
|
"access": null,
|
|
"description": "Show specified column",
|
|
"lineNumber": 584,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "colIndex",
|
|
"description": "Column index"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 142,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "hideCol",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#hideCol",
|
|
"access": null,
|
|
"description": "Hide specified column",
|
|
"lineNumber": 602,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "colIndex",
|
|
"description": "Column index"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 143,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "isColHidden",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#isColHidden",
|
|
"access": null,
|
|
"description": "Determine if specified column is hidden",
|
|
"lineNumber": 620,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "colIndex",
|
|
"description": "Column index"
|
|
}
|
|
],
|
|
"return": {
|
|
"types": [
|
|
"boolean"
|
|
]
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 144,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "toggleCol",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#toggleCol",
|
|
"access": null,
|
|
"description": "Toggle visibility of specified column",
|
|
"lineNumber": 631,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "colIndex",
|
|
"description": "Column index"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 145,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "getHiddenCols",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#getHiddenCols",
|
|
"access": null,
|
|
"description": "Return the indexes of the columns currently hidden",
|
|
"lineNumber": 643,
|
|
"params": [],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"description": "column indexes"
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 146,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "destroy",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#destroy",
|
|
"access": null,
|
|
"description": "Remove the columns manager",
|
|
"lineNumber": 650,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 147,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "contEl",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#contEl",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 659,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 148,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "btnEl",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#btnEl",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 663,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 149,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "initialized",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#initialized",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 668,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"boolean"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 150,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "_getHeaderText",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#_getHeaderText",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 671,
|
|
"undocument": true,
|
|
"params": [
|
|
{
|
|
"name": "cell",
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
],
|
|
"return": {
|
|
"types": [
|
|
"string"
|
|
]
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 151,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "_hideCells",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#_hideCells",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 692,
|
|
"undocument": true,
|
|
"params": [
|
|
{
|
|
"name": "tbl",
|
|
"types": [
|
|
"*"
|
|
]
|
|
},
|
|
{
|
|
"name": "colIndex",
|
|
"types": [
|
|
"*"
|
|
]
|
|
},
|
|
{
|
|
"name": "hide",
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 152,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "_hideAtStart",
|
|
"memberof": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility",
|
|
"longname": "src/extensions/colsVisibility/colsVisibility.js~ColsVisibility#_hideAtStart",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 702,
|
|
"undocument": true,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 153,
|
|
"kind": "file",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "src/extensions/filtersVisibility/filtersVisibility.js",
|
|
"memberof": null,
|
|
"longname": "src/extensions/filtersVisibility/filtersVisibility.js",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 1,
|
|
"content": "import {Feature} from '../../feature';\nimport {createElm, removeElm, elm} from '../../dom';\nimport {isFn, isUndef, EMPTY_FN} from '../../types';\nimport {addEvt} from '../../event';\n\n/**\n * Filters Visibility extension\n */\nexport default class FiltersVisibility extends Feature {\n\n /**\n * Creates an instance of FiltersVisibility\n * @param {TableFilter} tf TableFilter instance\n * @param {Object} Configuration object\n */\n constructor(tf, f) {\n super(tf, f.name);\n\n /**\n * Module name\n * @type {String}\n */\n this.name = f.name;\n\n /**\n * Module description\n * @type {String}\n */\n this.desc = f.description || 'Filters row visibility manager';\n\n /**\n * Extension's stylesheet filename\n * @type {String}\n */\n this.stylesheet = f.stylesheet || 'filtersVisibility.css';\n\n /**\n * Expand icon filename\n * @type {String}\n */\n this.icnExpand = f.expand_icon_name || 'icn_exp.png';\n\n /**\n * Collapse icon filename\n * @type {String}\n */\n this.icnCollapse = f.collapse_icon_name || 'icn_clp.png';\n\n /**\n * Main container element\n * @private\n */\n this.contEl = null;\n\n /**\n * Button element\n * @private\n */\n this.btnEl = null;\n\n /**\n * Expand icon HTML\n * @private\n */\n this.icnExpandHtml = '<img src=\"' + tf.themesPath + this.icnExpand +\n '\" alt=\"Expand filters\" >';\n\n /**\n * Collapse icon HTML\n * @private\n */\n this.icnCollapseHtml = '<img src=\"' + tf.themesPath + this.icnCollapse +\n '\" alt=\"Collapse filters\" >';\n\n /**\n * Default text\n * @private\n */\n this.defaultText = 'Toggle filters';\n\n /**\n * ID of main container element\n * @type {String}\n */\n this.targetId = f.target_id || null;\n\n /**\n * Enable expand/collapse icon, defaults to true\n * @type {Boolean}\n */\n this.enableIcon = f.enable_icon === false ? false : true;\n\n /**\n * Custom text for button\n * @type {String}\n */\n this.btnText = f.btn_text || '';\n\n /**\n * Collapse button HTML\n * @private\n */\n this.collapseBtnHtml = this.enableIcon ?\n this.icnCollapseHtml + this.btnText :\n this.btnText || this.defaultText;\n\n /**\n * Expand button HTML\n * @private\n */\n this.expandBtnHtml = this.enableIcon ?\n this.icnExpandHtml + this.btnText :\n this.btnText || this.defaultText;\n\n /**\n * Button's custom HTML\n * @type {String}\n */\n this.btnHtml = f.btn_html || null;\n\n /**\n * Css class for expand/collapse filters button\n * @type {String}\n */\n this.btnCssClass = f.btn_css_class || 'btnExpClpFlt';\n\n /**\n * Css class for main container\n * @type {String}\n */\n this.contCssClass = f.cont_css_class || 'expClpFlt';\n\n /**\n * Filters row index\n * @type {Number}\n */\n this.filtersRowIndex = !isUndef(f.filters_row_index) ?\n f.filters_row_index : tf.getFiltersRowIndex();\n\n /**\n * Make filters visible at initialization, defaults to true\n * @type {Boolean}\n */\n this.visibleAtStart = !isUndef(f.visible_at_start) ?\n Boolean(f.visible_at_start) : true;\n\n /**\n * Callback fired before filters row is shown\n * @type {Function}\n */\n this.onBeforeShow = isFn(f.on_before_show) ?\n f.on_before_show : EMPTY_FN;\n\n /**\n * Callback fired after filters row is shown\n * @type {Function}\n */\n this.onAfterShow = isFn(f.on_after_show) ? f.on_after_show : EMPTY_FN;\n\n /**\n * Callback fired before filters row is hidden\n * @type {Function}\n */\n this.onBeforeHide = isFn(f.on_before_hide) ?\n f.on_before_hide : EMPTY_FN;\n\n /**\n * Callback fired after filters row is hidden\n * @type {Function}\n */\n this.onAfterHide = isFn(f.on_after_hide) ? f.on_after_hide : EMPTY_FN;\n\n //Import extension's stylesheet\n tf.import(f.name + 'Style', tf.stylePath + this.stylesheet, null,\n 'link');\n\n this.enable();\n }\n\n /**\n * Initialise extension\n */\n init() {\n if (this.initialized) {\n return;\n }\n\n this.buildUI();\n\n /**\n * @inherited\n */\n this.initialized = true;\n\n this.emitter.on(['show-filters'], (tf, visible) => this.show(visible));\n this.emitter.emit('filters-visibility-initialized', this.tf, this);\n }\n\n /**\n * Build UI elements\n */\n buildUI() {\n let tf = this.tf;\n let span = createElm('span');\n span.className = this.contCssClass;\n\n //Container element (rdiv or custom element)\n if (!this.targetId) {\n tf.setToolbar();\n }\n let targetEl = !this.targetId ? tf.rDiv : elm(this.targetId);\n\n if (!this.targetId) {\n let firstChild = targetEl.firstChild;\n firstChild.parentNode.insertBefore(span, firstChild);\n } else {\n targetEl.appendChild(span);\n }\n\n let btn;\n if (!this.btnHtml) {\n btn = createElm('a', ['href', 'javascript:void(0);']);\n btn.className = this.btnCssClass;\n btn.title = this.btnText || this.defaultText;\n btn.innerHTML = this.collapseBtnHtml;\n span.appendChild(btn);\n } else { //Custom html\n span.innerHTML = this.btnHtml;\n btn = span.firstChild;\n }\n\n addEvt(btn, 'click', () => this.toggle());\n\n this.contEl = span;\n this.btnEl = btn;\n\n if (!this.visibleAtStart) {\n this.toggle();\n }\n }\n\n /**\n * Toggle filters visibility\n */\n toggle() {\n let tf = this.tf;\n let tbl = tf.gridLayout ? tf.feature('gridLayout').headTbl : tf.tbl;\n let fltRow = tbl.rows[this.filtersRowIndex];\n let isDisplayed = fltRow.style.display === '';\n\n this.show(!isDisplayed);\n }\n\n /**\n * Show or hide filters\n *\n * @param {boolean} [visible=true] Visibility flag\n */\n show(visible = true) {\n let tf = this.tf;\n let tbl = tf.gridLayout ? tf.feature('gridLayout').headTbl : tf.tbl;\n let fltRow = tbl.rows[this.filtersRowIndex];\n\n if (visible) {\n this.onBeforeShow(this);\n }\n if (!visible) {\n this.onBeforeHide(this);\n }\n\n fltRow.style.display = visible ? '' : 'none';\n if (this.enableIcon && !this.btnHtml) {\n this.btnEl.innerHTML = visible ?\n this.collapseBtnHtml : this.expandBtnHtml;\n }\n\n if (visible) {\n this.onAfterShow(this);\n }\n if (!visible) {\n this.onAfterHide(this);\n }\n\n this.emitter.emit('filters-toggled', tf, this, visible);\n }\n\n /**\n * Destroy the UI\n */\n destroy() {\n if (!this.initialized) {\n return;\n }\n\n this.emitter.off(['show-filters'], (tf, visible) => this.show(visible));\n\n this.btnEl.innerHTML = '';\n removeElm(this.btnEl);\n this.btnEl = null;\n\n this.contEl.innerHTML = '';\n removeElm(this.contEl);\n this.contEl = null;\n this.initialized = false;\n }\n\n}\n"
|
|
},
|
|
{
|
|
"__docId__": 154,
|
|
"kind": "class",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "FiltersVisibility",
|
|
"memberof": "src/extensions/filtersVisibility/filtersVisibility.js",
|
|
"longname": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/extensions/filtersVisibility/filtersVisibility.js",
|
|
"importStyle": "FiltersVisibility",
|
|
"description": "Filters Visibility extension",
|
|
"lineNumber": 9,
|
|
"interface": false,
|
|
"extends": [
|
|
"src/feature.js~Feature"
|
|
]
|
|
},
|
|
{
|
|
"__docId__": 155,
|
|
"kind": "constructor",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "constructor",
|
|
"memberof": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility",
|
|
"longname": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility#constructor",
|
|
"access": null,
|
|
"description": "Creates an instance of FiltersVisibility",
|
|
"lineNumber": 16,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"TableFilter"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "tf",
|
|
"description": "TableFilter instance"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Object"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "Configuration",
|
|
"description": "object"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 156,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "name",
|
|
"memberof": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility",
|
|
"longname": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility#name",
|
|
"access": null,
|
|
"description": "Module name",
|
|
"lineNumber": 23,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 157,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "desc",
|
|
"memberof": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility",
|
|
"longname": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility#desc",
|
|
"access": null,
|
|
"description": "Module description",
|
|
"lineNumber": 29,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 158,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "stylesheet",
|
|
"memberof": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility",
|
|
"longname": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility#stylesheet",
|
|
"access": null,
|
|
"description": "Extension's stylesheet filename",
|
|
"lineNumber": 35,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 159,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "icnExpand",
|
|
"memberof": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility",
|
|
"longname": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility#icnExpand",
|
|
"access": null,
|
|
"description": "Expand icon filename",
|
|
"lineNumber": 41,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 160,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "icnCollapse",
|
|
"memberof": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility",
|
|
"longname": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility#icnCollapse",
|
|
"access": null,
|
|
"description": "Collapse icon filename",
|
|
"lineNumber": 47,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 161,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "contEl",
|
|
"memberof": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility",
|
|
"longname": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility#contEl",
|
|
"access": "private",
|
|
"description": "Main container element",
|
|
"lineNumber": 53,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 162,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "btnEl",
|
|
"memberof": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility",
|
|
"longname": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility#btnEl",
|
|
"access": "private",
|
|
"description": "Button element",
|
|
"lineNumber": 59,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 163,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "icnExpandHtml",
|
|
"memberof": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility",
|
|
"longname": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility#icnExpandHtml",
|
|
"access": "private",
|
|
"description": "Expand icon HTML",
|
|
"lineNumber": 65,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 164,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "icnCollapseHtml",
|
|
"memberof": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility",
|
|
"longname": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility#icnCollapseHtml",
|
|
"access": "private",
|
|
"description": "Collapse icon HTML",
|
|
"lineNumber": 72,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 165,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "defaultText",
|
|
"memberof": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility",
|
|
"longname": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility#defaultText",
|
|
"access": "private",
|
|
"description": "Default text",
|
|
"lineNumber": 79,
|
|
"type": {
|
|
"types": [
|
|
"string"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 166,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "targetId",
|
|
"memberof": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility",
|
|
"longname": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility#targetId",
|
|
"access": null,
|
|
"description": "ID of main container element",
|
|
"lineNumber": 85,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 167,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "enableIcon",
|
|
"memberof": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility",
|
|
"longname": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility#enableIcon",
|
|
"access": null,
|
|
"description": "Enable expand/collapse icon, defaults to true",
|
|
"lineNumber": 91,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 168,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "btnText",
|
|
"memberof": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility",
|
|
"longname": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility#btnText",
|
|
"access": null,
|
|
"description": "Custom text for button",
|
|
"lineNumber": 97,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 169,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "collapseBtnHtml",
|
|
"memberof": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility",
|
|
"longname": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility#collapseBtnHtml",
|
|
"access": "private",
|
|
"description": "Collapse button HTML",
|
|
"lineNumber": 103,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 170,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "expandBtnHtml",
|
|
"memberof": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility",
|
|
"longname": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility#expandBtnHtml",
|
|
"access": "private",
|
|
"description": "Expand button HTML",
|
|
"lineNumber": 111,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 171,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "btnHtml",
|
|
"memberof": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility",
|
|
"longname": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility#btnHtml",
|
|
"access": null,
|
|
"description": "Button's custom HTML",
|
|
"lineNumber": 119,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 172,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "btnCssClass",
|
|
"memberof": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility",
|
|
"longname": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility#btnCssClass",
|
|
"access": null,
|
|
"description": "Css class for expand/collapse filters button",
|
|
"lineNumber": 125,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 173,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "contCssClass",
|
|
"memberof": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility",
|
|
"longname": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility#contCssClass",
|
|
"access": null,
|
|
"description": "Css class for main container",
|
|
"lineNumber": 131,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 174,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "filtersRowIndex",
|
|
"memberof": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility",
|
|
"longname": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility#filtersRowIndex",
|
|
"access": null,
|
|
"description": "Filters row index",
|
|
"lineNumber": 137,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 175,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "visibleAtStart",
|
|
"memberof": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility",
|
|
"longname": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility#visibleAtStart",
|
|
"access": null,
|
|
"description": "Make filters visible at initialization, defaults to true",
|
|
"lineNumber": 144,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 176,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "onBeforeShow",
|
|
"memberof": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility",
|
|
"longname": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility#onBeforeShow",
|
|
"access": null,
|
|
"description": "Callback fired before filters row is shown",
|
|
"lineNumber": 151,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Function"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 177,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "onAfterShow",
|
|
"memberof": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility",
|
|
"longname": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility#onAfterShow",
|
|
"access": null,
|
|
"description": "Callback fired after filters row is shown",
|
|
"lineNumber": 158,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Function"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 178,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "onBeforeHide",
|
|
"memberof": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility",
|
|
"longname": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility#onBeforeHide",
|
|
"access": null,
|
|
"description": "Callback fired before filters row is hidden",
|
|
"lineNumber": 164,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Function"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 179,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "onAfterHide",
|
|
"memberof": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility",
|
|
"longname": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility#onAfterHide",
|
|
"access": null,
|
|
"description": "Callback fired after filters row is hidden",
|
|
"lineNumber": 171,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Function"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 180,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "init",
|
|
"memberof": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility",
|
|
"longname": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility#init",
|
|
"access": null,
|
|
"description": "Initialise extension",
|
|
"lineNumber": 183,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 181,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "initialized",
|
|
"memberof": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility",
|
|
"longname": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility#initialized",
|
|
"access": null,
|
|
"description": "",
|
|
"lineNumber": 193,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@inherited",
|
|
"tagValue": ""
|
|
}
|
|
],
|
|
"type": {
|
|
"types": [
|
|
"boolean"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 182,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "buildUI",
|
|
"memberof": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility",
|
|
"longname": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility#buildUI",
|
|
"access": null,
|
|
"description": "Build UI elements",
|
|
"lineNumber": 202,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 183,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "contEl",
|
|
"memberof": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility",
|
|
"longname": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility#contEl",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 234,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 184,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "btnEl",
|
|
"memberof": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility",
|
|
"longname": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility#btnEl",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 235,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 185,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "toggle",
|
|
"memberof": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility",
|
|
"longname": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility#toggle",
|
|
"access": null,
|
|
"description": "Toggle filters visibility",
|
|
"lineNumber": 245,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 186,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "show",
|
|
"memberof": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility",
|
|
"longname": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility#show",
|
|
"access": null,
|
|
"description": "Show or hide filters",
|
|
"lineNumber": 259,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"boolean"
|
|
],
|
|
"spread": false,
|
|
"optional": true,
|
|
"defaultValue": "true",
|
|
"defaultRaw": true,
|
|
"name": "visible",
|
|
"description": "Visibility flag"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 187,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "destroy",
|
|
"memberof": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility",
|
|
"longname": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility#destroy",
|
|
"access": null,
|
|
"description": "Destroy the UI",
|
|
"lineNumber": 290,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 188,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "btnEl",
|
|
"memberof": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility",
|
|
"longname": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility#btnEl",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 299,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 189,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "contEl",
|
|
"memberof": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility",
|
|
"longname": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility#contEl",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 303,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 190,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "initialized",
|
|
"memberof": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility",
|
|
"longname": "src/extensions/filtersVisibility/filtersVisibility.js~FiltersVisibility#initialized",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 304,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"boolean"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 191,
|
|
"kind": "file",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "src/extensions/sort/adapterSortabletable.js",
|
|
"memberof": null,
|
|
"longname": "src/extensions/sort/adapterSortabletable.js",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 1,
|
|
"content": "import {Feature} from '../../feature';\nimport {isArray, isFn, isUndef, isObj, EMPTY_FN} from '../../types';\nimport {createElm, elm, getText, tag} from '../../dom';\nimport {addEvt} from '../../event';\nimport {parse as parseNb} from '../../number';\nimport {\n NONE, CELL_TAG, HEADER_TAG, STRING, NUMBER, DATE, FORMATTED_NUMBER,\n IP_ADDRESS\n} from '../../const';\n\n/**\n * SortableTable Adapter module\n */\nexport default class AdapterSortableTable extends Feature {\n\n /**\n * Creates an instance of AdapterSortableTable\n * @param {TableFilter} tf TableFilter instance\n * @param {Object} opts Configuration object\n */\n constructor(tf, opts) {\n super(tf, opts.name);\n\n /**\n * Module name\n * @type {String}\n */\n this.name = opts.name;\n\n /**\n * Module description\n * @type {String}\n */\n this.desc = opts.description || 'Sortable table';\n\n /**\n * Indicate whether table previously sorted\n * @type {Boolean}\n * @private\n */\n this.sorted = false;\n\n /**\n * List of sort type per column basis\n * @type {Array}\n */\n this.sortTypes = isArray(opts.types) ? opts.types : tf.colTypes;\n\n /**\n * Column to be sorted at initialization, ie:\n * sort_col_at_start: [1, true]\n * @type {Array}\n */\n this.sortColAtStart = isArray(opts.sort_col_at_start) ?\n opts.sort_col_at_start : null;\n\n /**\n * Enable asynchronous sort, if triggers are external\n * @type {Boolean}\n */\n this.asyncSort = Boolean(opts.async_sort);\n\n /**\n * List of element IDs triggering sort on a per column basis\n * @type {Array}\n */\n this.triggerIds = isArray(opts.trigger_ids) ? opts.trigger_ids : [];\n\n // edit .sort-arrow.descending / .sort-arrow.ascending in\n // tablefilter.css to reflect any path change\n /**\n * Path to images\n * @type {String}\n */\n this.imgPath = opts.images_path || tf.themesPath;\n\n /**\n * Blank image file name\n * @type {String}\n */\n this.imgBlank = opts.image_blank || 'blank.png';\n\n /**\n * Css class for sort indicator image\n * @type {String}\n */\n this.imgClassName = opts.image_class_name || 'sort-arrow';\n\n /**\n * Css class for ascending sort indicator image\n * @type {String}\n */\n this.imgAscClassName = opts.image_asc_class_name || 'ascending';\n\n /**\n * Css class for descending sort indicator image\n * @type {String}\n */\n this.imgDescClassName = opts.image_desc_class_name || 'descending';\n\n /**\n * Cell attribute key storing custom value used for sorting\n * @type {String}\n */\n this.customKey = opts.custom_key || 'data-tf-sortKey';\n\n /**\n * Callback fired when sort extension is instanciated\n * @type {Function}\n */\n this.onSortLoaded = isFn(opts.on_sort_loaded) ?\n opts.on_sort_loaded : EMPTY_FN;\n\n /**\n * Callback fired before a table column is sorted\n * @type {Function}\n */\n this.onBeforeSort = isFn(opts.on_before_sort) ?\n opts.on_before_sort : EMPTY_FN;\n\n /**\n * Callback fired after a table column is sorted\n * @type {Function}\n */\n this.onAfterSort = isFn(opts.on_after_sort) ?\n opts.on_after_sort : EMPTY_FN;\n\n /**\n * SortableTable instance\n * @private\n */\n this.stt = null;\n\n this.enable();\n }\n\n /**\n * Initializes AdapterSortableTable instance\n */\n init() {\n if (this.initialized) {\n return;\n }\n let tf = this.tf;\n let adpt = this;\n\n // SortableTable class sanity check (sortabletable.js)\n if (isUndef(SortableTable)) {\n throw new Error('SortableTable class not found.');\n }\n\n // Add any date format if needed\n this.emitter.emit('add-date-type-formats', this.tf, this.sortTypes);\n\n this.overrideSortableTable();\n this.setSortTypes();\n\n this.onSortLoaded(tf, this);\n\n /*** SortableTable callbacks ***/\n this.stt.onbeforesort = function () {\n adpt.onBeforeSort(tf, adpt.stt.sortColumn);\n\n /*** sort behaviour for paging ***/\n if (tf.paging) {\n tf.feature('paging').disable();\n }\n };\n\n this.stt.onsort = function () {\n adpt.sorted = true;\n\n //sort behaviour for paging\n if (tf.paging) {\n let paginator = tf.feature('paging');\n // recalculate valid rows index as sorting may have change it\n tf.getValidRows(true);\n paginator.enable();\n paginator.setPage(paginator.getPage());\n }\n\n adpt.onAfterSort(tf, adpt.stt.sortColumn, adpt.stt.descending);\n adpt.emitter.emit('column-sorted', tf, adpt.stt.sortColumn,\n adpt.stt.descending);\n };\n\n // Column sort at start\n let sortColAtStart = adpt.sortColAtStart;\n if (sortColAtStart) {\n this.stt.sort(sortColAtStart[0], sortColAtStart[1]);\n }\n\n this.emitter.on(['sort'],\n (tf, colIdx, desc) => this.sortByColumnIndex(colIdx, desc));\n\n /** @inherited */\n this.initialized = true;\n\n this.emitter.emit('sort-initialized', tf, this);\n }\n\n /**\n * Sort specified column\n * @param {Number} colIdx Column index\n * @param {Boolean} desc Optional: descending manner\n */\n sortByColumnIndex(colIdx, desc) {\n this.stt.sort(colIdx, desc);\n }\n\n /**\n * Set SortableTable overrides for TableFilter integration\n */\n overrideSortableTable() {\n let adpt = this,\n tf = this.tf;\n\n /**\n * Overrides headerOnclick method in order to handle th event\n * @param {Object} e [description]\n */\n SortableTable.prototype.headerOnclick = function (evt) {\n if (!adpt.initialized) {\n return;\n }\n\n // find Header element\n let el = evt.target || evt.srcElement;\n\n while (el.tagName !== CELL_TAG && el.tagName !== HEADER_TAG) {\n el = el.parentNode;\n }\n\n this.sort(\n SortableTable.msie ?\n SortableTable.getCellIndex(el) : el.cellIndex\n );\n };\n\n /**\n * Overrides getCellIndex IE returns wrong cellIndex when columns are\n * hidden\n * @param {Object} oTd TD element\n * @return {Number} Cell index\n */\n SortableTable.getCellIndex = function (oTd) {\n let cells = oTd.parentNode.cells,\n l = cells.length, i;\n for (i = 0; cells[i] !== oTd && i < l; i++) { }\n return i;\n };\n\n /**\n * Overrides initHeader in order to handle filters row position\n * @param {Array} oSortTypes\n */\n SortableTable.prototype.initHeader = function (oSortTypes) {\n let stt = this;\n if (!stt.tHead) {\n if (tf.gridLayout) {\n stt.tHead = tf.feature('gridLayout').headTbl.tHead;\n } else {\n return;\n }\n }\n\n stt.headersRow = tf.headersRow;\n let cells = stt.tHead.rows[stt.headersRow].cells;\n stt.sortTypes = oSortTypes || [];\n let l = cells.length;\n let img, c;\n\n for (let i = 0; i < l; i++) {\n c = cells[i];\n if (stt.sortTypes[i] !== null && stt.sortTypes[i] !== 'None') {\n c.style.cursor = 'pointer';\n img = createElm('img',\n ['src', adpt.imgPath + adpt.imgBlank]);\n c.appendChild(img);\n if (stt.sortTypes[i] !== null) {\n c.setAttribute('_sortType', stt.sortTypes[i]);\n }\n addEvt(c, 'click', stt._headerOnclick);\n } else {\n c.setAttribute('_sortType', oSortTypes[i]);\n c._sortType = 'None';\n }\n }\n stt.updateHeaderArrows();\n };\n\n /**\n * Overrides updateHeaderArrows in order to handle arrows indicators\n */\n SortableTable.prototype.updateHeaderArrows = function () {\n let stt = this;\n let cells, l, img;\n\n // external headers\n if (adpt.asyncSort && adpt.triggerIds.length > 0) {\n let triggers = adpt.triggerIds;\n cells = [];\n l = triggers.length;\n for (let j = 0; j < l; j++) {\n cells.push(elm(triggers[j]));\n }\n } else {\n if (!this.tHead) {\n return;\n }\n cells = stt.tHead.rows[stt.headersRow].cells;\n l = cells.length;\n }\n for (let i = 0; i < l; i++) {\n let cell = cells[i];\n if (!cell) {\n continue;\n }\n let cellAttr = cell.getAttribute('_sortType');\n if (cellAttr !== null && cellAttr !== 'None') {\n img = cell.lastChild || cell;\n if (img.nodeName.toLowerCase() !== 'img') {\n img = createElm('img',\n ['src', adpt.imgPath + adpt.imgBlank]);\n cell.appendChild(img);\n }\n if (i === stt.sortColumn) {\n img.className = adpt.imgClassName + ' ' +\n (this.descending ?\n adpt.imgDescClassName :\n adpt.imgAscClassName);\n } else {\n img.className = adpt.imgClassName;\n }\n }\n }\n };\n\n /**\n * Overrides getRowValue for custom key value feature\n * @param {Object} oRow Row element\n * @param {String} sType\n * @param {Number} nColumn\n * @return {String}\n */\n SortableTable.prototype.getRowValue = function (oRow, sType, nColumn) {\n let stt = this;\n // if we have defined a custom getRowValue use that\n let sortTypeInfo = stt._sortTypeInfo[sType];\n if (sortTypeInfo && sortTypeInfo.getRowValue) {\n return sortTypeInfo.getRowValue(oRow, nColumn);\n }\n let c = oRow.cells[nColumn];\n let s = SortableTable.getInnerText(c);\n return stt.getValueFromString(s, sType);\n };\n\n /**\n * Overrides getInnerText in order to avoid Firefox unexpected sorting\n * behaviour with untrimmed text elements\n * @param {Object} oNode DOM element\n * @return {String} DOM element inner text\n */\n SortableTable.getInnerText = function (oNode) {\n if (!oNode) {\n return;\n }\n if (oNode.getAttribute(adpt.customKey)) {\n return oNode.getAttribute(adpt.customKey);\n } else {\n return getText(oNode);\n }\n };\n }\n\n /**\n * Adds a sort type\n */\n addSortType(...args) {\n // Extract the arguments\n let [id, caster, sorter] = args;\n SortableTable.prototype.addSortType(id, caster, sorter);\n }\n\n /**\n * Sets the sort types on a column basis\n * @private\n */\n setSortTypes() {\n let tf = this.tf,\n sortTypes = this.sortTypes,\n _sortTypes = [];\n\n for (let i = 0; i < tf.nbCells; i++) {\n let colType;\n if (sortTypes[i]) {\n colType = sortTypes[i];\n if (isObj(colType)) {\n if (colType.type === DATE) {\n colType = this._addDateType(i, sortTypes);\n }\n else if (colType.type === FORMATTED_NUMBER) {\n let decimal = colType.decimal || tf.decimalSeparator;\n colType = this._addNumberType(i, decimal);\n }\n } else {\n colType = colType.toLowerCase();\n if (colType === DATE) {\n colType = this._addDateType(i, sortTypes);\n }\n else if (colType === FORMATTED_NUMBER ||\n colType === NUMBER) {\n colType = this._addNumberType(i, tf.decimalSeparator);\n }\n else if (colType === NONE) {\n // TODO: normalise 'none' vs 'None'\n colType = 'None';\n }\n }\n } else {\n colType = STRING;\n }\n _sortTypes.push(colType);\n }\n\n //Public TF method to add sort type\n\n //Custom sort types\n this.addSortType('caseinsensitivestring', SortableTable.toUpperCase);\n this.addSortType(STRING);\n this.addSortType(IP_ADDRESS, ipAddress, sortIP);\n\n this.stt = new SortableTable(tf.tbl, _sortTypes);\n\n /*** external table headers adapter ***/\n if (this.asyncSort && this.triggerIds.length > 0) {\n let triggers = this.triggerIds;\n for (let j = 0; j < triggers.length; j++) {\n if (triggers[j] === null) {\n continue;\n }\n let trigger = elm(triggers[j]);\n if (trigger) {\n trigger.style.cursor = 'pointer';\n\n addEvt(trigger, 'click', (evt) => {\n let elm = evt.target;\n if (!this.tf.sort) {\n return;\n }\n this.stt.asyncSort(triggers.indexOf(elm.id));\n });\n trigger.setAttribute('_sortType', _sortTypes[j]);\n }\n }\n }\n }\n\n _addDateType(colIndex, types) {\n let tf = this.tf;\n let dateType = tf.feature('dateType');\n let locale = dateType.getOptions(colIndex, types).locale || tf.locale;\n let colType = `${DATE}-${locale}`;\n\n this.addSortType(colType, (value) => {\n let parsedDate = dateType.parse(value, locale);\n // Invalid date defaults to Wed Feb 04 -768 11:00:00\n return isNaN(+parsedDate) ? new Date(-86400000000000) : parsedDate;\n });\n return colType;\n }\n\n _addNumberType(colIndex, decimal) {\n let colType = `${FORMATTED_NUMBER}${decimal === '.' ? '' : '-custom'}`;\n\n this.addSortType(colType, (value) => {\n return parseNb(value, decimal);\n });\n return colType;\n }\n\n /**\n * Remove extension\n */\n destroy() {\n if (!this.initialized) {\n return;\n }\n let tf = this.tf;\n this.emitter.off(['sort'],\n (tf, colIdx, desc) => this.sortByColumnIndex(colIdx, desc));\n this.sorted = false;\n this.stt.destroy();\n\n let ids = tf.getFiltersId();\n for (let idx = 0; idx < ids.length; idx++) {\n let header = tf.getHeaderElement(idx);\n let img = tag(header, 'img');\n\n if (img.length === 1) {\n header.removeChild(img[0]);\n }\n }\n this.initialized = false;\n }\n\n}\n\n//Converters\nfunction ipAddress(value) {\n let vals = value.split('.');\n for (let x in vals) {\n let val = vals[x];\n while (3 > val.length) {\n val = '0' + val;\n }\n vals[x] = val;\n }\n return vals.join('.');\n}\n\nfunction sortIP(a, b) {\n let aa = ipAddress(a.value.toLowerCase());\n let bb = ipAddress(b.value.toLowerCase());\n if (aa === bb) {\n return 0;\n } else if (aa < bb) {\n return -1;\n } else {\n return 1;\n }\n}\n"
|
|
},
|
|
{
|
|
"__docId__": 192,
|
|
"kind": "class",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "AdapterSortableTable",
|
|
"memberof": "src/extensions/sort/adapterSortabletable.js",
|
|
"longname": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/extensions/sort/adapterSortabletable.js",
|
|
"importStyle": "AdapterSortableTable",
|
|
"description": "SortableTable Adapter module",
|
|
"lineNumber": 14,
|
|
"interface": false,
|
|
"extends": [
|
|
"src/feature.js~Feature"
|
|
]
|
|
},
|
|
{
|
|
"__docId__": 193,
|
|
"kind": "constructor",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "constructor",
|
|
"memberof": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable",
|
|
"longname": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable#constructor",
|
|
"access": null,
|
|
"description": "Creates an instance of AdapterSortableTable",
|
|
"lineNumber": 21,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"TableFilter"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "tf",
|
|
"description": "TableFilter instance"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Object"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "opts",
|
|
"description": "Configuration object"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 194,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "name",
|
|
"memberof": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable",
|
|
"longname": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable#name",
|
|
"access": null,
|
|
"description": "Module name",
|
|
"lineNumber": 28,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 195,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "desc",
|
|
"memberof": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable",
|
|
"longname": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable#desc",
|
|
"access": null,
|
|
"description": "Module description",
|
|
"lineNumber": 34,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 196,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "sorted",
|
|
"memberof": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable",
|
|
"longname": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable#sorted",
|
|
"access": "private",
|
|
"description": "Indicate whether table previously sorted",
|
|
"lineNumber": 41,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 197,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "sortTypes",
|
|
"memberof": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable",
|
|
"longname": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable#sortTypes",
|
|
"access": null,
|
|
"description": "List of sort type per column basis",
|
|
"lineNumber": 47,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 198,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "sortColAtStart",
|
|
"memberof": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable",
|
|
"longname": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable#sortColAtStart",
|
|
"access": null,
|
|
"description": "Column to be sorted at initialization, ie:\nsort_col_at_start: [1, true]",
|
|
"lineNumber": 54,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 199,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "asyncSort",
|
|
"memberof": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable",
|
|
"longname": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable#asyncSort",
|
|
"access": null,
|
|
"description": "Enable asynchronous sort, if triggers are external",
|
|
"lineNumber": 61,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 200,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "triggerIds",
|
|
"memberof": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable",
|
|
"longname": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable#triggerIds",
|
|
"access": null,
|
|
"description": "List of element IDs triggering sort on a per column basis",
|
|
"lineNumber": 67,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 201,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "imgPath",
|
|
"memberof": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable",
|
|
"longname": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable#imgPath",
|
|
"access": null,
|
|
"description": "Path to images",
|
|
"lineNumber": 75,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 202,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "imgBlank",
|
|
"memberof": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable",
|
|
"longname": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable#imgBlank",
|
|
"access": null,
|
|
"description": "Blank image file name",
|
|
"lineNumber": 81,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 203,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "imgClassName",
|
|
"memberof": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable",
|
|
"longname": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable#imgClassName",
|
|
"access": null,
|
|
"description": "Css class for sort indicator image",
|
|
"lineNumber": 87,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 204,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "imgAscClassName",
|
|
"memberof": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable",
|
|
"longname": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable#imgAscClassName",
|
|
"access": null,
|
|
"description": "Css class for ascending sort indicator image",
|
|
"lineNumber": 93,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 205,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "imgDescClassName",
|
|
"memberof": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable",
|
|
"longname": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable#imgDescClassName",
|
|
"access": null,
|
|
"description": "Css class for descending sort indicator image",
|
|
"lineNumber": 99,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 206,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "customKey",
|
|
"memberof": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable",
|
|
"longname": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable#customKey",
|
|
"access": null,
|
|
"description": "Cell attribute key storing custom value used for sorting",
|
|
"lineNumber": 105,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 207,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "onSortLoaded",
|
|
"memberof": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable",
|
|
"longname": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable#onSortLoaded",
|
|
"access": null,
|
|
"description": "Callback fired when sort extension is instanciated",
|
|
"lineNumber": 111,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Function"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 208,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "onBeforeSort",
|
|
"memberof": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable",
|
|
"longname": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable#onBeforeSort",
|
|
"access": null,
|
|
"description": "Callback fired before a table column is sorted",
|
|
"lineNumber": 118,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Function"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 209,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "onAfterSort",
|
|
"memberof": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable",
|
|
"longname": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable#onAfterSort",
|
|
"access": null,
|
|
"description": "Callback fired after a table column is sorted",
|
|
"lineNumber": 125,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Function"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 210,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "stt",
|
|
"memberof": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable",
|
|
"longname": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable#stt",
|
|
"access": "private",
|
|
"description": "SortableTable instance",
|
|
"lineNumber": 132,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 211,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "init",
|
|
"memberof": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable",
|
|
"longname": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable#init",
|
|
"access": null,
|
|
"description": "Initializes AdapterSortableTable instance",
|
|
"lineNumber": 140,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 212,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "initialized",
|
|
"memberof": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable",
|
|
"longname": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable#initialized",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 197,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@inherited",
|
|
"tagValue": ""
|
|
}
|
|
],
|
|
"type": {
|
|
"types": [
|
|
"boolean"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 213,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "sortByColumnIndex",
|
|
"memberof": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable",
|
|
"longname": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable#sortByColumnIndex",
|
|
"access": null,
|
|
"description": "Sort specified column",
|
|
"lineNumber": 207,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "colIdx",
|
|
"description": "Column index"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "desc",
|
|
"description": "Optional: descending manner"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 214,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "overrideSortableTable",
|
|
"memberof": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable",
|
|
"longname": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable#overrideSortableTable",
|
|
"access": null,
|
|
"description": "Set SortableTable overrides for TableFilter integration",
|
|
"lineNumber": 214,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 215,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "addSortType",
|
|
"memberof": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable",
|
|
"longname": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable#addSortType",
|
|
"access": null,
|
|
"description": "Adds a sort type",
|
|
"lineNumber": 379,
|
|
"params": [
|
|
{
|
|
"name": "args",
|
|
"types": [
|
|
"...*"
|
|
],
|
|
"spread": true
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 216,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "setSortTypes",
|
|
"memberof": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable",
|
|
"longname": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable#setSortTypes",
|
|
"access": "private",
|
|
"description": "Sets the sort types on a column basis",
|
|
"lineNumber": 389,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 217,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "stt",
|
|
"memberof": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable",
|
|
"longname": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable#stt",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 433,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 218,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "_addDateType",
|
|
"memberof": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable",
|
|
"longname": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable#_addDateType",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 459,
|
|
"undocument": true,
|
|
"params": [
|
|
{
|
|
"name": "colIndex",
|
|
"types": [
|
|
"*"
|
|
]
|
|
},
|
|
{
|
|
"name": "types",
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
],
|
|
"return": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 219,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "_addNumberType",
|
|
"memberof": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable",
|
|
"longname": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable#_addNumberType",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 473,
|
|
"undocument": true,
|
|
"params": [
|
|
{
|
|
"name": "colIndex",
|
|
"types": [
|
|
"*"
|
|
]
|
|
},
|
|
{
|
|
"name": "decimal",
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
],
|
|
"return": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 220,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "destroy",
|
|
"memberof": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable",
|
|
"longname": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable#destroy",
|
|
"access": null,
|
|
"description": "Remove extension",
|
|
"lineNumber": 485,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 221,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "sorted",
|
|
"memberof": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable",
|
|
"longname": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable#sorted",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 492,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"boolean"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 222,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "initialized",
|
|
"memberof": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable",
|
|
"longname": "src/extensions/sort/adapterSortabletable.js~AdapterSortableTable#initialized",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 504,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"boolean"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 223,
|
|
"kind": "function",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "ipAddress",
|
|
"memberof": "src/extensions/sort/adapterSortabletable.js",
|
|
"longname": "src/extensions/sort/adapterSortabletable.js~ipAddress",
|
|
"access": null,
|
|
"export": false,
|
|
"importPath": "tablefilter/src/extensions/sort/adapterSortabletable.js",
|
|
"importStyle": null,
|
|
"description": null,
|
|
"lineNumber": 510,
|
|
"undocument": true,
|
|
"params": [
|
|
{
|
|
"name": "value",
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
],
|
|
"return": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 224,
|
|
"kind": "function",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "sortIP",
|
|
"memberof": "src/extensions/sort/adapterSortabletable.js",
|
|
"longname": "src/extensions/sort/adapterSortabletable.js~sortIP",
|
|
"access": null,
|
|
"export": false,
|
|
"importPath": "tablefilter/src/extensions/sort/adapterSortabletable.js",
|
|
"importStyle": null,
|
|
"description": null,
|
|
"lineNumber": 522,
|
|
"undocument": true,
|
|
"params": [
|
|
{
|
|
"name": "a",
|
|
"types": [
|
|
"*"
|
|
]
|
|
},
|
|
{
|
|
"name": "b",
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
],
|
|
"return": {
|
|
"types": [
|
|
"number"
|
|
]
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 225,
|
|
"kind": "file",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "src/extensions/sort/sort.js",
|
|
"memberof": null,
|
|
"longname": "src/extensions/sort/sort.js",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 1,
|
|
"content": "import AdapterSortableTable from './adapterSortabletable';\nimport {root} from '../../root';\n\nif (!root.SortableTable) {\n require('script!sortabletable');\n}\n\nexport default AdapterSortableTable;\n"
|
|
},
|
|
{
|
|
"__docId__": 226,
|
|
"kind": "file",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "src/feature.js",
|
|
"memberof": null,
|
|
"longname": "src/feature.js",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 2,
|
|
"content": "\nconst NOTIMPLEMENTED = 'Not implemented.';\n\n/**\n * Base class defining the interface of a TableFilter feature\n */\nexport class Feature {\n /**\n * Creates an instance of Feature\n * @param {Object} tf TableFilter instance\n * @param {String} feature Feature name known by TableFilter\n */\n constructor(tf, feature) {\n /**\n * TableFilter instance\n * @type {TableFilter}\n */\n this.tf = tf;\n\n /**\n * Feature name\n * @type {String}\n */\n this.feature = feature;\n\n /**\n * TableFilter feature setting\n * @type {Boolean}\n */\n this.enabled = tf[feature];\n\n /**\n * TableFilter configuration\n * @type {Object}\n */\n this.config = tf.config();\n\n /**\n * TableFilter emitter instance\n * @type {Emitter}\n */\n this.emitter = tf.emitter;\n\n /**\n * Field indicating whether Feature is initialized\n * @type {Boolean}\n */\n this.initialized = false;\n\n /** Subscribe to destroy event */\n this.emitter.on(['destroy'], () => this.destroy());\n }\n\n /**\n * Initialize the feature\n */\n init() {\n throw new Error(NOTIMPLEMENTED);\n }\n\n /**\n * Reset the feature after being disabled\n */\n reset() {\n this.enable();\n this.init();\n }\n\n /**\n * Destroy the feature\n */\n destroy() {\n throw new Error(NOTIMPLEMENTED);\n }\n\n /**\n * Enable the feature\n */\n enable() {\n this.enabled = true;\n }\n\n /**\n * Disable the feature\n */\n disable() {\n this.enabled = false;\n }\n\n /**\n * Indicate whether the feature is enabled or not\n * @returns {Boolean}\n */\n isEnabled() {\n return this.enabled;\n }\n}\n"
|
|
},
|
|
{
|
|
"__docId__": 227,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "NOTIMPLEMENTED",
|
|
"memberof": "src/feature.js",
|
|
"longname": "src/feature.js~NOTIMPLEMENTED",
|
|
"access": null,
|
|
"export": false,
|
|
"importPath": "tablefilter/src/feature.js",
|
|
"importStyle": null,
|
|
"description": null,
|
|
"lineNumber": 2,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"string"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 228,
|
|
"kind": "class",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "Feature",
|
|
"memberof": "src/feature.js",
|
|
"longname": "src/feature.js~Feature",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/feature.js",
|
|
"importStyle": "{Feature}",
|
|
"description": "Base class defining the interface of a TableFilter feature",
|
|
"lineNumber": 7,
|
|
"interface": false
|
|
},
|
|
{
|
|
"__docId__": 229,
|
|
"kind": "constructor",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "constructor",
|
|
"memberof": "src/feature.js~Feature",
|
|
"longname": "src/feature.js~Feature#constructor",
|
|
"access": null,
|
|
"description": "Creates an instance of Feature",
|
|
"lineNumber": 13,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Object"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "tf",
|
|
"description": "TableFilter instance"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "feature",
|
|
"description": "Feature name known by TableFilter"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 230,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "tf",
|
|
"memberof": "src/feature.js~Feature",
|
|
"longname": "src/feature.js~Feature#tf",
|
|
"access": null,
|
|
"description": "TableFilter instance",
|
|
"lineNumber": 18,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"TableFilter"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 231,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "feature",
|
|
"memberof": "src/feature.js~Feature",
|
|
"longname": "src/feature.js~Feature#feature",
|
|
"access": null,
|
|
"description": "Feature name",
|
|
"lineNumber": 24,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 232,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "enabled",
|
|
"memberof": "src/feature.js~Feature",
|
|
"longname": "src/feature.js~Feature#enabled",
|
|
"access": null,
|
|
"description": "TableFilter feature setting",
|
|
"lineNumber": 30,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 233,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "config",
|
|
"memberof": "src/feature.js~Feature",
|
|
"longname": "src/feature.js~Feature#config",
|
|
"access": null,
|
|
"description": "TableFilter configuration",
|
|
"lineNumber": 36,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Object"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 234,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "emitter",
|
|
"memberof": "src/feature.js~Feature",
|
|
"longname": "src/feature.js~Feature#emitter",
|
|
"access": null,
|
|
"description": "TableFilter emitter instance",
|
|
"lineNumber": 42,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Emitter"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 235,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "initialized",
|
|
"memberof": "src/feature.js~Feature",
|
|
"longname": "src/feature.js~Feature#initialized",
|
|
"access": null,
|
|
"description": "Field indicating whether Feature is initialized",
|
|
"lineNumber": 48,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 236,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "init",
|
|
"memberof": "src/feature.js~Feature",
|
|
"longname": "src/feature.js~Feature#init",
|
|
"access": null,
|
|
"description": "Initialize the feature",
|
|
"lineNumber": 57,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 237,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "reset",
|
|
"memberof": "src/feature.js~Feature",
|
|
"longname": "src/feature.js~Feature#reset",
|
|
"access": null,
|
|
"description": "Reset the feature after being disabled",
|
|
"lineNumber": 64,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 238,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "destroy",
|
|
"memberof": "src/feature.js~Feature",
|
|
"longname": "src/feature.js~Feature#destroy",
|
|
"access": null,
|
|
"description": "Destroy the feature",
|
|
"lineNumber": 72,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 239,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "enable",
|
|
"memberof": "src/feature.js~Feature",
|
|
"longname": "src/feature.js~Feature#enable",
|
|
"access": null,
|
|
"description": "Enable the feature",
|
|
"lineNumber": 79,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 240,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "enabled",
|
|
"memberof": "src/feature.js~Feature",
|
|
"longname": "src/feature.js~Feature#enabled",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 80,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"boolean"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 241,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "disable",
|
|
"memberof": "src/feature.js~Feature",
|
|
"longname": "src/feature.js~Feature#disable",
|
|
"access": null,
|
|
"description": "Disable the feature",
|
|
"lineNumber": 86,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 242,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "enabled",
|
|
"memberof": "src/feature.js~Feature",
|
|
"longname": "src/feature.js~Feature#enabled",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 87,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"boolean"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 243,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "isEnabled",
|
|
"memberof": "src/feature.js~Feature",
|
|
"longname": "src/feature.js~Feature#isEnabled",
|
|
"access": null,
|
|
"description": "Indicate whether the feature is enabled or not",
|
|
"lineNumber": 94,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@returns",
|
|
"tagValue": "{Boolean}"
|
|
}
|
|
],
|
|
"params": [],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": ""
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 244,
|
|
"kind": "file",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "src/modules/alternateRows.js",
|
|
"memberof": null,
|
|
"longname": "src/modules/alternateRows.js",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 1,
|
|
"content": "import {Feature} from '../feature';\nimport {addClass, removeClass} from '../dom';\n\n/**\n * Rows with alternating background color for improved readability\n */\nexport class AlternateRows extends Feature {\n\n /**\n * Creates an instance of AlternateRows.\n *\n * @param {Object} tf TableFilter instance\n */\n constructor(tf) {\n super(tf, 'alternateRows');\n\n let config = this.config;\n /**\n * Css class for even rows (default: 'even')\n * @type {String}\n */\n this.evenCss = config.even_row_css_class || 'even';\n\n /**\n * Css class for odd rows (default: 'odd')\n * @type {String}\n */\n this.oddCss = config.odd_row_css_class || 'odd';\n }\n\n /**\n * Sets alternating rows color\n */\n init() {\n if (this.initialized) {\n return;\n }\n\n this.processAll();\n\n // Subscribe to events\n this.emitter.on(['row-processed', 'row-paged'],\n (tf, rowIndex, arrIndex, isValid) =>\n this.processRow(rowIndex, arrIndex, isValid));\n this.emitter.on(['column-sorted'], () => this.processAll());\n\n /** @inherited */\n this.initialized = true;\n }\n\n /**\n * Apply background to all valid rows\n */\n processAll() {\n if (!this.isEnabled()) {\n return;\n }\n let tf = this.tf;\n let validRowsIndex = tf.getValidRows(true);\n let indexLen = validRowsIndex.length;\n let idx = 0;\n\n //alternates bg color\n for (let j = 0; j < indexLen; j++) {\n let rowIdx = validRowsIndex[j];\n this.setRowBg(rowIdx, idx);\n idx++;\n }\n }\n\n /**\n * Set/remove row background based on row validation\n * @param {Number} rowIdx Row index\n * @param {Number} arrIdx Array index\n * @param {Boolean} isValid Valid row flag\n */\n processRow(rowIdx, arrIdx, isValid) {\n if (isValid) {\n this.setRowBg(rowIdx, arrIdx);\n } else {\n this.removeRowBg(rowIdx);\n }\n }\n\n /**\n * Sets row background color\n * @param {Number} rowIdx Row index\n * @param {Number} idx Valid rows collection index needed to calculate bg\n * color\n * @private\n */\n setRowBg(rowIdx, idx) {\n if (!this.isEnabled() || isNaN(rowIdx)) {\n return;\n }\n let rows = this.tf.tbl.rows;\n let i = isNaN(idx) ? rowIdx : idx;\n this.removeRowBg(rowIdx);\n\n addClass(rows[rowIdx], (i % 2) ? this.evenCss : this.oddCss);\n }\n\n /**\n * Removes row background color\n * @param {Number} idx Row index\n * @private\n */\n removeRowBg(idx) {\n if (isNaN(idx)) {\n return;\n }\n let rows = this.tf.tbl.rows;\n removeClass(rows[idx], this.oddCss);\n removeClass(rows[idx], this.evenCss);\n }\n\n /**\n * Removes all alternating backgrounds\n */\n destroy() {\n if (!this.initialized) {\n return;\n }\n let nbRows = this.tf.getRowsNb(true);\n for (let i = 0; i < nbRows; i++) {\n this.removeRowBg(i);\n }\n\n // Unsubscribe to events\n this.emitter.off(['row-processed', 'row-paged'],\n (tf, rowIndex, arrIndex, isValid) =>\n this.processRow(rowIndex, arrIndex, isValid));\n this.emitter.off(['column-sorted'], () => this.processAll());\n\n this.initialized = false;\n }\n\n}\n"
|
|
},
|
|
{
|
|
"__docId__": 245,
|
|
"kind": "class",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "AlternateRows",
|
|
"memberof": "src/modules/alternateRows.js",
|
|
"longname": "src/modules/alternateRows.js~AlternateRows",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/modules/alternateRows.js",
|
|
"importStyle": "{AlternateRows}",
|
|
"description": "Rows with alternating background color for improved readability",
|
|
"lineNumber": 7,
|
|
"interface": false,
|
|
"extends": [
|
|
"src/feature.js~Feature"
|
|
]
|
|
},
|
|
{
|
|
"__docId__": 246,
|
|
"kind": "constructor",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "constructor",
|
|
"memberof": "src/modules/alternateRows.js~AlternateRows",
|
|
"longname": "src/modules/alternateRows.js~AlternateRows#constructor",
|
|
"access": null,
|
|
"description": "Creates an instance of AlternateRows.",
|
|
"lineNumber": 14,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Object"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "tf",
|
|
"description": "TableFilter instance"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 247,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "evenCss",
|
|
"memberof": "src/modules/alternateRows.js~AlternateRows",
|
|
"longname": "src/modules/alternateRows.js~AlternateRows#evenCss",
|
|
"access": null,
|
|
"description": "Css class for even rows (default: 'even')",
|
|
"lineNumber": 22,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 248,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "oddCss",
|
|
"memberof": "src/modules/alternateRows.js~AlternateRows",
|
|
"longname": "src/modules/alternateRows.js~AlternateRows#oddCss",
|
|
"access": null,
|
|
"description": "Css class for odd rows (default: 'odd')",
|
|
"lineNumber": 28,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 249,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "init",
|
|
"memberof": "src/modules/alternateRows.js~AlternateRows",
|
|
"longname": "src/modules/alternateRows.js~AlternateRows#init",
|
|
"access": null,
|
|
"description": "Sets alternating rows color",
|
|
"lineNumber": 34,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 250,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "initialized",
|
|
"memberof": "src/modules/alternateRows.js~AlternateRows",
|
|
"longname": "src/modules/alternateRows.js~AlternateRows#initialized",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 48,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@inherited",
|
|
"tagValue": ""
|
|
}
|
|
],
|
|
"type": {
|
|
"types": [
|
|
"boolean"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 251,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "processAll",
|
|
"memberof": "src/modules/alternateRows.js~AlternateRows",
|
|
"longname": "src/modules/alternateRows.js~AlternateRows#processAll",
|
|
"access": null,
|
|
"description": "Apply background to all valid rows",
|
|
"lineNumber": 54,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 252,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "processRow",
|
|
"memberof": "src/modules/alternateRows.js~AlternateRows",
|
|
"longname": "src/modules/alternateRows.js~AlternateRows#processRow",
|
|
"access": null,
|
|
"description": "Set/remove row background based on row validation",
|
|
"lineNumber": 77,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "rowIdx",
|
|
"description": "Row index"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "arrIdx",
|
|
"description": "Array index"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "isValid",
|
|
"description": "Valid row flag"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 253,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "setRowBg",
|
|
"memberof": "src/modules/alternateRows.js~AlternateRows",
|
|
"longname": "src/modules/alternateRows.js~AlternateRows#setRowBg",
|
|
"access": "private",
|
|
"description": "Sets row background color",
|
|
"lineNumber": 92,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "rowIdx",
|
|
"description": "Row index"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "idx",
|
|
"description": "Valid rows collection index needed to calculate bg\ncolor"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 254,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "removeRowBg",
|
|
"memberof": "src/modules/alternateRows.js~AlternateRows",
|
|
"longname": "src/modules/alternateRows.js~AlternateRows#removeRowBg",
|
|
"access": "private",
|
|
"description": "Removes row background color",
|
|
"lineNumber": 108,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "idx",
|
|
"description": "Row index"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 255,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "destroy",
|
|
"memberof": "src/modules/alternateRows.js~AlternateRows",
|
|
"longname": "src/modules/alternateRows.js~AlternateRows#destroy",
|
|
"access": null,
|
|
"description": "Removes all alternating backgrounds",
|
|
"lineNumber": 120,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 256,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "initialized",
|
|
"memberof": "src/modules/alternateRows.js~AlternateRows",
|
|
"longname": "src/modules/alternateRows.js~AlternateRows#initialized",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 135,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"boolean"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 257,
|
|
"kind": "file",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "src/modules/checkList.js",
|
|
"memberof": null,
|
|
"longname": "src/modules/checkList.js",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 1,
|
|
"content": "import {Feature} from '../feature';\nimport {\n addClass, createCheckItem, createText, createElm, elm, getText,\n removeClass, tag\n} from '../dom';\nimport {has} from '../array';\nimport {matchCase, trim, rgxEsc} from '../string';\nimport {ignoreCase, numSortAsc, numSortDesc} from '../sort';\nimport {addEvt, removeEvt, targetEvt} from '../event';\nimport {isEmpty} from '../types';\nimport {CHECKLIST, NONE} from '../const';\n\nconst SORT_ERROR = 'Filter options for column {0} cannot be sorted in ' +\n '{1} manner.';\n\n/**\n * Checklist filter UI component\n */\nexport class CheckList extends Feature {\n\n /**\n * Creates an instance of CheckList\n * @param {TableFilter} tf TableFilter instance\n */\n constructor(tf) {\n super(tf, 'checkList');\n\n let f = this.config;\n\n /**\n * List of container DOM elements\n * @type {Array}\n */\n this.containers = [];\n\n /**\n * Css class for the container of the checklist filter (div)\n * @type {String}\n */\n this.containerCssClass = f.div_checklist_css_class || 'div_checklist';\n\n /**\n * Css class for the checklist filter element (ul)\n * @type {String}\n */\n this.filterCssClass = f.checklist_css_class || 'flt_checklist';\n\n /**\n * Css class for the item of a checklist (li)\n * @type {String}\n */\n this.itemCssClass = f.checklist_item_css_class || 'flt_checklist_item';\n\n /**\n * Css class for a selected item of a checklist (li)\n * @type {String}\n */\n this.selectedItemCssClass =\n f.checklist_selected_item_css_class || 'flt_checklist_slc_item';\n\n /**\n * Text placed in the filter's container when load filter on demand\n * feature is enabled\n * @type {String}\n */\n this.activateText =\n f.activate_checklist_text || 'Click to load filter data';\n\n /**\n * Css class for a disabled item of a checklist (li)\n * @type {String}\n */\n this.disabledItemCssClass = f.checklist_item_disabled_css_class ||\n 'flt_checklist_item_disabled';\n\n /**\n * Enable the reset filter option as first item\n * @type {Boolean}\n */\n this.enableResetOption = f.enable_checklist_reset_filter === false ?\n false : true;\n\n /**\n * Prefix for container element ID\n * @type {String}\n * @private\n */\n this.prfx = 'chkdiv_';\n\n /**\n * Has custom options\n * @type {Boolean}\n * @private\n */\n this.isCustom = false;\n\n /**\n * List of options values\n * @type {Array}\n * @private\n */\n this.opts = [];\n\n /**\n * List of options texts for custom values\n * @type {Array}\n * @private\n */\n this.optsTxt = [];\n\n /**\n * List of options to be excluded from the checklist filter\n * @type {Array}\n * @private\n */\n this.excludedOpts = [];\n }\n\n /**\n * Checklist option click event handler\n * @param {Event} evt\n */\n optionClick(evt) {\n let elm = targetEvt(evt);\n let tf = this.tf;\n\n this.emitter.emit('filter-focus', tf, elm);\n this.setCheckListValues(elm);\n tf.filter();\n }\n\n /**\n * Checklist container click event handler for load-on-demand feature\n * @param {Event} evt\n */\n onCheckListClick(evt) {\n let elm = targetEvt(evt);\n if (this.tf.loadFltOnDemand && elm.getAttribute('filled') === '0') {\n let ct = elm.getAttribute('ct');\n let div = this.containers[ct];\n this.build(ct);\n removeEvt(div, 'click', (evt) => this.onCheckListClick(evt));\n }\n }\n\n /**\n * Initialize checklist filter\n * @param {Number} colIndex Column index\n * @param {Boolean} isExternal External filter flag\n * @param {DOMElement} container Dom element containing the filter\n */\n init(colIndex, isExternal, container) {\n let tf = this.tf;\n let externalFltTgtId = isExternal ?\n tf.externalFltTgtIds[colIndex] : null;\n\n let divCont = createElm('div',\n ['id', `${this.prfx}${colIndex}_${tf.id}`],\n ['ct', colIndex], ['filled', '0']);\n divCont.className = this.containerCssClass;\n\n //filter is appended in desired element\n if (externalFltTgtId) {\n elm(externalFltTgtId).appendChild(divCont);\n } else {\n container.appendChild(divCont);\n }\n\n this.containers[colIndex] = divCont;\n tf.fltIds.push(tf.buildFilterId(colIndex));\n\n if (!tf.loadFltOnDemand) {\n this.build(colIndex);\n } else {\n addEvt(divCont, 'click', (evt) => this.onCheckListClick(evt));\n divCont.appendChild(createText(this.activateText));\n }\n\n this.emitter.on(\n ['build-checklist-filter'],\n (tf, colIndex, isLinked) => this.build(colIndex, isLinked)\n );\n\n this.emitter.on(\n ['select-checklist-options'],\n (tf, colIndex, values) => this.selectOptions(colIndex, values)\n );\n\n /** @inherited */\n this.initialized = true;\n }\n\n /**\n * Build checklist UI\n * @param {Number} colIndex Column index\n * @param {Boolean} isLinked Enable linked filters behaviour\n */\n build(colIndex, isLinked = false) {\n let tf = this.tf;\n colIndex = parseInt(colIndex, 10);\n\n this.emitter.emit('before-populating-filter', tf, colIndex);\n\n this.opts = [];\n this.optsTxt = [];\n\n let flt = this.containers[colIndex];\n let ul = createElm('ul',\n ['id', tf.fltIds[colIndex]],\n ['colIndex', colIndex]);\n ul.className = this.filterCssClass;\n\n let rows = tf.tbl.rows;\n let nbRows = tf.getRowsNb(true);\n let caseSensitive = tf.caseSensitive;\n this.isCustom = tf.isCustomOptions(colIndex);\n\n let activeIdx;\n let activeFilterId = tf.getActiveFilterId();\n if (isLinked && activeFilterId) {\n activeIdx = tf.getColumnIndexFromFilterId(activeFilterId);\n }\n\n let filteredDataCol = [];\n if (isLinked && tf.disableExcludedOptions) {\n this.excludedOpts = [];\n }\n\n flt.innerHTML = '';\n\n for (let k = tf.refRow; k < nbRows; k++) {\n // always visible rows don't need to appear on selects as always\n // valid\n if (tf.hasVisibleRows && tf.visibleRows.indexOf(k) !== -1) {\n continue;\n }\n\n let cells = rows[k].cells;\n let ncells = cells.length;\n\n // checks if row has exact cell #\n if (ncells !== tf.nbCells || this.isCustom) {\n continue;\n }\n\n // this loop retrieves cell data\n for (let j = 0; j < ncells; j++) {\n if (colIndex !== j) {\n continue;\n }\n if (isLinked && !tf.disableExcludedOptions &&\n (!tf.paging && !tf.isRowDisplayed(k)) ||\n (tf.paging && activeIdx && !tf.isRowValid(k))) {\n continue;\n }\n\n let cellData = tf.getCellData(cells[j]);\n //Vary Peter's patch\n let cellString = matchCase(cellData, caseSensitive);\n // checks if celldata is already in array\n if (!has(this.opts, cellString, caseSensitive)) {\n this.opts.push(cellData);\n }\n let filteredCol = filteredDataCol[j];\n if (isLinked && tf.disableExcludedOptions) {\n if (!filteredCol) {\n filteredCol = tf.getFilteredDataCol(j);\n }\n if (!has(filteredCol, cellString, caseSensitive) &&\n !has(this.excludedOpts, cellString,\n caseSensitive)) {\n this.excludedOpts.push(cellData);\n }\n }\n }\n }\n\n //Retrieves custom values\n if (this.isCustom) {\n let customValues = tf.getCustomOptions(colIndex);\n this.opts = customValues[0];\n this.optsTxt = customValues[1];\n }\n\n if (tf.sortSlc && !this.isCustom) {\n if (!caseSensitive) {\n this.opts.sort(ignoreCase);\n if (this.excludedOpts) {\n this.excludedOpts.sort(ignoreCase);\n }\n } else {\n this.opts.sort();\n if (this.excludedOpts) {\n this.excludedOpts.sort();\n }\n }\n }\n //asc sort\n if (tf.sortNumAsc.indexOf(colIndex) !== -1) {\n try {\n this.opts.sort(numSortAsc);\n if (this.excludedOpts) {\n this.excludedOpts.sort(numSortAsc);\n }\n if (this.isCustom) {\n this.optsTxt.sort(numSortAsc);\n }\n } catch (e) {\n throw new Error(SORT_ERROR.replace('{0}', colIndex)\n .replace('{1}', 'ascending'));\n }//in case there are alphanumeric values\n }\n //desc sort\n if (tf.sortNumDesc.indexOf(colIndex) !== -1) {\n try {\n this.opts.sort(numSortDesc);\n if (this.excludedOpts) {\n this.excludedOpts.sort(numSortDesc);\n }\n if (this.isCustom) {\n this.optsTxt.sort(numSortDesc);\n }\n } catch (e) {\n throw new Error(SORT_ERROR.replace('{0}', colIndex)\n .replace('{1}', 'descending'));\n }//in case there are alphanumeric values\n }\n\n this.addChecks(colIndex, ul);\n\n if (tf.loadFltOnDemand) {\n flt.innerHTML = '';\n }\n flt.appendChild(ul);\n flt.setAttribute('filled', '1');\n\n this.emitter.emit('after-populating-filter', tf, colIndex, flt);\n }\n\n /**\n * Add checklist options\n * @param {Number} colIndex Column index\n * @param {Object} ul Ul element\n * @private\n */\n addChecks(colIndex, ul) {\n let tf = this.tf;\n let chkCt = this.addTChecks(colIndex, ul);\n\n for (let y = 0; y < this.opts.length; y++) {\n let val = this.opts[y]; //item value\n let lbl = this.isCustom ? this.optsTxt[y] : val; //item text\n let fltId = tf.fltIds[colIndex];\n let li = createCheckItem(`${fltId}_${(y + chkCt)}`, val, lbl);\n li.className = this.itemCssClass;\n\n if (tf.linkedFilters && tf.disableExcludedOptions &&\n has(this.excludedOpts, matchCase(val, tf.caseSensitive),\n tf.caseSensitive)) {\n addClass(li, this.disabledItemCssClass);\n li.check.disabled = true;\n li.disabled = true;\n } else {\n addEvt(li.check, 'click', evt => this.optionClick(evt));\n }\n ul.appendChild(li);\n\n if (val === '') {\n //item is hidden\n li.style.display = NONE;\n }\n }\n }\n\n /**\n * Add checklist header option\n * @param {Number} colIndex Column index\n * @param {Object} ul Ul element\n * @private\n */\n addTChecks(colIndex, ul) {\n let tf = this.tf;\n let chkCt = 1;\n let fltId = tf.fltIds[colIndex];\n let li0 = createCheckItem(`${fltId}_0`, '',\n tf.getClearFilterText(colIndex));\n li0.className = this.itemCssClass;\n ul.appendChild(li0);\n\n addEvt(li0.check, 'click', evt => this.optionClick(evt));\n\n if (!this.enableResetOption) {\n li0.style.display = NONE;\n }\n\n if (tf.enableEmptyOption) {\n let li1 = createCheckItem(`${fltId}_1`, tf.emOperator,\n tf.emptyText);\n li1.className = this.itemCssClass;\n ul.appendChild(li1);\n addEvt(li1.check, 'click', evt => this.optionClick(evt));\n chkCt++;\n }\n\n if (tf.enableNonEmptyOption) {\n let li2 = createCheckItem(`${fltId}_2`, tf.nmOperator,\n tf.nonEmptyText);\n li2.className = this.itemCssClass;\n ul.appendChild(li2);\n addEvt(li2.check, 'click', evt => this.optionClick(evt));\n chkCt++;\n }\n return chkCt;\n }\n\n /**\n * Store checked options in DOM element attribute\n * @param {Object} o checklist option DOM element\n * @private\n */\n setCheckListValues(o) {\n if (!o) {\n return;\n }\n\n let tf = this.tf;\n let chkValue = o.value; //checked item value\n // TODO: provide helper to extract column index, ugly!\n let chkIndex = parseInt(o.id.split('_')[2], 10);\n let colIdx = tf.getColumnIndexFromFilterId(o.id);\n let itemTag = 'LI';\n\n let n = tf.getFilterElement(parseInt(colIdx, 10));\n let li = n.childNodes[chkIndex];\n let colIndex = n.getAttribute('colIndex');\n let fltValue = n.getAttribute('value'); //filter value (ul tag)\n let fltIndexes = n.getAttribute('indexes'); //selected items (ul tag)\n\n if (o.checked) {\n //show all item\n if (chkValue === '') {\n if ((fltIndexes && fltIndexes !== '')) {\n //items indexes\n let indSplit = fltIndexes.split(tf.separator);\n //checked items loop\n for (let u = 0; u < indSplit.length; u++) {\n //checked item\n let cChk = elm(tf.fltIds[colIndex] + '_' +\n indSplit[u]);\n if (cChk) {\n cChk.checked = false;\n removeClass(n.childNodes[indSplit[u]],\n this.selectedItemCssClass);\n }\n }\n }\n n.setAttribute('value', '');\n n.setAttribute('indexes', '');\n\n } else {\n fltValue = (fltValue) ? fltValue : '';\n chkValue = trim(fltValue + ' ' + chkValue + ' ' +\n tf.orOperator);\n chkIndex = fltIndexes + chkIndex + tf.separator;\n n.setAttribute('value', chkValue);\n n.setAttribute('indexes', chkIndex);\n //1st option unchecked\n if (elm(tf.fltIds[colIndex] + '_0')) {\n elm(tf.fltIds[colIndex] + '_0').checked = false;\n }\n }\n\n if (li.nodeName === itemTag) {\n removeClass(n.childNodes[0], this.selectedItemCssClass);\n addClass(li, this.selectedItemCssClass);\n }\n } else { //removes values and indexes\n if (chkValue !== '') {\n let replaceValue = new RegExp(\n rgxEsc(chkValue + ' ' + tf.orOperator));\n fltValue = fltValue.replace(replaceValue, '');\n n.setAttribute('value', trim(fltValue));\n\n let replaceIndex = new RegExp(\n rgxEsc(chkIndex + tf.separator));\n fltIndexes = fltIndexes.replace(replaceIndex, '');\n n.setAttribute('indexes', fltIndexes);\n }\n if (li.nodeName === itemTag) {\n removeClass(li, this.selectedItemCssClass);\n }\n }\n }\n\n /**\n * Select filter options programmatically\n * @param {Number} colIndex Column index\n * @param {Array} values Array of option values to select\n */\n selectOptions(colIndex, values = []) {\n let tf = this.tf;\n let flt = tf.getFilterElement(colIndex);\n if (tf.getFilterType(colIndex) !== CHECKLIST || !flt) {\n return;\n }\n\n let lisNb = tag(flt, 'li').length;\n\n flt.setAttribute('value', '');\n flt.setAttribute('indexes', '');\n\n for (let k = 0; k < lisNb; k++) {\n let li = tag(flt, 'li')[k];\n let lbl = tag(li, 'label')[0];\n let chk = tag(li, 'input')[0];\n let lblTxt = matchCase(getText(lbl), tf.caseSensitive);\n\n if (lblTxt !== '' && has(values, lblTxt, tf.caseSensitive)) {\n chk.checked = true;\n } else {\n // Check non-empty-text or empty-text option\n if (values.indexOf(tf.nmOperator) !== -1 &&\n lblTxt === matchCase(tf.nonEmptyText, tf.caseSensitive)) {\n chk.checked = true;\n }\n else if (values.indexOf(tf.emOperator) !== -1 &&\n lblTxt === matchCase(tf.emptyText, tf.caseSensitive)) {\n chk.checked = true;\n } else {\n chk.checked = false;\n }\n }\n this.setCheckListValues(chk);\n }\n }\n\n /**\n * Get filter values for a given column index\n * @param {Number} colIndex Column index\n * @returns {Array} values Collection of selected values\n */\n getValues(colIndex) {\n let tf = this.tf;\n let flt = tf.getFilterElement(colIndex);\n let fltAttr = flt.getAttribute('value');\n let values = isEmpty(fltAttr) ? '' : fltAttr;\n\n //removes last operator ||\n values = values.substr(0, values.length - 3);\n //turn || separated values into array\n values = values.split(' ' + tf.orOperator + ' ');\n\n return values;\n }\n\n /**\n * Destroy CheckList instance\n */\n destroy() {\n this.emitter.off(\n ['build-checklist-filter'],\n (tf, colIndex, isLinked) => this.build(colIndex, isLinked)\n );\n this.emitter.off(\n ['select-checklist-options'],\n (tf, colIndex, values) => this.selectOptions(colIndex, values)\n );\n this.initialized = false;\n }\n}\n"
|
|
},
|
|
{
|
|
"__docId__": 258,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "SORT_ERROR",
|
|
"memberof": "src/modules/checkList.js",
|
|
"longname": "src/modules/checkList.js~SORT_ERROR",
|
|
"access": null,
|
|
"export": false,
|
|
"importPath": "tablefilter/src/modules/checkList.js",
|
|
"importStyle": null,
|
|
"description": null,
|
|
"lineNumber": 13,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 259,
|
|
"kind": "class",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "CheckList",
|
|
"memberof": "src/modules/checkList.js",
|
|
"longname": "src/modules/checkList.js~CheckList",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/modules/checkList.js",
|
|
"importStyle": "{CheckList}",
|
|
"description": "Checklist filter UI component",
|
|
"lineNumber": 19,
|
|
"interface": false,
|
|
"extends": [
|
|
"src/feature.js~Feature"
|
|
]
|
|
},
|
|
{
|
|
"__docId__": 260,
|
|
"kind": "constructor",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "constructor",
|
|
"memberof": "src/modules/checkList.js~CheckList",
|
|
"longname": "src/modules/checkList.js~CheckList#constructor",
|
|
"access": null,
|
|
"description": "Creates an instance of CheckList",
|
|
"lineNumber": 25,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"TableFilter"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "tf",
|
|
"description": "TableFilter instance"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 261,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "containers",
|
|
"memberof": "src/modules/checkList.js~CheckList",
|
|
"longname": "src/modules/checkList.js~CheckList#containers",
|
|
"access": null,
|
|
"description": "List of container DOM elements",
|
|
"lineNumber": 34,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 262,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "containerCssClass",
|
|
"memberof": "src/modules/checkList.js~CheckList",
|
|
"longname": "src/modules/checkList.js~CheckList#containerCssClass",
|
|
"access": null,
|
|
"description": "Css class for the container of the checklist filter (div)",
|
|
"lineNumber": 40,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 263,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "filterCssClass",
|
|
"memberof": "src/modules/checkList.js~CheckList",
|
|
"longname": "src/modules/checkList.js~CheckList#filterCssClass",
|
|
"access": null,
|
|
"description": "Css class for the checklist filter element (ul)",
|
|
"lineNumber": 46,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 264,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "itemCssClass",
|
|
"memberof": "src/modules/checkList.js~CheckList",
|
|
"longname": "src/modules/checkList.js~CheckList#itemCssClass",
|
|
"access": null,
|
|
"description": "Css class for the item of a checklist (li)",
|
|
"lineNumber": 52,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 265,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "selectedItemCssClass",
|
|
"memberof": "src/modules/checkList.js~CheckList",
|
|
"longname": "src/modules/checkList.js~CheckList#selectedItemCssClass",
|
|
"access": null,
|
|
"description": "Css class for a selected item of a checklist (li)",
|
|
"lineNumber": 58,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 266,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "activateText",
|
|
"memberof": "src/modules/checkList.js~CheckList",
|
|
"longname": "src/modules/checkList.js~CheckList#activateText",
|
|
"access": null,
|
|
"description": "Text placed in the filter's container when load filter on demand\nfeature is enabled",
|
|
"lineNumber": 66,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 267,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "disabledItemCssClass",
|
|
"memberof": "src/modules/checkList.js~CheckList",
|
|
"longname": "src/modules/checkList.js~CheckList#disabledItemCssClass",
|
|
"access": null,
|
|
"description": "Css class for a disabled item of a checklist (li)",
|
|
"lineNumber": 73,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 268,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "enableResetOption",
|
|
"memberof": "src/modules/checkList.js~CheckList",
|
|
"longname": "src/modules/checkList.js~CheckList#enableResetOption",
|
|
"access": null,
|
|
"description": "Enable the reset filter option as first item",
|
|
"lineNumber": 80,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 269,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "prfx",
|
|
"memberof": "src/modules/checkList.js~CheckList",
|
|
"longname": "src/modules/checkList.js~CheckList#prfx",
|
|
"access": "private",
|
|
"description": "Prefix for container element ID",
|
|
"lineNumber": 88,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 270,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "isCustom",
|
|
"memberof": "src/modules/checkList.js~CheckList",
|
|
"longname": "src/modules/checkList.js~CheckList#isCustom",
|
|
"access": "private",
|
|
"description": "Has custom options",
|
|
"lineNumber": 95,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 271,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "opts",
|
|
"memberof": "src/modules/checkList.js~CheckList",
|
|
"longname": "src/modules/checkList.js~CheckList#opts",
|
|
"access": "private",
|
|
"description": "List of options values",
|
|
"lineNumber": 102,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 272,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "optsTxt",
|
|
"memberof": "src/modules/checkList.js~CheckList",
|
|
"longname": "src/modules/checkList.js~CheckList#optsTxt",
|
|
"access": "private",
|
|
"description": "List of options texts for custom values",
|
|
"lineNumber": 109,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 273,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "excludedOpts",
|
|
"memberof": "src/modules/checkList.js~CheckList",
|
|
"longname": "src/modules/checkList.js~CheckList#excludedOpts",
|
|
"access": "private",
|
|
"description": "List of options to be excluded from the checklist filter",
|
|
"lineNumber": 116,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 274,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "optionClick",
|
|
"memberof": "src/modules/checkList.js~CheckList",
|
|
"longname": "src/modules/checkList.js~CheckList#optionClick",
|
|
"access": null,
|
|
"description": "Checklist option click event handler",
|
|
"lineNumber": 123,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Event"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "evt",
|
|
"description": ""
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 275,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "onCheckListClick",
|
|
"memberof": "src/modules/checkList.js~CheckList",
|
|
"longname": "src/modules/checkList.js~CheckList#onCheckListClick",
|
|
"access": null,
|
|
"description": "Checklist container click event handler for load-on-demand feature",
|
|
"lineNumber": 136,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Event"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "evt",
|
|
"description": ""
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 276,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "init",
|
|
"memberof": "src/modules/checkList.js~CheckList",
|
|
"longname": "src/modules/checkList.js~CheckList#init",
|
|
"access": null,
|
|
"description": "Initialize checklist filter",
|
|
"lineNumber": 152,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "colIndex",
|
|
"description": "Column index"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "isExternal",
|
|
"description": "External filter flag"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"DOMElement"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "container",
|
|
"description": "Dom element containing the filter"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 277,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "initialized",
|
|
"memberof": "src/modules/checkList.js~CheckList",
|
|
"longname": "src/modules/checkList.js~CheckList#initialized",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 190,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@inherited",
|
|
"tagValue": ""
|
|
}
|
|
],
|
|
"type": {
|
|
"types": [
|
|
"boolean"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 278,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "build",
|
|
"memberof": "src/modules/checkList.js~CheckList",
|
|
"longname": "src/modules/checkList.js~CheckList#build",
|
|
"access": null,
|
|
"description": "Build checklist UI",
|
|
"lineNumber": 198,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "colIndex",
|
|
"description": "Column index"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "isLinked",
|
|
"description": "Enable linked filters behaviour"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 279,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "opts",
|
|
"memberof": "src/modules/checkList.js~CheckList",
|
|
"longname": "src/modules/checkList.js~CheckList#opts",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 204,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 280,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "optsTxt",
|
|
"memberof": "src/modules/checkList.js~CheckList",
|
|
"longname": "src/modules/checkList.js~CheckList#optsTxt",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 205,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 281,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "isCustom",
|
|
"memberof": "src/modules/checkList.js~CheckList",
|
|
"longname": "src/modules/checkList.js~CheckList#isCustom",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 216,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 282,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "excludedOpts",
|
|
"memberof": "src/modules/checkList.js~CheckList",
|
|
"longname": "src/modules/checkList.js~CheckList#excludedOpts",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 226,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 283,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "opts",
|
|
"memberof": "src/modules/checkList.js~CheckList",
|
|
"longname": "src/modules/checkList.js~CheckList#opts",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 281,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 284,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "optsTxt",
|
|
"memberof": "src/modules/checkList.js~CheckList",
|
|
"longname": "src/modules/checkList.js~CheckList#optsTxt",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 282,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 285,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "addChecks",
|
|
"memberof": "src/modules/checkList.js~CheckList",
|
|
"longname": "src/modules/checkList.js~CheckList#addChecks",
|
|
"access": "private",
|
|
"description": "Add checklist options",
|
|
"lineNumber": 346,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "colIndex",
|
|
"description": "Column index"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Object"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "ul",
|
|
"description": "Ul element"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 286,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "addTChecks",
|
|
"memberof": "src/modules/checkList.js~CheckList",
|
|
"longname": "src/modules/checkList.js~CheckList#addTChecks",
|
|
"access": "private",
|
|
"description": "Add checklist header option",
|
|
"lineNumber": 381,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "colIndex",
|
|
"description": "Column index"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Object"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "ul",
|
|
"description": "Ul element"
|
|
}
|
|
],
|
|
"return": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 287,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "setCheckListValues",
|
|
"memberof": "src/modules/checkList.js~CheckList",
|
|
"longname": "src/modules/checkList.js~CheckList#setCheckListValues",
|
|
"access": "private",
|
|
"description": "Store checked options in DOM element attribute",
|
|
"lineNumber": 421,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Object"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "o",
|
|
"description": "checklist option DOM element"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 288,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "selectOptions",
|
|
"memberof": "src/modules/checkList.js~CheckList",
|
|
"longname": "src/modules/checkList.js~CheckList#selectOptions",
|
|
"access": null,
|
|
"description": "Select filter options programmatically",
|
|
"lineNumber": 500,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "colIndex",
|
|
"description": "Column index"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "values",
|
|
"description": "Array of option values to select"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 289,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "getValues",
|
|
"memberof": "src/modules/checkList.js~CheckList",
|
|
"longname": "src/modules/checkList.js~CheckList#getValues",
|
|
"access": null,
|
|
"description": "Get filter values for a given column index",
|
|
"lineNumber": 542,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@returns",
|
|
"tagValue": "{Array} values Collection of selected values"
|
|
}
|
|
],
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "colIndex",
|
|
"description": "Column index"
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"description": "values Collection of selected values"
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 290,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "destroy",
|
|
"memberof": "src/modules/checkList.js~CheckList",
|
|
"longname": "src/modules/checkList.js~CheckList#destroy",
|
|
"access": null,
|
|
"description": "Destroy CheckList instance",
|
|
"lineNumber": 559,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 291,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "initialized",
|
|
"memberof": "src/modules/checkList.js~CheckList",
|
|
"longname": "src/modules/checkList.js~CheckList#initialized",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 568,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"boolean"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 292,
|
|
"kind": "file",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "src/modules/clearButton.js",
|
|
"memberof": null,
|
|
"longname": "src/modules/clearButton.js",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 1,
|
|
"content": "import {Feature} from '../feature';\nimport {createElm, createText, elm, removeElm} from '../dom';\nimport {addEvt} from '../event';\n\n/**\n * Clear button UI component\n */\nexport class ClearButton extends Feature {\n\n /**\n * Creates an instance of ClearButton\n * @param {TableFilter} tf TableFilter instance\n */\n constructor(tf) {\n super(tf, 'btnReset');\n\n let f = this.config;\n\n /**\n * Container element ID\n * @type {String}\n */\n this.targetId = f.btn_reset_target_id || null;\n\n /**\n * Clear button container element\n * @type {DOMElement}\n * @private\n */\n this.container = null;\n\n /**\n * Clear button element\n * @type {DOMElement}\n * @private\n */\n this.element = null;\n\n /**\n * Text for the clear button\n * @type {String}\n */\n this.text = f.btn_reset_text || 'Reset';\n\n /**\n * Css class for reset button\n * @type {String}\n */\n this.cssClass = f.btn_reset_css_class || 'reset';\n\n /**\n * Tooltip text for the clear button\n * @type {String}\n */\n this.tooltip = f.btn_reset_tooltip || 'Clear filters';\n\n /**\n * Custom Html string for the clear button\n * @type {String}\n */\n this.html = f.btn_reset_html ||\n (!tf.enableIcons ? null :\n '<input type=\"button\" value=\"\" class=\"' + this.cssClass +\n '\" ' + 'title=\"' + this.tooltip + '\" />');\n }\n\n /**\n * Click event handler for clear button\n * @private\n */\n onClick() {\n if (!this.isEnabled()) {\n return;\n }\n this.tf.clearFilters();\n }\n\n /**\n * Initialize clear button component\n */\n init() {\n let tf = this.tf;\n\n if (this.initialized) {\n return;\n }\n\n let cont = createElm('span');\n\n // reset button is added to defined element\n if (!this.targetId) {\n tf.setToolbar();\n }\n let targetEl = !this.targetId ? tf.rDiv : elm(this.targetId);\n targetEl.appendChild(cont);\n\n if (!this.html) {\n let fltReset = createElm('a', ['href', 'javascript:void(0);']);\n fltReset.className = this.cssClass;\n fltReset.appendChild(createText(this.text));\n cont.appendChild(fltReset);\n addEvt(fltReset, 'click', () => this.onClick());\n } else {\n cont.innerHTML = this.html;\n let resetEl = cont.firstChild;\n addEvt(resetEl, 'click', () => this.onClick());\n }\n this.element = cont.firstChild;\n this.container = cont;\n\n /** @inherited */\n this.initialized = true;\n }\n\n /**\n * Destroy ClearButton instance\n */\n destroy() {\n if (!this.initialized) {\n return;\n }\n removeElm(this.element);\n removeElm(this.container);\n this.element = null;\n this.container = null;\n this.initialized = false;\n }\n}\n"
|
|
},
|
|
{
|
|
"__docId__": 293,
|
|
"kind": "class",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "ClearButton",
|
|
"memberof": "src/modules/clearButton.js",
|
|
"longname": "src/modules/clearButton.js~ClearButton",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/modules/clearButton.js",
|
|
"importStyle": "{ClearButton}",
|
|
"description": "Clear button UI component",
|
|
"lineNumber": 8,
|
|
"interface": false,
|
|
"extends": [
|
|
"src/feature.js~Feature"
|
|
]
|
|
},
|
|
{
|
|
"__docId__": 294,
|
|
"kind": "constructor",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "constructor",
|
|
"memberof": "src/modules/clearButton.js~ClearButton",
|
|
"longname": "src/modules/clearButton.js~ClearButton#constructor",
|
|
"access": null,
|
|
"description": "Creates an instance of ClearButton",
|
|
"lineNumber": 14,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"TableFilter"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "tf",
|
|
"description": "TableFilter instance"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 295,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "targetId",
|
|
"memberof": "src/modules/clearButton.js~ClearButton",
|
|
"longname": "src/modules/clearButton.js~ClearButton#targetId",
|
|
"access": null,
|
|
"description": "Container element ID",
|
|
"lineNumber": 23,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 296,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "container",
|
|
"memberof": "src/modules/clearButton.js~ClearButton",
|
|
"longname": "src/modules/clearButton.js~ClearButton#container",
|
|
"access": "private",
|
|
"description": "Clear button container element",
|
|
"lineNumber": 30,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"DOMElement"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 297,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "element",
|
|
"memberof": "src/modules/clearButton.js~ClearButton",
|
|
"longname": "src/modules/clearButton.js~ClearButton#element",
|
|
"access": "private",
|
|
"description": "Clear button element",
|
|
"lineNumber": 37,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"DOMElement"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 298,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "text",
|
|
"memberof": "src/modules/clearButton.js~ClearButton",
|
|
"longname": "src/modules/clearButton.js~ClearButton#text",
|
|
"access": null,
|
|
"description": "Text for the clear button",
|
|
"lineNumber": 43,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 299,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "cssClass",
|
|
"memberof": "src/modules/clearButton.js~ClearButton",
|
|
"longname": "src/modules/clearButton.js~ClearButton#cssClass",
|
|
"access": null,
|
|
"description": "Css class for reset button",
|
|
"lineNumber": 49,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 300,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "tooltip",
|
|
"memberof": "src/modules/clearButton.js~ClearButton",
|
|
"longname": "src/modules/clearButton.js~ClearButton#tooltip",
|
|
"access": null,
|
|
"description": "Tooltip text for the clear button",
|
|
"lineNumber": 55,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 301,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "html",
|
|
"memberof": "src/modules/clearButton.js~ClearButton",
|
|
"longname": "src/modules/clearButton.js~ClearButton#html",
|
|
"access": null,
|
|
"description": "Custom Html string for the clear button",
|
|
"lineNumber": 61,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 302,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "onClick",
|
|
"memberof": "src/modules/clearButton.js~ClearButton",
|
|
"longname": "src/modules/clearButton.js~ClearButton#onClick",
|
|
"access": "private",
|
|
"description": "Click event handler for clear button",
|
|
"lineNumber": 71,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 303,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "init",
|
|
"memberof": "src/modules/clearButton.js~ClearButton",
|
|
"longname": "src/modules/clearButton.js~ClearButton#init",
|
|
"access": null,
|
|
"description": "Initialize clear button component",
|
|
"lineNumber": 81,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 304,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "element",
|
|
"memberof": "src/modules/clearButton.js~ClearButton",
|
|
"longname": "src/modules/clearButton.js~ClearButton#element",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 108,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 305,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "container",
|
|
"memberof": "src/modules/clearButton.js~ClearButton",
|
|
"longname": "src/modules/clearButton.js~ClearButton#container",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 109,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 306,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "initialized",
|
|
"memberof": "src/modules/clearButton.js~ClearButton",
|
|
"longname": "src/modules/clearButton.js~ClearButton#initialized",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 112,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@inherited",
|
|
"tagValue": ""
|
|
}
|
|
],
|
|
"type": {
|
|
"types": [
|
|
"boolean"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 307,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "destroy",
|
|
"memberof": "src/modules/clearButton.js~ClearButton",
|
|
"longname": "src/modules/clearButton.js~ClearButton#destroy",
|
|
"access": null,
|
|
"description": "Destroy ClearButton instance",
|
|
"lineNumber": 118,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 308,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "element",
|
|
"memberof": "src/modules/clearButton.js~ClearButton",
|
|
"longname": "src/modules/clearButton.js~ClearButton#element",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 124,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 309,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "container",
|
|
"memberof": "src/modules/clearButton.js~ClearButton",
|
|
"longname": "src/modules/clearButton.js~ClearButton#container",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 125,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 310,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "initialized",
|
|
"memberof": "src/modules/clearButton.js~ClearButton",
|
|
"longname": "src/modules/clearButton.js~ClearButton#initialized",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 126,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"boolean"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 311,
|
|
"kind": "file",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "src/modules/dateType.js",
|
|
"memberof": null,
|
|
"longname": "src/modules/dateType.js",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 1,
|
|
"content": "import {Date as SugarDate} from 'sugar-date';\nimport 'sugar-date/locales';\nimport {Feature} from '../feature';\nimport {isObj, isArray} from '../types';\nimport {DATE} from '../const';\nimport {root} from '../root';\n\n/**\n * Wrapper for Sugar Date module providing datetime helpers and locales\n * @export\n * @class DateType\n */\nexport class DateType extends Feature {\n\n /**\n * Creates an instance of DateType\n * @param {TableFilter} tf TableFilter instance\n */\n constructor(tf) {\n super(tf, 'dateType');\n\n /**\n * Global locale\n * @type {String}\n */\n this.locale = tf.locale;\n\n /**\n * Sugar Date instance\n * @type {Object}\n */\n this.datetime = SugarDate;\n\n this.enable();\n }\n\n /**\n * Initialize DateType instance\n */\n init() {\n if (this.initialized) {\n return;\n }\n\n // Set global locale\n this.datetime.setLocale(this.locale);\n\n // Add formats from column types configuration if any\n this.addConfigFormats(this.tf.colTypes);\n\n this.emitter.on(\n ['add-date-type-formats'],\n (tf, types) => this.addConfigFormats(types)\n );\n\n // Broadcast date-type initialization\n this.emitter.emit('date-type-initialized', this.tf, this);\n\n /** @inherited */\n this.initialized = true;\n }\n\n /**\n * Parse a string representation of a date for a specified locale and return\n * a date object\n * @param {String} dateStr String representation of a date\n * @param {String} localeCode Locale code (ie 'en-us')\n * @returns {Date}\n */\n parse(dateStr, localeCode) {\n return this.datetime.create(dateStr, localeCode);\n }\n\n /**\n * Check string representation of a date for a specified locale is valid\n * @param {any} dateStr String representation of a date\n * @param {any} localeCode Locale code (ie 'en-us')\n * @returns {Boolean}\n */\n isValid(dateStr, localeCode) {\n return this.datetime.isValid(this.parse(dateStr, localeCode));\n }\n\n /**\n * Return the type object of a specified column as per configuration or\n * passed collection\n * @param {Number} colIndex Column index\n * @param {Array} types Collection of column types, optional\n * @returns {Object}\n */\n getOptions(colIndex, types) {\n types = types || this.tf.colTypes;\n let colType = types[colIndex];\n return isObj(colType) ? colType : {};\n }\n\n /**\n * Add date time format(s) to a locale as specified by the passed\n * collection of column types, ie:\n * [\n * 'string',\n * 'number',\n * { type: 'date', locale: 'en', format: ['{dd}/{MM}/{yyyy}']}\n * ]\n *\n * @param {Array} [types=[]] Collection of column types\n */\n addConfigFormats(types=[]) {\n types.forEach((type, idx) => {\n let options = this.getOptions(idx, types);\n if (options.type === DATE && options.hasOwnProperty('format')) {\n let locale = this.datetime.getLocale(\n options.locale || this.locale\n );\n let formats = isArray(options.format) ?\n options.format : [options.format];\n\n // Sugar date module throws exceptions with locale.addFormat\n try {\n formats.forEach((format) => {\n locale.addFormat(format);\n });\n } catch (ex) {\n root.console.error(ex);\n }\n }\n });\n }\n\n /**\n * Remove DateType instance\n */\n destroy() {\n if (!this.initialized) {\n return;\n }\n\n // TODO: remove added formats\n\n this.emitter.off(\n ['add-date-type-formats'],\n (tf, types) => this.addConfigFormats(types)\n );\n\n this.initialized = false;\n }\n}\n"
|
|
},
|
|
{
|
|
"__docId__": 312,
|
|
"kind": "class",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "DateType",
|
|
"memberof": "src/modules/dateType.js",
|
|
"longname": "src/modules/dateType.js~DateType",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/modules/dateType.js",
|
|
"importStyle": "{DateType}",
|
|
"description": "Wrapper for Sugar Date module providing datetime helpers and locales",
|
|
"lineNumber": 13,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@export",
|
|
"tagValue": ""
|
|
},
|
|
{
|
|
"tagName": "@class",
|
|
"tagValue": "DateType"
|
|
}
|
|
],
|
|
"interface": false,
|
|
"extends": [
|
|
"src/feature.js~Feature"
|
|
]
|
|
},
|
|
{
|
|
"__docId__": 313,
|
|
"kind": "constructor",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "constructor",
|
|
"memberof": "src/modules/dateType.js~DateType",
|
|
"longname": "src/modules/dateType.js~DateType#constructor",
|
|
"access": null,
|
|
"description": "Creates an instance of DateType",
|
|
"lineNumber": 19,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"TableFilter"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "tf",
|
|
"description": "TableFilter instance"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 314,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "locale",
|
|
"memberof": "src/modules/dateType.js~DateType",
|
|
"longname": "src/modules/dateType.js~DateType#locale",
|
|
"access": null,
|
|
"description": "Global locale",
|
|
"lineNumber": 26,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 315,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "datetime",
|
|
"memberof": "src/modules/dateType.js~DateType",
|
|
"longname": "src/modules/dateType.js~DateType#datetime",
|
|
"access": null,
|
|
"description": "Sugar Date instance",
|
|
"lineNumber": 32,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Object"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 316,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "init",
|
|
"memberof": "src/modules/dateType.js~DateType",
|
|
"longname": "src/modules/dateType.js~DateType#init",
|
|
"access": null,
|
|
"description": "Initialize DateType instance",
|
|
"lineNumber": 40,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 317,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "initialized",
|
|
"memberof": "src/modules/dateType.js~DateType",
|
|
"longname": "src/modules/dateType.js~DateType#initialized",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 60,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@inherited",
|
|
"tagValue": ""
|
|
}
|
|
],
|
|
"type": {
|
|
"types": [
|
|
"boolean"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 318,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "parse",
|
|
"memberof": "src/modules/dateType.js~DateType",
|
|
"longname": "src/modules/dateType.js~DateType#parse",
|
|
"access": null,
|
|
"description": "Parse a string representation of a date for a specified locale and return\na date object",
|
|
"lineNumber": 70,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@returns",
|
|
"tagValue": "{Date}"
|
|
}
|
|
],
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "dateStr",
|
|
"description": "String representation of a date"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "localeCode",
|
|
"description": "Locale code (ie 'en-us')"
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Date"
|
|
],
|
|
"spread": false,
|
|
"description": ""
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 319,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "isValid",
|
|
"memberof": "src/modules/dateType.js~DateType",
|
|
"longname": "src/modules/dateType.js~DateType#isValid",
|
|
"access": null,
|
|
"description": "Check string representation of a date for a specified locale is valid",
|
|
"lineNumber": 80,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@returns",
|
|
"tagValue": "{Boolean}"
|
|
}
|
|
],
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"any"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "dateStr",
|
|
"description": "String representation of a date"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"any"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "localeCode",
|
|
"description": "Locale code (ie 'en-us')"
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": ""
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 320,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "getOptions",
|
|
"memberof": "src/modules/dateType.js~DateType",
|
|
"longname": "src/modules/dateType.js~DateType#getOptions",
|
|
"access": null,
|
|
"description": "Return the type object of a specified column as per configuration or\npassed collection",
|
|
"lineNumber": 91,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@returns",
|
|
"tagValue": "{Object}"
|
|
}
|
|
],
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "colIndex",
|
|
"description": "Column index"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "types",
|
|
"description": "Collection of column types, optional"
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Object"
|
|
],
|
|
"spread": false,
|
|
"description": ""
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 321,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "addConfigFormats",
|
|
"memberof": "src/modules/dateType.js~DateType",
|
|
"longname": "src/modules/dateType.js~DateType#addConfigFormats",
|
|
"access": null,
|
|
"description": "Add date time format(s) to a locale as specified by the passed\ncollection of column types, ie:\n [\n 'string',\n 'number',\n { type: 'date', locale: 'en', format: ['{dd}/{MM}/{yyyy}']}\n]",
|
|
"lineNumber": 108,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"optional": true,
|
|
"defaultValue": "[]",
|
|
"defaultRaw": [],
|
|
"name": "types",
|
|
"description": "Collection of column types"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 322,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "destroy",
|
|
"memberof": "src/modules/dateType.js~DateType",
|
|
"longname": "src/modules/dateType.js~DateType#destroy",
|
|
"access": null,
|
|
"description": "Remove DateType instance",
|
|
"lineNumber": 133,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 323,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "initialized",
|
|
"memberof": "src/modules/dateType.js~DateType",
|
|
"longname": "src/modules/dateType.js~DateType#initialized",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 145,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"boolean"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 324,
|
|
"kind": "file",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "src/modules/dropdown.js",
|
|
"memberof": null,
|
|
"longname": "src/modules/dropdown.js",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 1,
|
|
"content": "import {Feature} from '../feature';\nimport {createElm, createOpt, elm} from '../dom';\nimport {has} from '../array';\nimport {matchCase} from '../string';\nimport {ignoreCase, numSortAsc, numSortDesc} from '../sort';\nimport {addEvt, targetEvt} from '../event';\nimport {SELECT, MULTIPLE, NONE} from '../const';\n\nconst SORT_ERROR = 'Filter options for column {0} cannot be sorted in ' +\n '{1} manner.';\n\n/**\n * Dropdown filter UI component\n */\nexport class Dropdown extends Feature {\n\n /**\n * Creates an instance of Dropdown\n * @param {TableFilter} tf TableFilter instance\n */\n constructor(tf) {\n super(tf, 'dropdown');\n\n // Configuration object\n let f = this.config;\n\n /**\n * Enable the reset filter option as first item\n * @type {Boolean}\n */\n this.enableSlcResetFilter = f.enable_slc_reset_filter === false ?\n false : true;\n\n /**\n * Non empty option text\n * @type {String}\n */\n this.nonEmptyText = f.non_empty_text || '(Non empty)';\n\n /**\n * Tooltip text appearing on multiple select\n * @type {String}\n */\n this.multipleSlcTooltip = f.multiple_slc_tooltip ||\n 'Use Ctrl/Cmd key for multiple selections';\n\n /**\n * Indicates drop-down has custom options\n * @private\n */\n this.isCustom = null;\n\n /**\n * List of options values\n * @type {Array}\n * @private\n */\n this.opts = null;\n\n /**\n * List of options texts for custom values\n * @type {Array}\n * @private\n */\n this.optsTxt = null;\n }\n\n\n /**\n * Drop-down filter focus event handler\n * @param {Event} e DOM Event\n * @private\n */\n onSlcFocus(e) {\n let elm = targetEvt(e);\n let tf = this.tf;\n // select is populated when element has focus\n if (tf.loadFltOnDemand && elm.getAttribute('filled') === '0') {\n let ct = elm.getAttribute('ct');\n this.build(ct);\n }\n this.emitter.emit('filter-focus', tf, elm);\n }\n\n /**\n * Drop-down filter change event handler\n * @private\n */\n onSlcChange() {\n if (this.tf.onSlcChange) {\n this.tf.filter();\n }\n }\n\n /**\n * Initialize drop-down filter\n * @param {Number} colIndex Column index\n * @param {Boolean} isExternal External filter flag\n * @param {DOMElement} container Dom element containing the filter\n */\n init(colIndex, isExternal, container) {\n let tf = this.tf;\n let col = tf.getFilterType(colIndex);\n let externalFltTgtId = isExternal ?\n tf.externalFltTgtIds[colIndex] : null;\n\n let slc = createElm(SELECT,\n ['id', tf.buildFilterId(colIndex)],\n ['ct', colIndex], ['filled', '0']\n );\n\n if (col === MULTIPLE) {\n slc.multiple = MULTIPLE;\n slc.title = this.multipleSlcTooltip;\n }\n slc.className = col.toLowerCase() === SELECT ?\n tf.fltCssClass : tf.fltMultiCssClass;\n\n //filter is appended in container element\n if (externalFltTgtId) {\n elm(externalFltTgtId).appendChild(slc);\n } else {\n container.appendChild(slc);\n }\n\n tf.fltIds.push(slc.id);\n\n if (!tf.loadFltOnDemand) {\n this.build(colIndex);\n } else {\n //1st option is created here since build isn't invoked\n let opt0 = createOpt(tf.getClearFilterText(colIndex), '');\n slc.appendChild(opt0);\n }\n\n addEvt(slc, 'change', () => this.onSlcChange());\n addEvt(slc, 'focus', (e) => this.onSlcFocus(e));\n\n this.emitter.on(\n ['build-select-filter'],\n (tf, colIndex, isLinked, isExternal) =>\n this.build(colIndex, isLinked, isExternal)\n );\n this.emitter.on(\n ['select-options'],\n (tf, colIndex, values) => this.selectOptions(colIndex, values)\n );\n\n /** @inherited */\n this.initialized = true;\n }\n\n /**\n * Build drop-down filter UI\n * @param {Number} colIndex Column index\n * @param {Boolean} isLinked Enable linked filters behaviour\n */\n build(colIndex, isLinked = false) {\n let tf = this.tf;\n colIndex = parseInt(colIndex, 10);\n\n this.emitter.emit('before-populating-filter', tf, colIndex);\n\n this.opts = [];\n this.optsTxt = [];\n\n let slcId = tf.fltIds[colIndex];\n let slc = elm(slcId);\n let rows = tf.tbl.rows;\n let nbRows = tf.getRowsNb(true);\n\n //custom select test\n this.isCustom = tf.isCustomOptions(colIndex);\n\n //custom selects text\n let activeIdx;\n let activeFilterId = tf.getActiveFilterId();\n if (isLinked && activeFilterId) {\n activeIdx = tf.getColumnIndexFromFilterId(activeFilterId);\n }\n\n let excludedOpts = null,\n filteredDataCol = null;\n if (isLinked && tf.disableExcludedOptions) {\n excludedOpts = [];\n filteredDataCol = [];\n }\n\n for (let k = tf.refRow; k < nbRows; k++) {\n // always visible rows don't need to appear on selects as always\n // valid\n if (tf.hasVisibleRows && tf.visibleRows.indexOf(k) !== -1) {\n continue;\n }\n\n let cell = rows[k].cells,\n nchilds = cell.length;\n\n // checks if row has exact cell #\n if (nchilds !== tf.nbCells || this.isCustom) {\n continue;\n }\n\n // this loop retrieves cell data\n for (let j = 0; j < nchilds; j++) {\n if (colIndex !== j) {\n continue;\n }\n if (isLinked && !tf.disableExcludedOptions &&\n (!tf.paging && !tf.isRowDisplayed(k)) ||\n (tf.paging && activeIdx && !tf.isRowValid(k))) {\n continue;\n }\n\n let cellData = tf.getCellData(cell[j]),\n //Vary Peter's patch\n cellString = matchCase(cellData, tf.caseSensitive);\n\n // checks if celldata is already in array\n if (!has(this.opts, cellString, tf.caseSensitive)) {\n this.opts.push(cellData);\n }\n\n if (isLinked && tf.disableExcludedOptions) {\n let filteredCol = filteredDataCol[j];\n if (!filteredCol) {\n filteredCol = tf.getFilteredDataCol(j);\n }\n if (!has(filteredCol, cellString, tf.caseSensitive) &&\n !has(excludedOpts, cellString, tf.caseSensitive)) {\n excludedOpts.push(cellData);\n }\n }\n }//for j\n }//for k\n\n //Retrieves custom values\n if (this.isCustom) {\n let customValues = tf.getCustomOptions(colIndex);\n this.opts = customValues[0];\n this.optsTxt = customValues[1];\n }\n\n if (tf.sortSlc && !this.isCustom) {\n if (!tf.caseSensitive) {\n this.opts.sort(ignoreCase);\n if (excludedOpts) {\n excludedOpts.sort(ignoreCase);\n }\n } else {\n this.opts.sort();\n if (excludedOpts) { excludedOpts.sort(); }\n }\n }\n\n //asc sort\n if (tf.sortNumAsc.indexOf(colIndex) !== -1) {\n try {\n this.opts.sort(numSortAsc);\n if (excludedOpts) {\n excludedOpts.sort(numSortAsc);\n }\n if (this.isCustom) {\n this.optsTxt.sort(numSortAsc);\n }\n } catch (e) {\n throw new Error(SORT_ERROR.replace('{0}', colIndex)\n .replace('{1}', 'ascending'));\n }//in case there are alphanumeric values\n }\n //desc sort\n if (tf.sortNumDesc.indexOf(colIndex) !== -1) {\n try {\n this.opts.sort(numSortDesc);\n if (excludedOpts) {\n excludedOpts.sort(numSortDesc);\n }\n if (this.isCustom) {\n this.optsTxt.sort(numSortDesc);\n }\n } catch (e) {\n throw new Error(SORT_ERROR.replace('{0}', colIndex)\n .replace('{1}', 'ascending'));\n }//in case there are alphanumeric values\n }\n\n //populates drop-down\n this.addOptions(colIndex, slc, isLinked, excludedOpts);\n\n this.emitter.emit('after-populating-filter', tf, colIndex, slc);\n }\n\n /**\n * Add drop-down options\n * @param {Number} colIndex Column index\n * @param {Object} slc Select Dom element\n * @param {Boolean} isLinked Enable linked refresh behaviour\n * @param {Array} excludedOpts Array of excluded options\n */\n addOptions(colIndex, slc, isLinked, excludedOpts) {\n let tf = this.tf,\n slcValue = slc.value;\n\n slc.innerHTML = '';\n slc = this.addFirstOption(slc);\n\n for (let y = 0; y < this.opts.length; y++) {\n if (this.opts[y] === '') {\n continue;\n }\n let val = this.opts[y]; //option value\n let lbl = this.isCustom ? this.optsTxt[y] : val; //option text\n let isDisabled = false;\n if (isLinked && tf.disableExcludedOptions &&\n has(excludedOpts, matchCase(val, tf.caseSensitive),\n tf.caseSensitive)) {\n isDisabled = true;\n }\n\n let opt;\n //fill select on demand\n if (tf.loadFltOnDemand && slcValue === this.opts[y] &&\n tf.getFilterType(colIndex) === SELECT) {\n opt = createOpt(lbl, val, true);\n } else {\n opt = createOpt(lbl, val, false);\n }\n if (isDisabled) {\n opt.disabled = true;\n }\n slc.appendChild(opt);\n }// for y\n\n slc.setAttribute('filled', '1');\n }\n\n /**\n * Add drop-down header option\n * @param {Object} slc Select DOM element\n */\n addFirstOption(slc) {\n let tf = this.tf;\n let colIdx = tf.getColumnIndexFromFilterId(slc.id);\n let opt0 = createOpt((!this.enableSlcResetFilter ?\n '' : tf.getClearFilterText(colIdx)), '');\n if (!this.enableSlcResetFilter) {\n opt0.style.display = NONE;\n }\n slc.appendChild(opt0);\n if (tf.enableEmptyOption) {\n let opt1 = createOpt(tf.emptyText, tf.emOperator);\n slc.appendChild(opt1);\n }\n if (tf.enableNonEmptyOption) {\n let opt2 = createOpt(tf.nonEmptyText, tf.nmOperator);\n slc.appendChild(opt2);\n }\n return slc;\n }\n\n /**\n * Select filter options programmatically\n * @param {Number} colIndex Column index\n * @param {Array} values Array of option values to select\n */\n selectOptions(colIndex, values = []) {\n let tf = this.tf;\n if (tf.getFilterType(colIndex) !== MULTIPLE || values.length === 0) {\n return;\n }\n let slc = tf.getFilterElement(colIndex);\n [].forEach.call(slc.options, (option) => {\n // Empty value means clear all selections and first option is the\n // clear all option\n if (values[0] === '' || option.value === '') {\n option.selected = false;\n }\n\n if (option.value !== '' && has(values, option.value, true)) {\n option.selected = true;\n }//if\n });\n }\n\n /**\n * Get filter values for a given column index\n * @param {Number} colIndex Column index\n * @returns {Array} values Array of selected values\n */\n getValues(colIndex) {\n let tf = this.tf;\n let slc = tf.getFilterElement(colIndex);\n let values = [];\n\n // IE >= 9 does not support the selectedOptions property :(\n if (slc.selectedOptions) {\n [].forEach.call(slc.selectedOptions,\n option => values.push(option.value));\n } else {\n [].forEach.call(slc.options, (option) => {\n if (option.selected) {\n values.push(option.value);\n }\n });\n }\n\n return values;\n }\n\n /**\n * Destroy Dropdown instance\n */\n destroy() {\n this.emitter.off(\n ['build-select-filter'],\n (colIndex, isLinked, isExternal) =>\n this.build(colIndex, isLinked, isExternal)\n );\n this.emitter.off(\n ['select-options'],\n (tf, colIndex, values) => this.selectOptions(colIndex, values)\n );\n this.initialized = false;\n }\n}\n"
|
|
},
|
|
{
|
|
"__docId__": 325,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "SORT_ERROR",
|
|
"memberof": "src/modules/dropdown.js",
|
|
"longname": "src/modules/dropdown.js~SORT_ERROR",
|
|
"access": null,
|
|
"export": false,
|
|
"importPath": "tablefilter/src/modules/dropdown.js",
|
|
"importStyle": null,
|
|
"description": null,
|
|
"lineNumber": 9,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 326,
|
|
"kind": "class",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "Dropdown",
|
|
"memberof": "src/modules/dropdown.js",
|
|
"longname": "src/modules/dropdown.js~Dropdown",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/modules/dropdown.js",
|
|
"importStyle": "{Dropdown}",
|
|
"description": "Dropdown filter UI component",
|
|
"lineNumber": 15,
|
|
"interface": false,
|
|
"extends": [
|
|
"src/feature.js~Feature"
|
|
]
|
|
},
|
|
{
|
|
"__docId__": 327,
|
|
"kind": "constructor",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "constructor",
|
|
"memberof": "src/modules/dropdown.js~Dropdown",
|
|
"longname": "src/modules/dropdown.js~Dropdown#constructor",
|
|
"access": null,
|
|
"description": "Creates an instance of Dropdown",
|
|
"lineNumber": 21,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"TableFilter"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "tf",
|
|
"description": "TableFilter instance"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 328,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "enableSlcResetFilter",
|
|
"memberof": "src/modules/dropdown.js~Dropdown",
|
|
"longname": "src/modules/dropdown.js~Dropdown#enableSlcResetFilter",
|
|
"access": null,
|
|
"description": "Enable the reset filter option as first item",
|
|
"lineNumber": 31,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 329,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "nonEmptyText",
|
|
"memberof": "src/modules/dropdown.js~Dropdown",
|
|
"longname": "src/modules/dropdown.js~Dropdown#nonEmptyText",
|
|
"access": null,
|
|
"description": "Non empty option text",
|
|
"lineNumber": 38,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 330,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "multipleSlcTooltip",
|
|
"memberof": "src/modules/dropdown.js~Dropdown",
|
|
"longname": "src/modules/dropdown.js~Dropdown#multipleSlcTooltip",
|
|
"access": null,
|
|
"description": "Tooltip text appearing on multiple select",
|
|
"lineNumber": 44,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 331,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "isCustom",
|
|
"memberof": "src/modules/dropdown.js~Dropdown",
|
|
"longname": "src/modules/dropdown.js~Dropdown#isCustom",
|
|
"access": "private",
|
|
"description": "Indicates drop-down has custom options",
|
|
"lineNumber": 51,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 332,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "opts",
|
|
"memberof": "src/modules/dropdown.js~Dropdown",
|
|
"longname": "src/modules/dropdown.js~Dropdown#opts",
|
|
"access": "private",
|
|
"description": "List of options values",
|
|
"lineNumber": 58,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 333,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "optsTxt",
|
|
"memberof": "src/modules/dropdown.js~Dropdown",
|
|
"longname": "src/modules/dropdown.js~Dropdown#optsTxt",
|
|
"access": "private",
|
|
"description": "List of options texts for custom values",
|
|
"lineNumber": 65,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 334,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "onSlcFocus",
|
|
"memberof": "src/modules/dropdown.js~Dropdown",
|
|
"longname": "src/modules/dropdown.js~Dropdown#onSlcFocus",
|
|
"access": "private",
|
|
"description": "Drop-down filter focus event handler",
|
|
"lineNumber": 74,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Event"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "e",
|
|
"description": "DOM Event"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 335,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "onSlcChange",
|
|
"memberof": "src/modules/dropdown.js~Dropdown",
|
|
"longname": "src/modules/dropdown.js~Dropdown#onSlcChange",
|
|
"access": "private",
|
|
"description": "Drop-down filter change event handler",
|
|
"lineNumber": 89,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 336,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "init",
|
|
"memberof": "src/modules/dropdown.js~Dropdown",
|
|
"longname": "src/modules/dropdown.js~Dropdown#init",
|
|
"access": null,
|
|
"description": "Initialize drop-down filter",
|
|
"lineNumber": 101,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "colIndex",
|
|
"description": "Column index"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "isExternal",
|
|
"description": "External filter flag"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"DOMElement"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "container",
|
|
"description": "Dom element containing the filter"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 337,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "initialized",
|
|
"memberof": "src/modules/dropdown.js~Dropdown",
|
|
"longname": "src/modules/dropdown.js~Dropdown#initialized",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 150,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@inherited",
|
|
"tagValue": ""
|
|
}
|
|
],
|
|
"type": {
|
|
"types": [
|
|
"boolean"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 338,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "build",
|
|
"memberof": "src/modules/dropdown.js~Dropdown",
|
|
"longname": "src/modules/dropdown.js~Dropdown#build",
|
|
"access": null,
|
|
"description": "Build drop-down filter UI",
|
|
"lineNumber": 158,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "colIndex",
|
|
"description": "Column index"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "isLinked",
|
|
"description": "Enable linked filters behaviour"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 339,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "opts",
|
|
"memberof": "src/modules/dropdown.js~Dropdown",
|
|
"longname": "src/modules/dropdown.js~Dropdown#opts",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 164,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 340,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "optsTxt",
|
|
"memberof": "src/modules/dropdown.js~Dropdown",
|
|
"longname": "src/modules/dropdown.js~Dropdown#optsTxt",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 165,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 341,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "isCustom",
|
|
"memberof": "src/modules/dropdown.js~Dropdown",
|
|
"longname": "src/modules/dropdown.js~Dropdown#isCustom",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 173,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 342,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "opts",
|
|
"memberof": "src/modules/dropdown.js~Dropdown",
|
|
"longname": "src/modules/dropdown.js~Dropdown#opts",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 240,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 343,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "optsTxt",
|
|
"memberof": "src/modules/dropdown.js~Dropdown",
|
|
"longname": "src/modules/dropdown.js~Dropdown#optsTxt",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 241,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 344,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "addOptions",
|
|
"memberof": "src/modules/dropdown.js~Dropdown",
|
|
"longname": "src/modules/dropdown.js~Dropdown#addOptions",
|
|
"access": null,
|
|
"description": "Add drop-down options",
|
|
"lineNumber": 300,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "colIndex",
|
|
"description": "Column index"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Object"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "slc",
|
|
"description": "Select Dom element"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "isLinked",
|
|
"description": "Enable linked refresh behaviour"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "excludedOpts",
|
|
"description": "Array of excluded options"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 345,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "addFirstOption",
|
|
"memberof": "src/modules/dropdown.js~Dropdown",
|
|
"longname": "src/modules/dropdown.js~Dropdown#addFirstOption",
|
|
"access": null,
|
|
"description": "Add drop-down header option",
|
|
"lineNumber": 341,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Object"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "slc",
|
|
"description": "Select DOM element"
|
|
}
|
|
],
|
|
"return": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 346,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "selectOptions",
|
|
"memberof": "src/modules/dropdown.js~Dropdown",
|
|
"longname": "src/modules/dropdown.js~Dropdown#selectOptions",
|
|
"access": null,
|
|
"description": "Select filter options programmatically",
|
|
"lineNumber": 366,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "colIndex",
|
|
"description": "Column index"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "values",
|
|
"description": "Array of option values to select"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 347,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "getValues",
|
|
"memberof": "src/modules/dropdown.js~Dropdown",
|
|
"longname": "src/modules/dropdown.js~Dropdown#getValues",
|
|
"access": null,
|
|
"description": "Get filter values for a given column index",
|
|
"lineNumber": 390,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@returns",
|
|
"tagValue": "{Array} values Array of selected values"
|
|
}
|
|
],
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "colIndex",
|
|
"description": "Column index"
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"description": "values Array of selected values"
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 348,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "destroy",
|
|
"memberof": "src/modules/dropdown.js~Dropdown",
|
|
"longname": "src/modules/dropdown.js~Dropdown#destroy",
|
|
"access": null,
|
|
"description": "Destroy Dropdown instance",
|
|
"lineNumber": 413,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 349,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "initialized",
|
|
"memberof": "src/modules/dropdown.js~Dropdown",
|
|
"longname": "src/modules/dropdown.js~Dropdown#initialized",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 423,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"boolean"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 350,
|
|
"kind": "file",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "src/modules/gridLayout.js",
|
|
"memberof": null,
|
|
"longname": "src/modules/gridLayout.js",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 1,
|
|
"content": "import {Feature} from '../feature';\nimport {createElm, removeElm, elm, tag} from '../dom';\nimport {addEvt, targetEvt} from '../event';\nimport {contains} from '../string';\nimport {NONE} from '../const';\n\n/**\n * Grid layout, table with fixed headers\n */\nexport class GridLayout extends Feature {\n\n /**\n * Creates an instance of GridLayout\n * @param {TableFilter} tf TableFilter instance\n */\n constructor(tf) {\n super(tf, 'gridLayout');\n\n let f = this.config;\n\n /**\n * Grid-layout container width as CSS string\n * @type {String}\n */\n this.width = f.grid_width || null;\n\n /**\n * Grid-layout container height as CSS string\n * @type {String}\n */\n this.height = f.grid_height || null;\n\n /**\n * Css class for main container element\n * @type {String}\n */\n this.mainContCssClass = f.grid_cont_css_class || 'grd_Cont';\n\n /**\n * Css class for body table container element\n * @type {String}\n */\n this.contCssClass = f.grid_tbl_cont_css_class || 'grd_tblCont';\n\n /**\n * Css class for headers table container element\n * @type {String}\n */\n this.headContCssClass = f.grid_tblHead_cont_css_class ||\n 'grd_headTblCont';\n\n /**\n * Css class for toolbar container element (rows counter, paging etc.)\n * @type {String}\n */\n this.infDivCssClass = f.grid_inf_grid_css_class || 'grd_inf';\n\n /**\n * Index of the headers row, default: 0\n * @type {Number}\n */\n this.headRowIndex = f.grid_headers_row_index || 0;\n\n /**\n * Collection of the header row indexes to be moved into headers table\n * @type {Array}\n */\n this.headRows = f.grid_headers_rows || [0];\n\n /**\n * Enable or disable column filters generation, default: true\n * @type {Boolean}\n */\n this.enableFilters = f.grid_enable_default_filters === false ?\n false : true;\n\n /**\n * Enable or disable column headers, default: false\n * @type {Boolean}\n */\n this.noHeaders = Boolean(f.grid_no_headers);\n\n /**\n * Grid-layout default column widht as CSS string\n * @type {String}\n */\n this.defaultColWidth = f.grid_default_col_width || '100px';\n\n /**\n * List of column elements\n * @type {Array}\n * @private\n */\n this.colElms = [];\n\n /**\n * Prefix for grid-layout filter's cell ID\n * @type {String}\n * @private\n */\n this.prfxGridFltTd = '_td_';\n\n /**\n * Prefix for grid-layout header's cell ID\n * @type {String}\n * @private\n */\n this.prfxGridTh = 'tblHeadTh_';\n\n /**\n * Mark-up of original HTML table\n * @type {String}\n * @private\n */\n this.sourceTblHtml = tf.tbl.outerHTML;\n\n /**\n * Indicates if working table has column elements\n * @type {Boolean}\n * @private\n */\n this.tblHasColTag = tag(tf.tbl, 'col').length > 0 ? true : false;\n\n /**\n * Main container element\n * @private\n */\n this.tblMainCont = null;\n\n /**\n * Table container element\n * @private\n */\n this.tblCont = null;\n\n /**\n * Headers' table container element\n * @private\n */\n this.headTblCont = null;\n\n /**\n * Headers' table element\n * @private\n */\n this.headTbl = null;\n\n // filters flag at TF level\n tf.fltGrid = this.enableFilters;\n }\n\n /**\n * Generates a grid with fixed headers\n * TODO: reduce size of init by extracting single purposed methods\n */\n init() {\n let tf = this.tf;\n let tbl = tf.tbl;\n\n if (this.initialized) {\n return;\n }\n\n // Override relevant TableFilter properties\n this.setOverrides();\n\n // Assign default column widths\n this.setDefaultColWidths();\n\n // Initial table width\n let tblW = this.initialTableWidth();\n\n //Main container: it will contain all the elements\n this.tblMainCont = this.createContainer(\n 'div', this.mainContCssClass);\n if (this.width) {\n this.tblMainCont.style.width = this.width;\n }\n tbl.parentNode.insertBefore(this.tblMainCont, tbl);\n\n //Table container: div wrapping content table\n this.tblCont = this.createContainer('div', this.contCssClass);\n this.setConfigWidth(this.tblCont);\n if (this.height) {\n this.tblCont.style.height = this.height;\n }\n tbl.parentNode.insertBefore(this.tblCont, tbl);\n let t = removeElm(tbl);\n this.tblCont.appendChild(t);\n\n //In case table width is expressed in %\n if (tbl.style.width === '') {\n tbl.style.width = (contains('%', tblW) ?\n tbl.clientWidth : tblW) + 'px';\n }\n\n let d = removeElm(this.tblCont);\n this.tblMainCont.appendChild(d);\n\n //Headers table container: div wrapping headers table\n this.headTblCont = this.createContainer(\n 'div', this.headContCssClass);\n this.setConfigWidth(this.headTblCont);\n\n //Headers table\n this.headTbl = createElm('table');\n let tH = createElm('tHead');\n\n //1st row should be headers row, ids are added if not set\n //Those ids are used by the sort feature\n let hRow = tbl.rows[this.headRowIndex];\n let sortTriggers = this.getSortTriggerIds(hRow);\n\n //Filters row is created\n let filtersRow = this.createFiltersRow();\n\n //Headers row are moved from content table to headers table\n this.setHeadersRow(tH);\n\n this.headTbl.appendChild(tH);\n if (tf.filtersRowIndex === 0) {\n tH.insertBefore(filtersRow, hRow);\n } else {\n tH.appendChild(filtersRow);\n }\n\n this.headTblCont.appendChild(this.headTbl);\n this.tblCont.parentNode.insertBefore(this.headTblCont, this.tblCont);\n\n //THead needs to be removed in content table for sort feature\n let thead = tag(tbl, 'thead');\n if (thead.length > 0) {\n tbl.removeChild(thead[0]);\n }\n\n //Headers table style\n this.headTbl.style.tableLayout = 'fixed';\n tbl.style.tableLayout = 'fixed';\n this.headTbl.cellPadding = tbl.cellPadding;\n this.headTbl.cellSpacing = tbl.cellSpacing;\n // this.headTbl.style.width = tbl.style.width;\n\n //content table without headers needs col widths to be reset\n tf.setColWidths(this.headTbl);\n\n //Headers container width\n // this.headTblCont.style.width = this.tblCont.clientWidth+'px';\n\n tbl.style.width = '';\n //\n this.headTbl.style.width = tbl.clientWidth + 'px';\n //\n\n //scroll synchronisation\n addEvt(this.tblCont, 'scroll', (evt) => {\n let elm = targetEvt(evt);\n let scrollLeft = elm.scrollLeft;\n this.headTblCont.scrollLeft = scrollLeft;\n //New pointerX calc taking into account scrollLeft\n // if(!o.isPointerXOverwritten){\n // try{\n // o.Evt.pointerX = function(evt){\n // let e = evt || global.event;\n // let bdScrollLeft = tf_StandardBody().scrollLeft +\n // scrollLeft;\n // return (e.pageX + scrollLeft) ||\n // (e.clientX + bdScrollLeft);\n // };\n // o.isPointerXOverwritten = true;\n // } catch(err) {\n // o.isPointerXOverwritten = false;\n // }\n // }\n });\n\n // TODO: Trigger a custom event handled by sort extension\n let sort = tf.extension('sort');\n if (sort) {\n sort.asyncSort = true;\n sort.triggerIds = sortTriggers;\n }\n\n //Col elements are enough to keep column widths after sorting and\n //filtering\n this.setColumnElements();\n\n if (tf.popupFilters) {\n filtersRow.style.display = NONE;\n }\n\n if (tbl.clientWidth !== this.headTbl.clientWidth) {\n tbl.style.width = this.headTbl.clientWidth + 'px';\n }\n\n /** @inherited */\n this.initialized = true;\n }\n\n /**\n * Overrides TableFilter instance properties to adjust to grid layout mode\n * @private\n */\n setOverrides() {\n let tf = this.tf;\n tf.refRow = 0;\n tf.headersRow = 0;\n tf.filtersRowIndex = 1;\n tf.isExternalFlt = true;\n }\n\n /**\n * Set grid-layout default column widths if column widths are not defined\n * @private\n */\n setDefaultColWidths() {\n let tf = this.tf;\n if (tf.hasColWidths) {\n return;\n }\n for (let k = 0, len = tf.getCellsNb(); k < len; k++) {\n let colW;\n let cell = tf.tbl.rows[tf.getHeadersRowIndex()].cells[k];\n if (cell.width !== '') {\n colW = cell.width;\n } else if (cell.style.width !== '') {\n colW = parseInt(cell.style.width, 10);\n } else {\n colW = this.defaultColWidth;\n }\n tf.colWidths[k] = colW;\n }\n tf.hasColWidths = true;\n tf.setColWidths();\n }\n\n /**\n * Initial table width\n * @returns {Number}\n * @private\n */\n initialTableWidth() {\n let tbl = this.tf.tbl;\n let width; //initial table width\n\n if (tbl.width !== '') {\n width = tbl.width;\n }\n else if (tbl.style.width !== '') {\n width = tbl.style.width;\n } else {\n width = tbl.clientWidth;\n }\n return parseInt(width, 10);\n }\n\n /**\n * Creates container element\n * @param {String} tag Tag name\n * @param {String} className Css class to assign to element\n * @returns {DOMElement}\n * @private\n */\n createContainer(tag, className) {\n let element = createElm(tag);\n element.className = className;\n return element;\n }\n\n /**\n * Creates filters row with cells\n * @returns {HTMLTableRowElement}\n * @private\n */\n createFiltersRow() {\n let tf = this.tf;\n let filtersRow = createElm('tr');\n if (this.enableFilters && tf.fltGrid) {\n tf.externalFltTgtIds = [];\n for (let j = 0; j < tf.getCellsNb(); j++) {\n let fltTdId = `${tf.prfxFlt + j + this.prfxGridFltTd + tf.id}`;\n let cl = createElm(tf.fltCellTag, ['id', fltTdId]);\n filtersRow.appendChild(cl);\n tf.externalFltTgtIds[j] = fltTdId;\n }\n }\n return filtersRow;\n }\n\n /**\n * Generates column elements if necessary and assigns their widths\n * @private\n */\n setColumnElements() {\n let tf = this.tf;\n let cols = tag(tf.tbl, 'col');\n this.tblHasColTag = cols.length > 0;\n\n for (let k = (tf.nbCells - 1); k >= 0; k--) {\n let col;\n\n if (!this.tblHasColTag) {\n col = createElm('col');\n tf.tbl.insertBefore(col, tf.tbl.firstChild);\n } else {\n col = cols[k];\n }\n col.style.width = tf.colWidths[k];\n this.colElms[k] = col;\n }\n this.tblHasColTag = true;\n }\n\n /**\n * Sets headers row in headers table\n * @param {HTMLHeadElement} tableHead Table head element\n * @private\n */\n setHeadersRow(tableHead) {\n if (this.noHeaders) {\n // Handle table with no headers, assuming here headers do not\n // exist\n tableHead.appendChild(createElm('tr'));\n } else {\n // Headers row are moved from content table to headers table\n for (let i = 0; i < this.headRows.length; i++) {\n let row = this.tf.tbl.rows[this.headRows[i]];\n tableHead.appendChild(row);\n }\n }\n }\n\n /**\n * Sets width defined in configuration to passed element\n * @param {DOMElement} element DOM element\n * @private\n */\n setConfigWidth(element) {\n if (!this.width) {\n return;\n }\n if (this.width.indexOf('%') !== -1) {\n element.style.width = '100%';\n } else {\n element.style.width = this.width;\n }\n }\n\n /**\n * Returns a list of header IDs used for specifing external sort triggers\n * @param {HTMLTableRowElement} row DOM row element\n * @returns {Array} List of IDs\n * @private\n */\n getSortTriggerIds(row) {\n let tf = this.tf;\n let sortTriggers = [];\n for (let n = 0; n < tf.getCellsNb(); n++) {\n let c = row.cells[n];\n let thId = c.getAttribute('id');\n if (!thId || thId === '') {\n thId = `${this.prfxGridTh + n}_${tf.id}`;\n c.setAttribute('id', thId);\n }\n sortTriggers.push(thId);\n }\n return sortTriggers;\n }\n\n /**\n * Removes the grid layout\n */\n destroy() {\n let tf = this.tf;\n let tbl = tf.tbl;\n\n if (!this.initialized) {\n return;\n }\n let t = removeElm(tbl);\n this.tblMainCont.parentNode.insertBefore(t, this.tblMainCont);\n removeElm(this.tblMainCont);\n\n this.tblMainCont = null;\n this.headTblCont = null;\n this.headTbl = null;\n this.tblCont = null;\n\n tbl.outerHTML = this.sourceTblHtml;\n //needed to keep reference of table element for future usage\n this.tf.tbl = elm(tf.id);\n\n this.initialized = false;\n }\n}\n"
|
|
},
|
|
{
|
|
"__docId__": 351,
|
|
"kind": "class",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "GridLayout",
|
|
"memberof": "src/modules/gridLayout.js",
|
|
"longname": "src/modules/gridLayout.js~GridLayout",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/modules/gridLayout.js",
|
|
"importStyle": "{GridLayout}",
|
|
"description": "Grid layout, table with fixed headers",
|
|
"lineNumber": 10,
|
|
"interface": false,
|
|
"extends": [
|
|
"src/feature.js~Feature"
|
|
]
|
|
},
|
|
{
|
|
"__docId__": 352,
|
|
"kind": "constructor",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "constructor",
|
|
"memberof": "src/modules/gridLayout.js~GridLayout",
|
|
"longname": "src/modules/gridLayout.js~GridLayout#constructor",
|
|
"access": null,
|
|
"description": "Creates an instance of GridLayout",
|
|
"lineNumber": 16,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"TableFilter"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "tf",
|
|
"description": "TableFilter instance"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 353,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "width",
|
|
"memberof": "src/modules/gridLayout.js~GridLayout",
|
|
"longname": "src/modules/gridLayout.js~GridLayout#width",
|
|
"access": null,
|
|
"description": "Grid-layout container width as CSS string",
|
|
"lineNumber": 25,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 354,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "height",
|
|
"memberof": "src/modules/gridLayout.js~GridLayout",
|
|
"longname": "src/modules/gridLayout.js~GridLayout#height",
|
|
"access": null,
|
|
"description": "Grid-layout container height as CSS string",
|
|
"lineNumber": 31,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 355,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "mainContCssClass",
|
|
"memberof": "src/modules/gridLayout.js~GridLayout",
|
|
"longname": "src/modules/gridLayout.js~GridLayout#mainContCssClass",
|
|
"access": null,
|
|
"description": "Css class for main container element",
|
|
"lineNumber": 37,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 356,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "contCssClass",
|
|
"memberof": "src/modules/gridLayout.js~GridLayout",
|
|
"longname": "src/modules/gridLayout.js~GridLayout#contCssClass",
|
|
"access": null,
|
|
"description": "Css class for body table container element",
|
|
"lineNumber": 43,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 357,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "headContCssClass",
|
|
"memberof": "src/modules/gridLayout.js~GridLayout",
|
|
"longname": "src/modules/gridLayout.js~GridLayout#headContCssClass",
|
|
"access": null,
|
|
"description": "Css class for headers table container element",
|
|
"lineNumber": 49,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 358,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "infDivCssClass",
|
|
"memberof": "src/modules/gridLayout.js~GridLayout",
|
|
"longname": "src/modules/gridLayout.js~GridLayout#infDivCssClass",
|
|
"access": null,
|
|
"description": "Css class for toolbar container element (rows counter, paging etc.)",
|
|
"lineNumber": 56,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 359,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "headRowIndex",
|
|
"memberof": "src/modules/gridLayout.js~GridLayout",
|
|
"longname": "src/modules/gridLayout.js~GridLayout#headRowIndex",
|
|
"access": null,
|
|
"description": "Index of the headers row, default: 0",
|
|
"lineNumber": 62,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 360,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "headRows",
|
|
"memberof": "src/modules/gridLayout.js~GridLayout",
|
|
"longname": "src/modules/gridLayout.js~GridLayout#headRows",
|
|
"access": null,
|
|
"description": "Collection of the header row indexes to be moved into headers table",
|
|
"lineNumber": 68,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 361,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "enableFilters",
|
|
"memberof": "src/modules/gridLayout.js~GridLayout",
|
|
"longname": "src/modules/gridLayout.js~GridLayout#enableFilters",
|
|
"access": null,
|
|
"description": "Enable or disable column filters generation, default: true",
|
|
"lineNumber": 74,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 362,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "noHeaders",
|
|
"memberof": "src/modules/gridLayout.js~GridLayout",
|
|
"longname": "src/modules/gridLayout.js~GridLayout#noHeaders",
|
|
"access": null,
|
|
"description": "Enable or disable column headers, default: false",
|
|
"lineNumber": 81,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 363,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "defaultColWidth",
|
|
"memberof": "src/modules/gridLayout.js~GridLayout",
|
|
"longname": "src/modules/gridLayout.js~GridLayout#defaultColWidth",
|
|
"access": null,
|
|
"description": "Grid-layout default column widht as CSS string",
|
|
"lineNumber": 87,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 364,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "colElms",
|
|
"memberof": "src/modules/gridLayout.js~GridLayout",
|
|
"longname": "src/modules/gridLayout.js~GridLayout#colElms",
|
|
"access": "private",
|
|
"description": "List of column elements",
|
|
"lineNumber": 94,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 365,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "prfxGridFltTd",
|
|
"memberof": "src/modules/gridLayout.js~GridLayout",
|
|
"longname": "src/modules/gridLayout.js~GridLayout#prfxGridFltTd",
|
|
"access": "private",
|
|
"description": "Prefix for grid-layout filter's cell ID",
|
|
"lineNumber": 101,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 366,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "prfxGridTh",
|
|
"memberof": "src/modules/gridLayout.js~GridLayout",
|
|
"longname": "src/modules/gridLayout.js~GridLayout#prfxGridTh",
|
|
"access": "private",
|
|
"description": "Prefix for grid-layout header's cell ID",
|
|
"lineNumber": 108,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 367,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "sourceTblHtml",
|
|
"memberof": "src/modules/gridLayout.js~GridLayout",
|
|
"longname": "src/modules/gridLayout.js~GridLayout#sourceTblHtml",
|
|
"access": "private",
|
|
"description": "Mark-up of original HTML table",
|
|
"lineNumber": 115,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 368,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "tblHasColTag",
|
|
"memberof": "src/modules/gridLayout.js~GridLayout",
|
|
"longname": "src/modules/gridLayout.js~GridLayout#tblHasColTag",
|
|
"access": "private",
|
|
"description": "Indicates if working table has column elements",
|
|
"lineNumber": 122,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 369,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "tblMainCont",
|
|
"memberof": "src/modules/gridLayout.js~GridLayout",
|
|
"longname": "src/modules/gridLayout.js~GridLayout#tblMainCont",
|
|
"access": "private",
|
|
"description": "Main container element",
|
|
"lineNumber": 128,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 370,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "tblCont",
|
|
"memberof": "src/modules/gridLayout.js~GridLayout",
|
|
"longname": "src/modules/gridLayout.js~GridLayout#tblCont",
|
|
"access": "private",
|
|
"description": "Table container element",
|
|
"lineNumber": 134,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 371,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "headTblCont",
|
|
"memberof": "src/modules/gridLayout.js~GridLayout",
|
|
"longname": "src/modules/gridLayout.js~GridLayout#headTblCont",
|
|
"access": "private",
|
|
"description": "Headers' table container element",
|
|
"lineNumber": 140,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 372,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "headTbl",
|
|
"memberof": "src/modules/gridLayout.js~GridLayout",
|
|
"longname": "src/modules/gridLayout.js~GridLayout#headTbl",
|
|
"access": "private",
|
|
"description": "Headers' table element",
|
|
"lineNumber": 146,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 373,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "init",
|
|
"memberof": "src/modules/gridLayout.js~GridLayout",
|
|
"longname": "src/modules/gridLayout.js~GridLayout#init",
|
|
"access": null,
|
|
"description": "Generates a grid with fixed headers\nTODO: reduce size of init by extracting single purposed methods",
|
|
"lineNumber": 156,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 374,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "tblMainCont",
|
|
"memberof": "src/modules/gridLayout.js~GridLayout",
|
|
"longname": "src/modules/gridLayout.js~GridLayout#tblMainCont",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 174,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 375,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "tblCont",
|
|
"memberof": "src/modules/gridLayout.js~GridLayout",
|
|
"longname": "src/modules/gridLayout.js~GridLayout#tblCont",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 182,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 376,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "headTblCont",
|
|
"memberof": "src/modules/gridLayout.js~GridLayout",
|
|
"longname": "src/modules/gridLayout.js~GridLayout#headTblCont",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 201,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 377,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "headTbl",
|
|
"memberof": "src/modules/gridLayout.js~GridLayout",
|
|
"longname": "src/modules/gridLayout.js~GridLayout#headTbl",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 206,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 378,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "initialized",
|
|
"memberof": "src/modules/gridLayout.js~GridLayout",
|
|
"longname": "src/modules/gridLayout.js~GridLayout#initialized",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 296,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@inherited",
|
|
"tagValue": ""
|
|
}
|
|
],
|
|
"type": {
|
|
"types": [
|
|
"boolean"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 379,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "setOverrides",
|
|
"memberof": "src/modules/gridLayout.js~GridLayout",
|
|
"longname": "src/modules/gridLayout.js~GridLayout#setOverrides",
|
|
"access": "private",
|
|
"description": "Overrides TableFilter instance properties to adjust to grid layout mode",
|
|
"lineNumber": 303,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 380,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "setDefaultColWidths",
|
|
"memberof": "src/modules/gridLayout.js~GridLayout",
|
|
"longname": "src/modules/gridLayout.js~GridLayout#setDefaultColWidths",
|
|
"access": "private",
|
|
"description": "Set grid-layout default column widths if column widths are not defined",
|
|
"lineNumber": 315,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 381,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "initialTableWidth",
|
|
"memberof": "src/modules/gridLayout.js~GridLayout",
|
|
"longname": "src/modules/gridLayout.js~GridLayout#initialTableWidth",
|
|
"access": "private",
|
|
"description": "Initial table width",
|
|
"lineNumber": 341,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@returns",
|
|
"tagValue": "{Number}"
|
|
}
|
|
],
|
|
"params": [],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"description": ""
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 382,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "createContainer",
|
|
"memberof": "src/modules/gridLayout.js~GridLayout",
|
|
"longname": "src/modules/gridLayout.js~GridLayout#createContainer",
|
|
"access": "private",
|
|
"description": "Creates container element",
|
|
"lineNumber": 363,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@returns",
|
|
"tagValue": "{DOMElement}"
|
|
}
|
|
],
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "tag",
|
|
"description": "Tag name"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "className",
|
|
"description": "Css class to assign to element"
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"DOMElement"
|
|
],
|
|
"spread": false,
|
|
"description": ""
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 383,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "createFiltersRow",
|
|
"memberof": "src/modules/gridLayout.js~GridLayout",
|
|
"longname": "src/modules/gridLayout.js~GridLayout#createFiltersRow",
|
|
"access": "private",
|
|
"description": "Creates filters row with cells",
|
|
"lineNumber": 374,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@returns",
|
|
"tagValue": "{HTMLTableRowElement}"
|
|
}
|
|
],
|
|
"params": [],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"HTMLTableRowElement"
|
|
],
|
|
"spread": false,
|
|
"description": ""
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 384,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "setColumnElements",
|
|
"memberof": "src/modules/gridLayout.js~GridLayout",
|
|
"longname": "src/modules/gridLayout.js~GridLayout#setColumnElements",
|
|
"access": "private",
|
|
"description": "Generates column elements if necessary and assigns their widths",
|
|
"lineNumber": 393,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 385,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "tblHasColTag",
|
|
"memberof": "src/modules/gridLayout.js~GridLayout",
|
|
"longname": "src/modules/gridLayout.js~GridLayout#tblHasColTag",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 396,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 386,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "tblHasColTag",
|
|
"memberof": "src/modules/gridLayout.js~GridLayout",
|
|
"longname": "src/modules/gridLayout.js~GridLayout#tblHasColTag",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 410,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"boolean"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 387,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "setHeadersRow",
|
|
"memberof": "src/modules/gridLayout.js~GridLayout",
|
|
"longname": "src/modules/gridLayout.js~GridLayout#setHeadersRow",
|
|
"access": "private",
|
|
"description": "Sets headers row in headers table",
|
|
"lineNumber": 418,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"HTMLHeadElement"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "tableHead",
|
|
"description": "Table head element"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 388,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "setConfigWidth",
|
|
"memberof": "src/modules/gridLayout.js~GridLayout",
|
|
"longname": "src/modules/gridLayout.js~GridLayout#setConfigWidth",
|
|
"access": "private",
|
|
"description": "Sets width defined in configuration to passed element",
|
|
"lineNumber": 437,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"DOMElement"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "element",
|
|
"description": "DOM element"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 389,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "getSortTriggerIds",
|
|
"memberof": "src/modules/gridLayout.js~GridLayout",
|
|
"longname": "src/modules/gridLayout.js~GridLayout#getSortTriggerIds",
|
|
"access": "private",
|
|
"description": "Returns a list of header IDs used for specifing external sort triggers",
|
|
"lineNumber": 454,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@returns",
|
|
"tagValue": "{Array} List of IDs"
|
|
}
|
|
],
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"HTMLTableRowElement"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "row",
|
|
"description": "DOM row element"
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"description": "List of IDs"
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 390,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "destroy",
|
|
"memberof": "src/modules/gridLayout.js~GridLayout",
|
|
"longname": "src/modules/gridLayout.js~GridLayout#destroy",
|
|
"access": null,
|
|
"description": "Removes the grid layout",
|
|
"lineNumber": 472,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 391,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "tblMainCont",
|
|
"memberof": "src/modules/gridLayout.js~GridLayout",
|
|
"longname": "src/modules/gridLayout.js~GridLayout#tblMainCont",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 483,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 392,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "headTblCont",
|
|
"memberof": "src/modules/gridLayout.js~GridLayout",
|
|
"longname": "src/modules/gridLayout.js~GridLayout#headTblCont",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 484,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 393,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "headTbl",
|
|
"memberof": "src/modules/gridLayout.js~GridLayout",
|
|
"longname": "src/modules/gridLayout.js~GridLayout#headTbl",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 485,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 394,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "tblCont",
|
|
"memberof": "src/modules/gridLayout.js~GridLayout",
|
|
"longname": "src/modules/gridLayout.js~GridLayout#tblCont",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 486,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 395,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "initialized",
|
|
"memberof": "src/modules/gridLayout.js~GridLayout",
|
|
"longname": "src/modules/gridLayout.js~GridLayout#initialized",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 492,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"boolean"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 396,
|
|
"kind": "file",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "src/modules/hash.js",
|
|
"memberof": null,
|
|
"longname": "src/modules/hash.js",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 1,
|
|
"content": "import {addEvt, removeEvt} from '../event';\nimport {root} from '../root';\n\nconst JSON = root.JSON;\nconst location = root.location;\nconst decodeURIComponent = root.decodeURIComponent;\nconst encodeURIComponent = root.encodeURIComponent;\n\n/**\n * Checks if browser has onhashchange event\n */\nexport const hasHashChange = () => {\n let docMode = root.documentMode;\n return ('onhashchange' in root) && (docMode === undefined || docMode > 7);\n};\n\n/**\n * Manages state via URL hash changes\n *\n * @export\n * @class Hash\n */\nexport class Hash {\n\n /**\n * Creates an instance of Hash\n *\n * @param {State} state Instance of State\n */\n constructor(state) {\n /**\n * State object\n * @type {State}\n */\n this.state = state;\n\n /**\n * Cached URL hash\n * @type {String} Hash string\n * @private\n */\n this.lastHash = null;\n\n /**\n * Application event emitter instance\n * @type {Emitter}\n */\n this.emitter = state.emitter;\n\n /**\n * Bound sync wrapper for future use\n * @private\n */\n this.boundSync = null;\n }\n\n /**\n * Initializes the Hash object\n */\n init() {\n if (!hasHashChange()) {\n return;\n }\n\n this.lastHash = location.hash;\n //Store a bound sync wrapper\n this.boundSync = this.sync.bind(this);\n this.emitter.on(['state-changed'], (tf, state) => this.update(state));\n this.emitter.on(['initialized'], this.boundSync);\n addEvt(root, 'hashchange', this.boundSync);\n }\n\n /**\n * Updates the URL hash based on a state change\n *\n * @param {State} state Instance of State\n */\n update(state) {\n let hash = `#${encodeURIComponent(JSON.stringify(state))}`;\n if (this.lastHash === hash) {\n return;\n }\n\n location.hash = hash;\n this.lastHash = hash;\n }\n\n /**\n * Converts a URL hash into a state JSON object\n *\n * @param {String} hash URL hash fragment\n * @returns {Object} JSON object\n */\n parse(hash) {\n if (hash.indexOf('#') === -1) {\n return null;\n }\n hash = hash.substr(1);\n return JSON.parse(decodeURIComponent(hash));\n }\n\n /**\n * Applies current hash state to features\n */\n sync() {\n let state = this.parse(location.hash);\n if (!state) {\n return;\n }\n // override current state with persisted one and sync features\n this.state.overrideAndSync(state);\n }\n\n /**\n * Release Hash event subscriptions and clear fields\n */\n destroy() {\n this.emitter.off(['state-changed'], (tf, state) => this.update(state));\n this.emitter.off(['initialized'], this.boundSync);\n removeEvt(root, 'hashchange', this.boundSync);\n\n this.state = null;\n this.lastHash = null;\n this.emitter = null;\n }\n}\n"
|
|
},
|
|
{
|
|
"__docId__": 397,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "JSON",
|
|
"memberof": "src/modules/hash.js",
|
|
"longname": "src/modules/hash.js~JSON",
|
|
"access": null,
|
|
"export": false,
|
|
"importPath": "tablefilter/src/modules/hash.js",
|
|
"importStyle": null,
|
|
"description": null,
|
|
"lineNumber": 4,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 398,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "location",
|
|
"memberof": "src/modules/hash.js",
|
|
"longname": "src/modules/hash.js~location",
|
|
"access": null,
|
|
"export": false,
|
|
"importPath": "tablefilter/src/modules/hash.js",
|
|
"importStyle": null,
|
|
"description": null,
|
|
"lineNumber": 5,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 399,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "decodeURIComponent",
|
|
"memberof": "src/modules/hash.js",
|
|
"longname": "src/modules/hash.js~decodeURIComponent",
|
|
"access": null,
|
|
"export": false,
|
|
"importPath": "tablefilter/src/modules/hash.js",
|
|
"importStyle": null,
|
|
"description": null,
|
|
"lineNumber": 6,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 400,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "encodeURIComponent",
|
|
"memberof": "src/modules/hash.js",
|
|
"longname": "src/modules/hash.js~encodeURIComponent",
|
|
"access": null,
|
|
"export": false,
|
|
"importPath": "tablefilter/src/modules/hash.js",
|
|
"importStyle": null,
|
|
"description": null,
|
|
"lineNumber": 7,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 401,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "hasHashChange",
|
|
"memberof": "src/modules/hash.js",
|
|
"longname": "src/modules/hash.js~hasHashChange",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/modules/hash.js",
|
|
"importStyle": "{hasHashChange}",
|
|
"description": "Checks if browser has onhashchange event",
|
|
"lineNumber": 12,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 402,
|
|
"kind": "class",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "Hash",
|
|
"memberof": "src/modules/hash.js",
|
|
"longname": "src/modules/hash.js~Hash",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/modules/hash.js",
|
|
"importStyle": "{Hash}",
|
|
"description": "Manages state via URL hash changes",
|
|
"lineNumber": 23,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@export",
|
|
"tagValue": ""
|
|
},
|
|
{
|
|
"tagName": "@class",
|
|
"tagValue": "Hash"
|
|
}
|
|
],
|
|
"interface": false
|
|
},
|
|
{
|
|
"__docId__": 403,
|
|
"kind": "constructor",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "constructor",
|
|
"memberof": "src/modules/hash.js~Hash",
|
|
"longname": "src/modules/hash.js~Hash#constructor",
|
|
"access": null,
|
|
"description": "Creates an instance of Hash",
|
|
"lineNumber": 30,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"State"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "state",
|
|
"description": "Instance of State"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 404,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "state",
|
|
"memberof": "src/modules/hash.js~Hash",
|
|
"longname": "src/modules/hash.js~Hash#state",
|
|
"access": null,
|
|
"description": "State object",
|
|
"lineNumber": 35,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"State"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 405,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "lastHash",
|
|
"memberof": "src/modules/hash.js~Hash",
|
|
"longname": "src/modules/hash.js~Hash#lastHash",
|
|
"access": "private",
|
|
"description": "Cached URL hash",
|
|
"lineNumber": 42,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 406,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "emitter",
|
|
"memberof": "src/modules/hash.js~Hash",
|
|
"longname": "src/modules/hash.js~Hash#emitter",
|
|
"access": null,
|
|
"description": "Application event emitter instance",
|
|
"lineNumber": 48,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Emitter"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 407,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "boundSync",
|
|
"memberof": "src/modules/hash.js~Hash",
|
|
"longname": "src/modules/hash.js~Hash#boundSync",
|
|
"access": "private",
|
|
"description": "Bound sync wrapper for future use",
|
|
"lineNumber": 54,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 408,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "init",
|
|
"memberof": "src/modules/hash.js~Hash",
|
|
"longname": "src/modules/hash.js~Hash#init",
|
|
"access": null,
|
|
"description": "Initializes the Hash object",
|
|
"lineNumber": 60,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 409,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "lastHash",
|
|
"memberof": "src/modules/hash.js~Hash",
|
|
"longname": "src/modules/hash.js~Hash#lastHash",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 65,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 410,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "boundSync",
|
|
"memberof": "src/modules/hash.js~Hash",
|
|
"longname": "src/modules/hash.js~Hash#boundSync",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 67,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 411,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "update",
|
|
"memberof": "src/modules/hash.js~Hash",
|
|
"longname": "src/modules/hash.js~Hash#update",
|
|
"access": null,
|
|
"description": "Updates the URL hash based on a state change",
|
|
"lineNumber": 78,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"State"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "state",
|
|
"description": "Instance of State"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 412,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "lastHash",
|
|
"memberof": "src/modules/hash.js~Hash",
|
|
"longname": "src/modules/hash.js~Hash#lastHash",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 85,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 413,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "parse",
|
|
"memberof": "src/modules/hash.js~Hash",
|
|
"longname": "src/modules/hash.js~Hash#parse",
|
|
"access": null,
|
|
"description": "Converts a URL hash into a state JSON object",
|
|
"lineNumber": 94,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@returns",
|
|
"tagValue": "{Object} JSON object"
|
|
}
|
|
],
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "hash",
|
|
"description": "URL hash fragment"
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Object"
|
|
],
|
|
"spread": false,
|
|
"description": "JSON object"
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 414,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "sync",
|
|
"memberof": "src/modules/hash.js~Hash",
|
|
"longname": "src/modules/hash.js~Hash#sync",
|
|
"access": null,
|
|
"description": "Applies current hash state to features",
|
|
"lineNumber": 105,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 415,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "destroy",
|
|
"memberof": "src/modules/hash.js~Hash",
|
|
"longname": "src/modules/hash.js~Hash#destroy",
|
|
"access": null,
|
|
"description": "Release Hash event subscriptions and clear fields",
|
|
"lineNumber": 117,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 416,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "state",
|
|
"memberof": "src/modules/hash.js~Hash",
|
|
"longname": "src/modules/hash.js~Hash#state",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 122,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 417,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "lastHash",
|
|
"memberof": "src/modules/hash.js~Hash",
|
|
"longname": "src/modules/hash.js~Hash#lastHash",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 123,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 418,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "emitter",
|
|
"memberof": "src/modules/hash.js~Hash",
|
|
"longname": "src/modules/hash.js~Hash#emitter",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 124,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 419,
|
|
"kind": "file",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "src/modules/help.js",
|
|
"memberof": null,
|
|
"longname": "src/modules/help.js",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 1,
|
|
"content": "import {Feature} from '../feature';\nimport {createElm, createText, elm, removeElm} from '../dom';\nimport {addEvt, targetEvt, removeEvt} from '../event';\nimport {NONE} from '../const';\nimport {root} from '../root';\n\nconst WIKI_URL = 'https://github.com/koalyptus/TableFilter/wiki/' +\n '4.-Filter-operators';\nconst WEBSITE_URL = 'http://koalyptus.github.io/TableFilter/';\n\n/**\n * Help UI component\n */\nexport class Help extends Feature {\n\n /**\n * Creates an instance of Help\n * @param {TableFilter} tf TableFilter instance\n */\n constructor(tf) {\n super(tf, 'help');\n\n let f = this.config;\n\n /**\n * ID of main custom container element\n * @type {String}\n */\n this.tgtId = f.help_instructions_target_id || null;\n\n /**\n * ID of custom container element for instructions\n * @type {String}\n */\n this.contTgtId = f.help_instructions_container_target_id ||\n null;\n\n /**\n * Instructions text (accepts HTML)\n * @type {String}\n */\n this.instrText = f.help_instructions_text ?\n f.help_instructions_text :\n 'Use the filters above each column to filter and limit table ' +\n 'data. Advanced searches can be performed by using the following ' +\n 'operators: <br /><b><</b>, <b><=</b>, <b>></b>, ' +\n '<b>>=</b>, <b>=</b>, <b>*</b>, <b>!</b>, <b>{</b>, <b>}</b>, ' +\n '<b>||</b>,<b>&&</b>, <b>[empty]</b>, <b>[nonempty]</b>, ' +\n '<b>rgx:</b><br/><a href=\"' + WIKI_URL + '\" target=\"_blank\">' +\n 'Learn more</a><hr/>';\n\n /**\n * Instructions HTML\n * @type {String}\n */\n this.instrHtml = f.help_instructions_html || null;\n\n /**\n * Help button text ('?')\n * @type {String}\n */\n this.btnText = f.help_instructions_btn_text || '?';\n\n /**\n * Custom help button HTML\n * @type {String}\n */\n this.btnHtml = f.help_instructions_btn_html || null;\n\n /**\n * Css class for help button\n * @type {String}\n */\n this.btnCssClass = f.help_instructions_btn_css_class || 'helpBtn';\n\n /**\n * Css class for help container element\n * @type {String}\n */\n this.contCssClass = f.help_instructions_container_css_class ||\n 'helpCont';\n\n /**\n * Button DOM element\n * @type {DOMElement}\n */\n this.btn = null;\n\n /**\n * Help container DOM element\n * @type {DOMElement}\n */\n this.cont = null;\n\n /**\n * Bound mouseup wrapper\n * @private\n */\n this.boundMouseup = null;\n\n /**\n * Default HTML appended to instructions text\n * @type {String}\n */\n this.defaultHtml = '<div class=\"helpFooter\"><h4>TableFilter ' +\n 'v' + tf.version + '</h4>' + '<a href=\"' + WEBSITE_URL +\n '\" target=\"_blank\">' + WEBSITE_URL + '</a>' +\n '<br/><span>©2015-' + tf.year + ' {AUTHOR}</span>' +\n '<div align=\"center\" style=\"margin-top:8px;\">' +\n '<a href=\"javascript:void(0);\" class=\"close\">Close</a></div></div>';\n\n this.emitter.on(['init-help'], () => this.init());\n }\n\n /**\n * Mouse-up event handler handling popup auto-close behaviour\n * @private\n */\n onMouseup(evt) {\n let targetElm = targetEvt(evt);\n if (targetElm !== this.cont) {\n this.toggle();\n }\n return;\n }\n\n /**\n * Initialise Help instance\n */\n init() {\n if (this.initialized) {\n return;\n }\n\n let tf = this.tf;\n\n let btn = createElm('span');\n let cont = createElm('div');\n\n this.boundMouseup = this.onMouseup.bind(this);\n\n //help button is added to defined element\n if (!this.tgtId) {\n tf.setToolbar();\n }\n let targetEl = !this.tgtId ? tf.rDiv : elm(this.tgtId);\n targetEl.appendChild(btn);\n\n let divContainer = !this.contTgtId ? btn : elm(this.contTgtId);\n\n if (!this.btnHtml) {\n divContainer.appendChild(cont);\n let helplink = createElm('a', ['href', 'javascript:void(0);']);\n helplink.className = this.btnCssClass;\n helplink.appendChild(createText(this.btnText));\n btn.appendChild(helplink);\n addEvt(helplink, 'click', () => this.toggle());\n } else {\n btn.innerHTML = this.btnHtml;\n let helpEl = btn.firstChild;\n addEvt(helpEl, 'click', () => this.toggle());\n divContainer.appendChild(cont);\n }\n\n if (!this.instrHtml) {\n cont.innerHTML = this.instrText;\n cont.className = this.contCssClass;\n addEvt(cont, 'dblclick', () => this.toggle());\n } else {\n if (this.contTgtId) {\n divContainer.appendChild(cont);\n }\n cont.innerHTML = this.instrHtml;\n if (!this.contTgtId) {\n cont.className = this.contCssClass;\n addEvt(cont, 'dblclick', () => this.toggle());\n }\n }\n cont.innerHTML += this.defaultHtml;\n addEvt(cont, 'click', () => this.toggle());\n\n this.cont = cont;\n this.btn = btn;\n /** @inherited */\n this.initialized = true;\n }\n\n /**\n * Toggle help pop-up\n */\n toggle() {\n // check only if explicitily set to false as in this case undefined\n // signifies the help feature is enabled by default\n if (this.enabled === false) {\n return;\n }\n // ensure mouseup event handler is removed\n removeEvt(root, 'mouseup', this.boundMouseup);\n\n let divDisplay = this.cont.style.display;\n if (divDisplay === '' || divDisplay === NONE) {\n this.cont.style.display = 'inline';\n addEvt(root, 'mouseup', this.boundMouseup);\n } else {\n this.cont.style.display = NONE;\n }\n }\n\n /**\n * Remove help UI\n */\n destroy() {\n if (!this.initialized) {\n return;\n }\n removeElm(this.btn);\n this.btn = null;\n\n removeElm(this.cont);\n this.cont = null;\n\n this.boundMouseup = null;\n\n this.initialized = false;\n }\n\n}\n"
|
|
},
|
|
{
|
|
"__docId__": 420,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "WIKI_URL",
|
|
"memberof": "src/modules/help.js",
|
|
"longname": "src/modules/help.js~WIKI_URL",
|
|
"access": null,
|
|
"export": false,
|
|
"importPath": "tablefilter/src/modules/help.js",
|
|
"importStyle": null,
|
|
"description": null,
|
|
"lineNumber": 7,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 421,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "WEBSITE_URL",
|
|
"memberof": "src/modules/help.js",
|
|
"longname": "src/modules/help.js~WEBSITE_URL",
|
|
"access": null,
|
|
"export": false,
|
|
"importPath": "tablefilter/src/modules/help.js",
|
|
"importStyle": null,
|
|
"description": null,
|
|
"lineNumber": 9,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"string"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 422,
|
|
"kind": "class",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "Help",
|
|
"memberof": "src/modules/help.js",
|
|
"longname": "src/modules/help.js~Help",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/modules/help.js",
|
|
"importStyle": "{Help}",
|
|
"description": "Help UI component",
|
|
"lineNumber": 14,
|
|
"interface": false,
|
|
"extends": [
|
|
"src/feature.js~Feature"
|
|
]
|
|
},
|
|
{
|
|
"__docId__": 423,
|
|
"kind": "constructor",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "constructor",
|
|
"memberof": "src/modules/help.js~Help",
|
|
"longname": "src/modules/help.js~Help#constructor",
|
|
"access": null,
|
|
"description": "Creates an instance of Help",
|
|
"lineNumber": 20,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"TableFilter"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "tf",
|
|
"description": "TableFilter instance"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 424,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "tgtId",
|
|
"memberof": "src/modules/help.js~Help",
|
|
"longname": "src/modules/help.js~Help#tgtId",
|
|
"access": null,
|
|
"description": "ID of main custom container element",
|
|
"lineNumber": 29,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 425,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "contTgtId",
|
|
"memberof": "src/modules/help.js~Help",
|
|
"longname": "src/modules/help.js~Help#contTgtId",
|
|
"access": null,
|
|
"description": "ID of custom container element for instructions",
|
|
"lineNumber": 35,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 426,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "instrText",
|
|
"memberof": "src/modules/help.js~Help",
|
|
"longname": "src/modules/help.js~Help#instrText",
|
|
"access": null,
|
|
"description": "Instructions text (accepts HTML)",
|
|
"lineNumber": 42,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 427,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "instrHtml",
|
|
"memberof": "src/modules/help.js~Help",
|
|
"longname": "src/modules/help.js~Help#instrHtml",
|
|
"access": null,
|
|
"description": "Instructions HTML",
|
|
"lineNumber": 56,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 428,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "btnText",
|
|
"memberof": "src/modules/help.js~Help",
|
|
"longname": "src/modules/help.js~Help#btnText",
|
|
"access": null,
|
|
"description": "Help button text ('?')",
|
|
"lineNumber": 62,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 429,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "btnHtml",
|
|
"memberof": "src/modules/help.js~Help",
|
|
"longname": "src/modules/help.js~Help#btnHtml",
|
|
"access": null,
|
|
"description": "Custom help button HTML",
|
|
"lineNumber": 68,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 430,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "btnCssClass",
|
|
"memberof": "src/modules/help.js~Help",
|
|
"longname": "src/modules/help.js~Help#btnCssClass",
|
|
"access": null,
|
|
"description": "Css class for help button",
|
|
"lineNumber": 74,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 431,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "contCssClass",
|
|
"memberof": "src/modules/help.js~Help",
|
|
"longname": "src/modules/help.js~Help#contCssClass",
|
|
"access": null,
|
|
"description": "Css class for help container element",
|
|
"lineNumber": 80,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 432,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "btn",
|
|
"memberof": "src/modules/help.js~Help",
|
|
"longname": "src/modules/help.js~Help#btn",
|
|
"access": null,
|
|
"description": "Button DOM element",
|
|
"lineNumber": 87,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"DOMElement"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 433,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "cont",
|
|
"memberof": "src/modules/help.js~Help",
|
|
"longname": "src/modules/help.js~Help#cont",
|
|
"access": null,
|
|
"description": "Help container DOM element",
|
|
"lineNumber": 93,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"DOMElement"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 434,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "boundMouseup",
|
|
"memberof": "src/modules/help.js~Help",
|
|
"longname": "src/modules/help.js~Help#boundMouseup",
|
|
"access": "private",
|
|
"description": "Bound mouseup wrapper",
|
|
"lineNumber": 99,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 435,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "defaultHtml",
|
|
"memberof": "src/modules/help.js~Help",
|
|
"longname": "src/modules/help.js~Help#defaultHtml",
|
|
"access": null,
|
|
"description": "Default HTML appended to instructions text",
|
|
"lineNumber": 105,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 436,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "onMouseup",
|
|
"memberof": "src/modules/help.js~Help",
|
|
"longname": "src/modules/help.js~Help#onMouseup",
|
|
"access": "private",
|
|
"description": "Mouse-up event handler handling popup auto-close behaviour",
|
|
"lineNumber": 119,
|
|
"params": [
|
|
{
|
|
"name": "evt",
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 437,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "init",
|
|
"memberof": "src/modules/help.js~Help",
|
|
"longname": "src/modules/help.js~Help#init",
|
|
"access": null,
|
|
"description": "Initialise Help instance",
|
|
"lineNumber": 130,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 438,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "boundMouseup",
|
|
"memberof": "src/modules/help.js~Help",
|
|
"longname": "src/modules/help.js~Help#boundMouseup",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 140,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 439,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "cont",
|
|
"memberof": "src/modules/help.js~Help",
|
|
"longname": "src/modules/help.js~Help#cont",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 182,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 440,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "btn",
|
|
"memberof": "src/modules/help.js~Help",
|
|
"longname": "src/modules/help.js~Help#btn",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 183,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 441,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "initialized",
|
|
"memberof": "src/modules/help.js~Help",
|
|
"longname": "src/modules/help.js~Help#initialized",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 185,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@inherited",
|
|
"tagValue": ""
|
|
}
|
|
],
|
|
"type": {
|
|
"types": [
|
|
"boolean"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 442,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "toggle",
|
|
"memberof": "src/modules/help.js~Help",
|
|
"longname": "src/modules/help.js~Help#toggle",
|
|
"access": null,
|
|
"description": "Toggle help pop-up",
|
|
"lineNumber": 191,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 443,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "destroy",
|
|
"memberof": "src/modules/help.js~Help",
|
|
"longname": "src/modules/help.js~Help#destroy",
|
|
"access": null,
|
|
"description": "Remove help UI",
|
|
"lineNumber": 212,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 444,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "btn",
|
|
"memberof": "src/modules/help.js~Help",
|
|
"longname": "src/modules/help.js~Help#btn",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 217,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 445,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "cont",
|
|
"memberof": "src/modules/help.js~Help",
|
|
"longname": "src/modules/help.js~Help#cont",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 220,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 446,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "boundMouseup",
|
|
"memberof": "src/modules/help.js~Help",
|
|
"longname": "src/modules/help.js~Help#boundMouseup",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 222,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 447,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "initialized",
|
|
"memberof": "src/modules/help.js~Help",
|
|
"longname": "src/modules/help.js~Help#initialized",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 224,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"boolean"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 448,
|
|
"kind": "file",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "src/modules/highlightKeywords.js",
|
|
"memberof": null,
|
|
"longname": "src/modules/highlightKeywords.js",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 1,
|
|
"content": "import {createText, createElm, getText} from '../dom';\nimport {isArray} from '../types';\nimport {rgxEsc} from '../string';\n\n/**\n * Highlight matched keywords upon filtering\n *\n * @export\n * @class HighlightKeyword\n */\nexport class HighlightKeyword {\n\n /**\n * Creates an instance of HighlightKeyword\n * @param {TableFilter} tf TableFilter instance\n */\n constructor(tf) {\n let f = tf.config();\n\n /**\n * Css class for highlighted term\n * @type {String}\n */\n this.highlightCssClass = f.highlight_css_class || 'keyword';\n\n /**\n * TableFilter instance\n * @type {TableFilter}\n */\n this.tf = tf;\n\n /**\n * TableFilter's emitter instance\n * @type {Emitter}\n */\n this.emitter = tf.emitter;\n }\n\n /**\n * Initializes HighlightKeyword instance\n */\n init() {\n this.emitter.on(\n ['before-filtering', 'destroy'],\n () => this.unhighlightAll()\n );\n this.emitter.on(\n ['highlight-keyword'],\n (tf, cell, term) => this._processTerm(cell, term)\n );\n }\n\n /**\n * Highlight occurences of searched term in passed node\n * @param {Node} node\n * @param {String} term Searched term\n * @param {String} cssClass Css class name\n *\n * TODO: refactor this method\n */\n highlight(node, term, cssClass) {\n // Iterate into this nodes childNodes\n if (node.hasChildNodes) {\n let children = node.childNodes;\n for (let i = 0; i < children.length; i++) {\n this.highlight(children[i], term, cssClass);\n }\n }\n\n if (node.nodeType === 3) {\n let nodeVal = node.nodeValue.toLowerCase();\n let termIdx = nodeVal.indexOf(term.toLowerCase());\n\n if (termIdx !== -1) {\n let pn = node.parentNode;\n if (pn && pn.className !== cssClass) {\n // term not highlighted yet\n let nv = node.nodeValue,\n // Create a load of replacement nodes\n before = createText(nv.substr(0, termIdx)),\n value = nv.substr(termIdx, term.length),\n after = createText(nv.substr(termIdx + term.length)),\n text = createText(value),\n container = createElm('span');\n container.className = cssClass;\n container.appendChild(text);\n pn.insertBefore(before, node);\n pn.insertBefore(container, node);\n pn.insertBefore(after, node);\n pn.removeChild(node);\n }\n }\n }\n }\n\n /**\n * Removes highlight to nodes matching passed string\n * @param {String} term\n * @param {String} cssClass Css class to remove\n */\n unhighlight(term, cssClass) {\n let highlightedNodes = this.tf.tbl.querySelectorAll(`.${cssClass}`);\n for (let i = 0; i < highlightedNodes.length; i++) {\n let n = highlightedNodes[i];\n let nodeVal = getText(n);\n\n if (nodeVal.toLowerCase().indexOf(term.toLowerCase()) !== -1) {\n let parentNode = n.parentNode;\n parentNode.replaceChild(createText(nodeVal), n);\n parentNode.normalize();\n }\n }\n }\n\n /**\n * Clear all occurrences of highlighted nodes\n */\n unhighlightAll() {\n if (!this.tf.highlightKeywords) {\n return;\n }\n // iterate filters values to unhighlight all values\n this.tf.getFiltersValue().forEach((val) => {\n if (isArray(val)) {\n val.forEach((item) =>\n this.unhighlight(item, this.highlightCssClass));\n } else {\n this.unhighlight(val, this.highlightCssClass);\n }\n });\n }\n\n /** Remove feature */\n destroy() {\n this.emitter.off(\n ['before-filtering', 'destroy'],\n () => this.unhighlightAll()\n );\n this.emitter.off(\n ['highlight-keyword'],\n (tf, cell, term) => this._processTerm(cell, term)\n );\n }\n\n /**\n * Ensure filtering operators are handled before highlighting any match\n * @param {any} Table cell to look searched term into\n * @param {any} Searched termIdx\n */\n _processTerm(cell, term) {\n let tf = this.tf;\n let reLk = new RegExp(rgxEsc(tf.lkOperator));\n let reEq = new RegExp(tf.eqOperator);\n let reSt = new RegExp(tf.stOperator);\n let reEn = new RegExp(tf.enOperator);\n let reLe = new RegExp(tf.leOperator);\n let reGe = new RegExp(tf.geOperator);\n let reL = new RegExp(tf.lwOperator);\n let reG = new RegExp(tf.grOperator);\n let reD = new RegExp(tf.dfOperator);\n\n term = term\n .replace(reLk, '')\n .replace(reEq, '')\n .replace(reSt, '')\n .replace(reEn, '');\n\n if (reLe.test(term) || reGe.test(term) || reL.test(term) ||\n reG.test(term) || reD.test(term)) {\n term = getText(cell);\n }\n\n if (term === '') {\n return;\n }\n\n this.highlight(cell, term, this.highlightCssClass);\n }\n}\n"
|
|
},
|
|
{
|
|
"__docId__": 449,
|
|
"kind": "class",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "HighlightKeyword",
|
|
"memberof": "src/modules/highlightKeywords.js",
|
|
"longname": "src/modules/highlightKeywords.js~HighlightKeyword",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/modules/highlightKeywords.js",
|
|
"importStyle": "{HighlightKeyword}",
|
|
"description": "Highlight matched keywords upon filtering",
|
|
"lineNumber": 11,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@export",
|
|
"tagValue": ""
|
|
},
|
|
{
|
|
"tagName": "@class",
|
|
"tagValue": "HighlightKeyword"
|
|
}
|
|
],
|
|
"interface": false
|
|
},
|
|
{
|
|
"__docId__": 450,
|
|
"kind": "constructor",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "constructor",
|
|
"memberof": "src/modules/highlightKeywords.js~HighlightKeyword",
|
|
"longname": "src/modules/highlightKeywords.js~HighlightKeyword#constructor",
|
|
"access": null,
|
|
"description": "Creates an instance of HighlightKeyword",
|
|
"lineNumber": 17,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"TableFilter"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "tf",
|
|
"description": "TableFilter instance"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 451,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "highlightCssClass",
|
|
"memberof": "src/modules/highlightKeywords.js~HighlightKeyword",
|
|
"longname": "src/modules/highlightKeywords.js~HighlightKeyword#highlightCssClass",
|
|
"access": null,
|
|
"description": "Css class for highlighted term",
|
|
"lineNumber": 24,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 452,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "tf",
|
|
"memberof": "src/modules/highlightKeywords.js~HighlightKeyword",
|
|
"longname": "src/modules/highlightKeywords.js~HighlightKeyword#tf",
|
|
"access": null,
|
|
"description": "TableFilter instance",
|
|
"lineNumber": 30,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"TableFilter"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 453,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "emitter",
|
|
"memberof": "src/modules/highlightKeywords.js~HighlightKeyword",
|
|
"longname": "src/modules/highlightKeywords.js~HighlightKeyword#emitter",
|
|
"access": null,
|
|
"description": "TableFilter's emitter instance",
|
|
"lineNumber": 36,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Emitter"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 454,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "init",
|
|
"memberof": "src/modules/highlightKeywords.js~HighlightKeyword",
|
|
"longname": "src/modules/highlightKeywords.js~HighlightKeyword#init",
|
|
"access": null,
|
|
"description": "Initializes HighlightKeyword instance",
|
|
"lineNumber": 42,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 455,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "highlight",
|
|
"memberof": "src/modules/highlightKeywords.js~HighlightKeyword",
|
|
"longname": "src/modules/highlightKeywords.js~HighlightKeyword#highlight",
|
|
"access": null,
|
|
"description": "Highlight occurences of searched term in passed node",
|
|
"lineNumber": 61,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Node"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "node",
|
|
"description": ""
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "term",
|
|
"description": "Searched term"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "cssClass",
|
|
"description": "Css class name\n\nTODO: refactor this method"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 456,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "unhighlight",
|
|
"memberof": "src/modules/highlightKeywords.js~HighlightKeyword",
|
|
"longname": "src/modules/highlightKeywords.js~HighlightKeyword#unhighlight",
|
|
"access": null,
|
|
"description": "Removes highlight to nodes matching passed string",
|
|
"lineNumber": 101,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "term",
|
|
"description": ""
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "cssClass",
|
|
"description": "Css class to remove"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 457,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "unhighlightAll",
|
|
"memberof": "src/modules/highlightKeywords.js~HighlightKeyword",
|
|
"longname": "src/modules/highlightKeywords.js~HighlightKeyword#unhighlightAll",
|
|
"access": null,
|
|
"description": "Clear all occurrences of highlighted nodes",
|
|
"lineNumber": 118,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 458,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "destroy",
|
|
"memberof": "src/modules/highlightKeywords.js~HighlightKeyword",
|
|
"longname": "src/modules/highlightKeywords.js~HighlightKeyword#destroy",
|
|
"access": null,
|
|
"description": " Remove feature",
|
|
"lineNumber": 134,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 459,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "_processTerm",
|
|
"memberof": "src/modules/highlightKeywords.js~HighlightKeyword",
|
|
"longname": "src/modules/highlightKeywords.js~HighlightKeyword#_processTerm",
|
|
"access": null,
|
|
"description": "Ensure filtering operators are handled before highlighting any match",
|
|
"lineNumber": 150,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"any"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "Table",
|
|
"description": "cell to look searched term into"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"any"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "Searched",
|
|
"description": "termIdx"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 460,
|
|
"kind": "file",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "src/modules/loader.js",
|
|
"memberof": null,
|
|
"longname": "src/modules/loader.js",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 1,
|
|
"content": "import {Feature} from '../feature';\nimport {createElm, createText, elm, removeElm} from '../dom';\nimport {isFn, EMPTY_FN} from '../types';\nimport {root} from '../root';\nimport {NONE} from '../const';\n\nconst EVENTS = [\n 'before-filtering',\n 'before-populating-filter',\n 'before-page-change',\n 'before-clearing-filters',\n 'before-page-length-change',\n 'before-reset-page',\n 'before-reset-page-length',\n 'before-loading-extensions',\n 'before-loading-themes'\n];\n\n/**\n * Activity indicator\n *\n * @export\n * @class Loader\n * @extends {Feature}\n */\nexport class Loader extends Feature {\n\n /**\n * Creates an instance of Loader.\n *\n * @param {TableFilter} tf TableFilter instance\n */\n constructor(tf) {\n super(tf, 'loader');\n\n let f = this.config;\n\n /**\n * ID of custom container element\n * @type {String}\n */\n this.targetId = f.loader_target_id || null;\n\n /**\n * Loader container DOM element\n * @type {DOMElement}\n */\n this.cont = null;\n\n /**\n * Text displayed when indicator is visible\n * @type {String}\n */\n this.text = f.loader_text || 'Loading...';\n\n /**\n * Custom HTML injected in Loader's container element\n * @type {String}\n */\n this.html = f.loader_html || null;\n\n /**\n * Css class for Loader's container element\n * @type {String}\n */\n this.cssClass = f.loader_css_class || 'loader';\n\n /**\n * Close delay in milliseconds\n * @type {Number}\n */\n this.closeDelay = 250;\n\n /**\n * Callback fired when loader is displayed\n * @type {Function}\n */\n this.onShow = isFn(f.on_show_loader) ?\n f.on_show_loader : EMPTY_FN;\n\n /**\n * Callback fired when loader is closed\n * @type {Function}\n */\n this.onHide = isFn(f.on_hide_loader) ? f.on_hide_loader : EMPTY_FN;\n }\n\n /**\n * Initializes Loader instance\n */\n init() {\n if (this.initialized) {\n return;\n }\n\n let tf = this.tf;\n let emitter = this.emitter;\n\n let containerDiv = createElm('div');\n containerDiv.className = this.cssClass;\n\n let targetEl = !this.targetId ?\n tf.tbl.parentNode : elm(this.targetId);\n if (!this.targetId) {\n targetEl.insertBefore(containerDiv, tf.tbl);\n } else {\n targetEl.appendChild(containerDiv);\n }\n this.cont = containerDiv;\n if (!this.html) {\n this.cont.appendChild(createText(this.text));\n } else {\n this.cont.innerHTML = this.html;\n }\n\n this.show(NONE);\n\n // Subscribe to events\n emitter.on(EVENTS, () => this.show(''));\n emitter.on(EVENTS, () => this.show(NONE));\n\n /**\n * @inherited\n */\n this.initialized = true;\n }\n\n /**\n * Shows or hides activity indicator\n * @param {String} Two possible values: '' or 'none'\n */\n show(p) {\n if (!this.isEnabled()) {\n return;\n }\n\n let displayLoader = () => {\n if (!this.cont) {\n return;\n }\n if (p !== NONE) {\n this.onShow(this);\n }\n this.cont.style.display = p;\n if (p === NONE) {\n this.onHide(this);\n }\n };\n\n let t = p === NONE ? this.closeDelay : 1;\n root.setTimeout(displayLoader, t);\n }\n\n /**\n * Removes feature\n */\n destroy() {\n if (!this.initialized) {\n return;\n }\n\n let emitter = this.emitter;\n\n removeElm(this.cont);\n this.cont = null;\n\n // Unsubscribe to events\n emitter.off(EVENTS, () => this.show(''));\n emitter.off(EVENTS, () => this.show(NONE));\n\n this.initialized = false;\n }\n}\n"
|
|
},
|
|
{
|
|
"__docId__": 461,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "EVENTS",
|
|
"memberof": "src/modules/loader.js",
|
|
"longname": "src/modules/loader.js~EVENTS",
|
|
"access": null,
|
|
"export": false,
|
|
"importPath": "tablefilter/src/modules/loader.js",
|
|
"importStyle": null,
|
|
"description": null,
|
|
"lineNumber": 7,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 462,
|
|
"kind": "class",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "Loader",
|
|
"memberof": "src/modules/loader.js",
|
|
"longname": "src/modules/loader.js~Loader",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/modules/loader.js",
|
|
"importStyle": "{Loader}",
|
|
"description": "Activity indicator",
|
|
"lineNumber": 26,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@export",
|
|
"tagValue": ""
|
|
},
|
|
{
|
|
"tagName": "@class",
|
|
"tagValue": "Loader"
|
|
}
|
|
],
|
|
"interface": false,
|
|
"extends": [
|
|
"Feature"
|
|
]
|
|
},
|
|
{
|
|
"__docId__": 463,
|
|
"kind": "constructor",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "constructor",
|
|
"memberof": "src/modules/loader.js~Loader",
|
|
"longname": "src/modules/loader.js~Loader#constructor",
|
|
"access": null,
|
|
"description": "Creates an instance of Loader.",
|
|
"lineNumber": 33,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"TableFilter"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "tf",
|
|
"description": "TableFilter instance"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 464,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "targetId",
|
|
"memberof": "src/modules/loader.js~Loader",
|
|
"longname": "src/modules/loader.js~Loader#targetId",
|
|
"access": null,
|
|
"description": "ID of custom container element",
|
|
"lineNumber": 42,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 465,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "cont",
|
|
"memberof": "src/modules/loader.js~Loader",
|
|
"longname": "src/modules/loader.js~Loader#cont",
|
|
"access": null,
|
|
"description": "Loader container DOM element",
|
|
"lineNumber": 48,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"DOMElement"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 466,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "text",
|
|
"memberof": "src/modules/loader.js~Loader",
|
|
"longname": "src/modules/loader.js~Loader#text",
|
|
"access": null,
|
|
"description": "Text displayed when indicator is visible",
|
|
"lineNumber": 54,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 467,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "html",
|
|
"memberof": "src/modules/loader.js~Loader",
|
|
"longname": "src/modules/loader.js~Loader#html",
|
|
"access": null,
|
|
"description": "Custom HTML injected in Loader's container element",
|
|
"lineNumber": 60,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 468,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "cssClass",
|
|
"memberof": "src/modules/loader.js~Loader",
|
|
"longname": "src/modules/loader.js~Loader#cssClass",
|
|
"access": null,
|
|
"description": "Css class for Loader's container element",
|
|
"lineNumber": 66,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 469,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "closeDelay",
|
|
"memberof": "src/modules/loader.js~Loader",
|
|
"longname": "src/modules/loader.js~Loader#closeDelay",
|
|
"access": null,
|
|
"description": "Close delay in milliseconds",
|
|
"lineNumber": 72,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 470,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "onShow",
|
|
"memberof": "src/modules/loader.js~Loader",
|
|
"longname": "src/modules/loader.js~Loader#onShow",
|
|
"access": null,
|
|
"description": "Callback fired when loader is displayed",
|
|
"lineNumber": 78,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Function"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 471,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "onHide",
|
|
"memberof": "src/modules/loader.js~Loader",
|
|
"longname": "src/modules/loader.js~Loader#onHide",
|
|
"access": null,
|
|
"description": "Callback fired when loader is closed",
|
|
"lineNumber": 85,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Function"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 472,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "init",
|
|
"memberof": "src/modules/loader.js~Loader",
|
|
"longname": "src/modules/loader.js~Loader#init",
|
|
"access": null,
|
|
"description": "Initializes Loader instance",
|
|
"lineNumber": 91,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 473,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "cont",
|
|
"memberof": "src/modules/loader.js~Loader",
|
|
"longname": "src/modules/loader.js~Loader#cont",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 109,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 474,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "initialized",
|
|
"memberof": "src/modules/loader.js~Loader",
|
|
"longname": "src/modules/loader.js~Loader#initialized",
|
|
"access": null,
|
|
"description": "",
|
|
"lineNumber": 125,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@inherited",
|
|
"tagValue": ""
|
|
}
|
|
],
|
|
"type": {
|
|
"types": [
|
|
"boolean"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 475,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "show",
|
|
"memberof": "src/modules/loader.js~Loader",
|
|
"longname": "src/modules/loader.js~Loader#show",
|
|
"access": null,
|
|
"description": "Shows or hides activity indicator",
|
|
"lineNumber": 132,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "Two",
|
|
"description": "possible values: '' or 'none'"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 476,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "destroy",
|
|
"memberof": "src/modules/loader.js~Loader",
|
|
"longname": "src/modules/loader.js~Loader#destroy",
|
|
"access": null,
|
|
"description": "Removes feature",
|
|
"lineNumber": 157,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 477,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "cont",
|
|
"memberof": "src/modules/loader.js~Loader",
|
|
"longname": "src/modules/loader.js~Loader#cont",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 165,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 478,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "initialized",
|
|
"memberof": "src/modules/loader.js~Loader",
|
|
"longname": "src/modules/loader.js~Loader#initialized",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 171,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"boolean"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 479,
|
|
"kind": "file",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "src/modules/noResults.js",
|
|
"memberof": null,
|
|
"longname": "src/modules/noResults.js",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 1,
|
|
"content": "import {Feature} from '../feature';\nimport {createElm, elm, removeElm} from '../dom';\nimport {isEmpty, isFn, EMPTY_FN} from '../types';\nimport {NONE} from '../const';\n\n/**\n * UI when filtering yields no matches\n * @export\n * @class NoResults\n * @extends {Feature}\n */\nexport class NoResults extends Feature {\n\n /**\n * Creates an instance of NoResults\n * @param {TableFilter} tf TableFilter instance\n */\n constructor(tf) {\n super(tf, 'noResults');\n\n //configuration object\n let f = this.config.no_results_message;\n\n /**\n * Text (accepts HTML)\n * @type {String}\n */\n this.content = f.content || 'No results';\n\n /**\n * Custom container DOM element\n * @type {DOMElement}\n */\n this.customContainer = f.custom_container || null;\n\n /**\n * ID of custom container element\n * @type {String}\n */\n this.customContainerId = f.custom_container_id || null;\n\n /**\n * Indicates if UI is contained in a external element\n * @type {Boolean}\n * @private\n */\n this.isExternal = !isEmpty(this.customContainer) ||\n !isEmpty(this.customContainerId);\n\n /**\n * Css class assigned to container element\n * @type {String}\n */\n this.cssClass = f.css_class || 'no-results';\n\n /**\n * Stores container DOM element\n * @type {DOMElement}\n */\n this.cont = null;\n\n /**\n * Callback fired before the message is displayed\n * @type {Function}\n */\n this.onBeforeShow = isFn(f.on_before_show_msg) ?\n f.on_before_show_msg : EMPTY_FN;\n\n /**\n * Callback fired after the message is displayed\n * @type {Function}\n */\n this.onAfterShow = isFn(f.on_after_show_msg) ?\n f.on_after_show_msg : EMPTY_FN;\n\n /**\n * Callback fired before the message is hidden\n * @type {Function}\n */\n this.onBeforeHide = isFn(f.on_before_hide_msg) ?\n f.on_before_hide_msg : EMPTY_FN;\n\n /**\n * Callback fired after the message is hidden\n * @type {Function}\n */\n this.onAfterHide = isFn(f.on_after_hide_msg) ?\n f.on_after_hide_msg : EMPTY_FN;\n }\n\n /**\n * Initializes NoResults instance\n */\n init() {\n if (this.initialized) {\n return;\n }\n let tf = this.tf;\n let target = this.customContainer || elm(this.customContainerId) ||\n tf.tbl;\n\n //container\n let cont = createElm('div');\n cont.className = this.cssClass;\n cont.innerHTML = this.content;\n\n if (this.isExternal) {\n target.appendChild(cont);\n } else {\n target.parentNode.insertBefore(cont, target.nextSibling);\n }\n\n this.cont = cont;\n\n // subscribe to after-filtering event\n this.emitter.on(['after-filtering'], () => this.toggle());\n\n /**\n * @inherited\n */\n this.initialized = true;\n\n this.hide();\n }\n\n /**\n * Toggle no results message\n */\n toggle() {\n if (this.tf.getValidRowsNb() > 0) {\n this.hide();\n } else {\n this.show();\n }\n }\n\n /**\n * Show no results message\n */\n show() {\n if (!this.initialized || !this.isEnabled()) {\n return;\n }\n this.onBeforeShow(this.tf, this);\n\n this.setWidth();\n this.cont.style.display = 'block';\n\n this.onAfterShow(this.tf, this);\n }\n\n /**\n * Hide no results message\n */\n hide() {\n if (!this.initialized || !this.isEnabled()) {\n return;\n }\n this.onBeforeHide(this.tf, this);\n\n this.cont.style.display = NONE;\n\n this.onAfterHide(this.tf, this);\n }\n\n /**\n * Sets no results container width\n * @private\n */\n setWidth() {\n if (!this.initialized || this.isExternal || !this.isEnabled()) {\n return;\n }\n let tf = this.tf;\n if (tf.gridLayout) {\n let gridLayout = tf.feature('gridLayout');\n this.cont.style.width = gridLayout.tblCont.clientWidth + 'px';\n } else {\n this.cont.style.width = (tf.tbl.tHead ? tf.tbl.tHead.clientWidth :\n tf.tbl.tBodies[0].clientWidth) + 'px';\n }\n }\n\n /**\n * Remove feature\n */\n destroy() {\n if (!this.initialized) {\n return;\n }\n removeElm(this.cont);\n this.cont = null;\n // unsubscribe to after-filtering event\n this.emitter.off(['after-filtering'], () => this.toggle());\n\n this.initialized = false;\n }\n}\n"
|
|
},
|
|
{
|
|
"__docId__": 480,
|
|
"kind": "class",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "NoResults",
|
|
"memberof": "src/modules/noResults.js",
|
|
"longname": "src/modules/noResults.js~NoResults",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/modules/noResults.js",
|
|
"importStyle": "{NoResults}",
|
|
"description": "UI when filtering yields no matches",
|
|
"lineNumber": 12,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@export",
|
|
"tagValue": ""
|
|
},
|
|
{
|
|
"tagName": "@class",
|
|
"tagValue": "NoResults"
|
|
}
|
|
],
|
|
"interface": false,
|
|
"extends": [
|
|
"Feature"
|
|
]
|
|
},
|
|
{
|
|
"__docId__": 481,
|
|
"kind": "constructor",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "constructor",
|
|
"memberof": "src/modules/noResults.js~NoResults",
|
|
"longname": "src/modules/noResults.js~NoResults#constructor",
|
|
"access": null,
|
|
"description": "Creates an instance of NoResults",
|
|
"lineNumber": 18,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"TableFilter"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "tf",
|
|
"description": "TableFilter instance"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 482,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "content",
|
|
"memberof": "src/modules/noResults.js~NoResults",
|
|
"longname": "src/modules/noResults.js~NoResults#content",
|
|
"access": null,
|
|
"description": "Text (accepts HTML)",
|
|
"lineNumber": 28,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 483,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "customContainer",
|
|
"memberof": "src/modules/noResults.js~NoResults",
|
|
"longname": "src/modules/noResults.js~NoResults#customContainer",
|
|
"access": null,
|
|
"description": "Custom container DOM element",
|
|
"lineNumber": 34,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"DOMElement"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 484,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "customContainerId",
|
|
"memberof": "src/modules/noResults.js~NoResults",
|
|
"longname": "src/modules/noResults.js~NoResults#customContainerId",
|
|
"access": null,
|
|
"description": "ID of custom container element",
|
|
"lineNumber": 40,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 485,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "isExternal",
|
|
"memberof": "src/modules/noResults.js~NoResults",
|
|
"longname": "src/modules/noResults.js~NoResults#isExternal",
|
|
"access": "private",
|
|
"description": "Indicates if UI is contained in a external element",
|
|
"lineNumber": 47,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 486,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "cssClass",
|
|
"memberof": "src/modules/noResults.js~NoResults",
|
|
"longname": "src/modules/noResults.js~NoResults#cssClass",
|
|
"access": null,
|
|
"description": "Css class assigned to container element",
|
|
"lineNumber": 54,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 487,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "cont",
|
|
"memberof": "src/modules/noResults.js~NoResults",
|
|
"longname": "src/modules/noResults.js~NoResults#cont",
|
|
"access": null,
|
|
"description": "Stores container DOM element",
|
|
"lineNumber": 60,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"DOMElement"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 488,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "onBeforeShow",
|
|
"memberof": "src/modules/noResults.js~NoResults",
|
|
"longname": "src/modules/noResults.js~NoResults#onBeforeShow",
|
|
"access": null,
|
|
"description": "Callback fired before the message is displayed",
|
|
"lineNumber": 66,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Function"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 489,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "onAfterShow",
|
|
"memberof": "src/modules/noResults.js~NoResults",
|
|
"longname": "src/modules/noResults.js~NoResults#onAfterShow",
|
|
"access": null,
|
|
"description": "Callback fired after the message is displayed",
|
|
"lineNumber": 73,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Function"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 490,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "onBeforeHide",
|
|
"memberof": "src/modules/noResults.js~NoResults",
|
|
"longname": "src/modules/noResults.js~NoResults#onBeforeHide",
|
|
"access": null,
|
|
"description": "Callback fired before the message is hidden",
|
|
"lineNumber": 80,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Function"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 491,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "onAfterHide",
|
|
"memberof": "src/modules/noResults.js~NoResults",
|
|
"longname": "src/modules/noResults.js~NoResults#onAfterHide",
|
|
"access": null,
|
|
"description": "Callback fired after the message is hidden",
|
|
"lineNumber": 87,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Function"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 492,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "init",
|
|
"memberof": "src/modules/noResults.js~NoResults",
|
|
"longname": "src/modules/noResults.js~NoResults#init",
|
|
"access": null,
|
|
"description": "Initializes NoResults instance",
|
|
"lineNumber": 94,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 493,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "cont",
|
|
"memberof": "src/modules/noResults.js~NoResults",
|
|
"longname": "src/modules/noResults.js~NoResults#cont",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 113,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 494,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "initialized",
|
|
"memberof": "src/modules/noResults.js~NoResults",
|
|
"longname": "src/modules/noResults.js~NoResults#initialized",
|
|
"access": null,
|
|
"description": "",
|
|
"lineNumber": 121,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@inherited",
|
|
"tagValue": ""
|
|
}
|
|
],
|
|
"type": {
|
|
"types": [
|
|
"boolean"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 495,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "toggle",
|
|
"memberof": "src/modules/noResults.js~NoResults",
|
|
"longname": "src/modules/noResults.js~NoResults#toggle",
|
|
"access": null,
|
|
"description": "Toggle no results message",
|
|
"lineNumber": 129,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 496,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "show",
|
|
"memberof": "src/modules/noResults.js~NoResults",
|
|
"longname": "src/modules/noResults.js~NoResults#show",
|
|
"access": null,
|
|
"description": "Show no results message",
|
|
"lineNumber": 140,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 497,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "hide",
|
|
"memberof": "src/modules/noResults.js~NoResults",
|
|
"longname": "src/modules/noResults.js~NoResults#hide",
|
|
"access": null,
|
|
"description": "Hide no results message",
|
|
"lineNumber": 155,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 498,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "setWidth",
|
|
"memberof": "src/modules/noResults.js~NoResults",
|
|
"longname": "src/modules/noResults.js~NoResults#setWidth",
|
|
"access": "private",
|
|
"description": "Sets no results container width",
|
|
"lineNumber": 170,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 499,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "destroy",
|
|
"memberof": "src/modules/noResults.js~NoResults",
|
|
"longname": "src/modules/noResults.js~NoResults#destroy",
|
|
"access": null,
|
|
"description": "Remove feature",
|
|
"lineNumber": 187,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 500,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "cont",
|
|
"memberof": "src/modules/noResults.js~NoResults",
|
|
"longname": "src/modules/noResults.js~NoResults#cont",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 192,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 501,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "initialized",
|
|
"memberof": "src/modules/noResults.js~NoResults",
|
|
"longname": "src/modules/noResults.js~NoResults#initialized",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 196,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"boolean"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 502,
|
|
"kind": "file",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "src/modules/paging.js",
|
|
"memberof": null,
|
|
"longname": "src/modules/paging.js",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 1,
|
|
"content": "import {Feature} from '../feature';\nimport {createElm, createOpt, createText, elm, removeElm} from '../dom';\nimport {isArray, isFn, isNull, EMPTY_FN} from '../types';\nimport {addEvt, keyCode, removeEvt} from '../event';\nimport {INPUT, SELECT, NONE, ENTER_KEY} from '../const';\n\n/**\n * Paging UI component\n * @export\n * @class Paging\n * @extends {Feature}\n */\nexport class Paging extends Feature {\n\n /**\n * Creates an instance of Paging\n * @param {TableFilter} tf TableFilter instance\n */\n constructor(tf) {\n super(tf, 'paging');\n\n // Configuration object\n var f = this.config;\n\n /**\n * Css class for the paging buttons (previous, next, etc.)\n * @type {String}\n */\n this.btnPageCssClass = f.paging_btn_css_class || 'pgInp';\n\n /**\n * Main select DOM element\n * @type {DOMElement}\n */\n this.pagingSlc = null;\n\n /**\n * Results per page select DOM element\n * @type {DOMElement}\n */\n this.resultsPerPageSlc = null;\n\n /**\n * ID of custom container element\n * @type {String}\n */\n this.pagingTgtId = f.paging_target_id || null;\n\n /**\n * Number of rows contained in a page\n * @type {Number}\n */\n this.pagingLength = !isNaN(f.paging_length) ? f.paging_length : 10;\n\n /**\n * ID of custom container element for the results per page selector\n * @type {String}\n */\n this.resultsPerPageTgtId = f.results_per_page_target_id || null;\n\n /**\n * Css class for the paging select element\n * @type {String}\n */\n this.pgSlcCssClass = f.paging_slc_css_class || 'pgSlc';\n\n /**\n * Css class for the paging input element\n * @type {String}\n */\n this.pgInpCssClass = f.paging_inp_css_class || 'pgNbInp';\n\n /**\n * Label and values for the results per page select, example of usage:\n * ['Records: ', [10,25,50,100]]\n * @type {Array}\n */\n this.resultsPerPage = f.results_per_page || null;\n\n /**\n * Determines if results per page is configured\n * @type {Boolean}\n */\n this.hasResultsPerPage = isArray(this.resultsPerPage);\n\n /**\n * Css class for the results per page select\n * @type {String}\n */\n this.resultsSlcCssClass = f.results_slc_css_class || 'rspg';\n\n /**\n * Css class for the label preceding results per page select\n * @type {String}\n */\n this.resultsSpanCssClass = f.results_span_css_class || 'rspgSpan';\n\n /**\n * Index of the first row of current page\n * @type {Number}\n * @private\n */\n this.startPagingRow = 0;\n\n /**\n * Total number of pages\n * @type {Number}\n * @private\n */\n this.nbPages = 0;\n\n /**\n * Current page number\n * @type {Number}\n * @private\n */\n this.currentPageNb = 1;\n\n /**\n * Next page button text\n * @type {String}\n */\n this.btnNextPageText = f.btn_next_page_text || '>';\n\n /**\n * Previous page button text\n * @type {String}\n */\n this.btnPrevPageText = f.btn_prev_page_text || '<';\n\n /**\n * Last page button text\n * @type {String}\n */\n this.btnLastPageText = f.btn_last_page_text || '>|';\n\n /**\n * First page button text\n * @type {String}\n */\n this.btnFirstPageText = f.btn_first_page_text || '|<';\n\n /**\n * Next page button HTML\n * @type {String}\n */\n this.btnNextPageHtml = f.btn_next_page_html ||\n (!tf.enableIcons ? null :\n '<input type=\"button\" value=\"\" class=\"' + this.btnPageCssClass +\n ' nextPage\" title=\"Next page\" />');\n\n /**\n * Previous page button HTML\n * @type {String}\n */\n this.btnPrevPageHtml = f.btn_prev_page_html ||\n (!tf.enableIcons ? null :\n '<input type=\"button\" value=\"\" class=\"' + this.btnPageCssClass +\n ' previousPage\" title=\"Previous page\" />');\n\n /**\n * First page button HTML\n * @type {String}\n */\n this.btnFirstPageHtml = f.btn_first_page_html ||\n (!tf.enableIcons ? null :\n '<input type=\"button\" value=\"\" class=\"' + this.btnPageCssClass +\n ' firstPage\" title=\"First page\" />');\n\n /**\n * Last page button HTML\n * @type {String}\n */\n this.btnLastPageHtml = f.btn_last_page_html ||\n (!tf.enableIcons ? null :\n '<input type=\"button\" value=\"\" class=\"' + this.btnPageCssClass +\n ' lastPage\" title=\"Last page\" />');\n\n /**\n * Text preceeding page selector drop-down\n * @type {String}\n */\n this.pageText = f.page_text || ' Page ';\n\n /**\n * Text after page selector drop-down\n * @type {String}\n */\n this.ofText = f.of_text || ' of ';\n\n /**\n * Css class for the span containing total number of pages\n * @type {String}\n */\n this.nbPgSpanCssClass = f.nb_pages_css_class || 'nbpg';\n\n /**\n * Determines if paging buttons are enabled (default: true)\n * @type {Boolean}\n */\n this.hasPagingBtns = f.paging_btns === false ? false : true;\n\n /**\n * Defines page selector type, two possible values: 'select', 'input'\n * @type {String}\n */\n this.pageSelectorType = f.page_selector_type || SELECT;\n\n /**\n * Callback fired before the page is changed\n * @type {Function}\n */\n this.onBeforeChangePage = isFn(f.on_before_change_page) ?\n f.on_before_change_page : EMPTY_FN;\n\n /**\n * Callback fired after the page is changed\n * @type {Function}\n */\n this.onAfterChangePage = isFn(f.on_after_change_page) ?\n f.on_after_change_page : EMPTY_FN;\n\n /**\n * Label preciding results per page select\n * @type {DOMElement}\n * @private\n */\n this.slcResultsTxt = null;\n /**\n * Span containing next page button\n * @type {DOMElement}\n * @private\n */\n this.btnNextCont = null;\n /**\n * Span containing previous page button\n * @type {DOMElement}\n * @private\n */\n this.btnPrevCont = null;\n /**\n * Span containing last page button\n * @type {DOMElement}\n * @private\n */\n this.btnLastCont = null;\n /**\n * Span containing first page button\n * @type {DOMElement}\n * @private\n */\n this.btnFirstCont = null;\n /**\n * Span for tot nb pages\n * @type {DOMElement}\n * @private\n */\n this.pgCont = null;\n /**\n * Span preceding pages select (contains 'Page')\n * @type {DOMElement}\n * @private\n */\n this.pgBefore = null;\n /**\n * Span following pages select (contains ' of ')\n * @type {DOMElement}\n * @private\n */\n this.pgAfter = null;\n\n var start_row = tf.refRow;\n var nrows = tf.getRowsNb(true);\n //calculates page nb\n this.nbPages = Math.ceil((nrows - start_row) / this.pagingLength);\n\n var o = this;\n /**\n * Paging DOM events handlers\n * @type {String}\n * @private\n */\n this.evt = {\n slcIndex() {\n return (o.pageSelectorType === SELECT) ?\n o.pagingSlc.options.selectedIndex :\n parseInt(o.pagingSlc.value, 10) - 1;\n },\n nbOpts() {\n return (o.pageSelectorType === SELECT) ?\n parseInt(o.pagingSlc.options.length, 10) - 1 :\n (o.nbPages - 1);\n },\n next() {\n var nextIndex = o.evt.slcIndex() < o.evt.nbOpts() ?\n o.evt.slcIndex() + 1 : 0;\n o.changePage(nextIndex);\n },\n prev() {\n var prevIndex = o.evt.slcIndex() > 0 ?\n o.evt.slcIndex() - 1 : o.evt.nbOpts();\n o.changePage(prevIndex);\n },\n last() {\n o.changePage(o.evt.nbOpts());\n },\n first() {\n o.changePage(0);\n },\n _detectKey(e) {\n var key = keyCode(e);\n if (key === ENTER_KEY) {\n if (tf.sorted) {\n tf.filter();\n o.changePage(o.evt.slcIndex());\n } else {\n o.changePage();\n }\n this.blur();\n }\n },\n slcPagesChange: null,\n nextEvt: null,\n prevEvt: null,\n lastEvt: null,\n firstEvt: null\n };\n }\n\n /**\n * Initialize DOM elements\n */\n init() {\n var slcPages;\n var tf = this.tf;\n var evt = this.evt;\n\n if (this.initialized) {\n return;\n }\n\n // Check resultsPerPage is in expected format and initialise the\n // results per page component\n if (this.hasResultsPerPage) {\n if (this.resultsPerPage.length < 2) {\n this.hasResultsPerPage = false;\n } else {\n this.pagingLength = this.resultsPerPage[1][0];\n this.setResultsPerPage();\n }\n }\n\n evt.slcPagesChange = (event) => {\n var slc = event.target;\n this.changePage(slc.selectedIndex);\n };\n\n // Paging drop-down list selector\n if (this.pageSelectorType === SELECT) {\n slcPages = createElm(SELECT);\n slcPages.className = this.pgSlcCssClass;\n addEvt(slcPages, 'change', evt.slcPagesChange);\n }\n\n // Paging input selector\n if (this.pageSelectorType === INPUT) {\n slcPages = createElm(INPUT, ['value', this.currentPageNb]);\n slcPages.className = this.pgInpCssClass;\n addEvt(slcPages, 'keypress', evt._detectKey);\n }\n\n // btns containers\n var btnNextSpan = createElm('span');\n var btnPrevSpan = createElm('span');\n var btnLastSpan = createElm('span');\n var btnFirstSpan = createElm('span');\n\n if (this.hasPagingBtns) {\n // Next button\n if (!this.btnNextPageHtml) {\n var btnNext = createElm(INPUT,\n ['type', 'button'],\n ['value', this.btnNextPageText],\n ['title', 'Next']\n );\n btnNext.className = this.btnPageCssClass;\n addEvt(btnNext, 'click', evt.next);\n btnNextSpan.appendChild(btnNext);\n } else {\n btnNextSpan.innerHTML = this.btnNextPageHtml;\n addEvt(btnNextSpan, 'click', evt.next);\n }\n // Previous button\n if (!this.btnPrevPageHtml) {\n var btnPrev = createElm(INPUT,\n ['type', 'button'],\n ['value', this.btnPrevPageText],\n ['title', 'Previous']\n );\n btnPrev.className = this.btnPageCssClass;\n addEvt(btnPrev, 'click', evt.prev);\n btnPrevSpan.appendChild(btnPrev);\n } else {\n btnPrevSpan.innerHTML = this.btnPrevPageHtml;\n addEvt(btnPrevSpan, 'click', evt.prev);\n }\n // Last button\n if (!this.btnLastPageHtml) {\n var btnLast = createElm(INPUT,\n ['type', 'button'],\n ['value', this.btnLastPageText],\n ['title', 'Last']\n );\n btnLast.className = this.btnPageCssClass;\n addEvt(btnLast, 'click', evt.last);\n btnLastSpan.appendChild(btnLast);\n } else {\n btnLastSpan.innerHTML = this.btnLastPageHtml;\n addEvt(btnLastSpan, 'click', evt.last);\n }\n // First button\n if (!this.btnFirstPageHtml) {\n var btnFirst = createElm(INPUT,\n ['type', 'button'],\n ['value', this.btnFirstPageText],\n ['title', 'First']\n );\n btnFirst.className = this.btnPageCssClass;\n addEvt(btnFirst, 'click', evt.first);\n btnFirstSpan.appendChild(btnFirst);\n } else {\n btnFirstSpan.innerHTML = this.btnFirstPageHtml;\n addEvt(btnFirstSpan, 'click', evt.first);\n }\n }\n\n // paging elements (buttons+drop-down list) are added to defined element\n if (!this.pagingTgtId) {\n tf.setToolbar();\n }\n var targetEl = !this.pagingTgtId ? tf.mDiv : elm(this.pagingTgtId);\n targetEl.appendChild(btnFirstSpan);\n targetEl.appendChild(btnPrevSpan);\n\n var pgBeforeSpan = createElm('span');\n pgBeforeSpan.appendChild(createText(this.pageText));\n pgBeforeSpan.className = this.nbPgSpanCssClass;\n targetEl.appendChild(pgBeforeSpan);\n targetEl.appendChild(slcPages);\n var pgAfterSpan = createElm('span');\n pgAfterSpan.appendChild(createText(this.ofText));\n pgAfterSpan.className = this.nbPgSpanCssClass;\n targetEl.appendChild(pgAfterSpan);\n var pgSpan = createElm('span');\n pgSpan.className = this.nbPgSpanCssClass;\n pgSpan.appendChild(createText(' ' + this.nbPages + ' '));\n targetEl.appendChild(pgSpan);\n targetEl.appendChild(btnNextSpan);\n targetEl.appendChild(btnLastSpan);\n\n this.btnNextCont = btnNextSpan;\n this.btnPrevCont = btnPrevSpan;\n this.btnLastCont = btnLastSpan;\n this.btnFirstCont = btnFirstSpan;\n this.pgCont = pgSpan;\n this.pgBefore = pgBeforeSpan;\n this.pgAfter = pgAfterSpan;\n this.pagingSlc = slcPages;\n\n this.setPagingInfo();\n\n if (!tf.fltGrid) {\n tf.validateAllRows();\n this.setPagingInfo(tf.validRowsIndex);\n }\n\n this.emitter.on(['after-filtering'], () => this.resetPagingInfo());\n this.emitter.on(['change-page'],\n (tf, pageNumber) => this.setPage(pageNumber));\n this.emitter.on(['change-page-results'],\n (tf, pageLength) => this.changeResultsPerPage(pageLength));\n\n /** @inherited */\n this.initialized = true;\n }\n\n /**\n * Reset paging when filters are already instantiated\n * @param {Boolean} filterTable Execute filtering once paging instanciated\n */\n reset(filterTable = false) {\n var tf = this.tf;\n if (this.isEnabled()) {\n return;\n }\n this.enable();\n this.init();\n\n if (filterTable) {\n tf.filter();\n }\n }\n\n /**\n * Reset paging info from scratch after a filtering process\n */\n resetPagingInfo() {\n this.startPagingRow = 0;\n this.currentPageNb = 1;\n this.setPagingInfo(this.tf.validRowsIndex);\n }\n\n /**\n * Calculate number of pages based on valid rows\n * Refresh paging select according to number of pages\n * @param {Array} validRows Collection of valid rows\n */\n setPagingInfo(validRows) {\n var tf = this.tf;\n var mdiv = !this.pagingTgtId ? tf.mDiv : elm(this.pagingTgtId);\n\n //store valid rows indexes\n tf.validRowsIndex = validRows || tf.getValidRows(true);\n\n //calculate nb of pages\n this.nbPages = Math.ceil(tf.validRowsIndex.length / this.pagingLength);\n //refresh page nb span\n this.pgCont.innerHTML = this.nbPages;\n //select clearing shortcut\n if (this.pageSelectorType === SELECT) {\n this.pagingSlc.innerHTML = '';\n }\n\n if (this.nbPages > 0) {\n mdiv.style.visibility = 'visible';\n if (this.pageSelectorType === SELECT) {\n for (var z = 0; z < this.nbPages; z++) {\n var opt = createOpt(z + 1, z * this.pagingLength, false);\n this.pagingSlc.options[z] = opt;\n }\n } else {\n //input type\n this.pagingSlc.value = this.currentPageNb;\n }\n\n } else {\n /*** if no results paging select and buttons are hidden ***/\n mdiv.style.visibility = 'hidden';\n }\n this.groupByPage(tf.validRowsIndex);\n }\n\n /**\n * Group table rows by page and display valid rows\n * @param {Array} validRows Collection of valid rows\n */\n groupByPage(validRows) {\n var tf = this.tf;\n var rows = tf.tbl.rows;\n var startPagingRow = parseInt(this.startPagingRow, 10);\n var endPagingRow = startPagingRow + parseInt(this.pagingLength, 10);\n\n //store valid rows indexes\n if (validRows) {\n tf.validRowsIndex = validRows;\n }\n\n //this loop shows valid rows of current page\n for (var h = 0, len = tf.getValidRowsNb(true); h < len; h++) {\n var validRowIdx = tf.validRowsIndex[h];\n var r = rows[validRowIdx];\n var isRowValid = r.getAttribute('validRow');\n var rowDisplayed = false;\n\n if (h >= startPagingRow && h < endPagingRow) {\n if (isNull(isRowValid) || Boolean(isRowValid === 'true')) {\n r.style.display = '';\n rowDisplayed = true;\n }\n } else {\n r.style.display = NONE;\n }\n this.emitter.emit('row-paged', tf, validRowIdx, h, rowDisplayed);\n }\n\n // broadcast grouping by page\n this.emitter.emit('grouped-by-page', tf, this);\n }\n\n /**\n * Return the current page number\n * @return {Number} Page number\n */\n getPage() {\n return this.currentPageNb;\n }\n\n /**\n * Show page defined by passed argument (string or number):\n * @param {String}/{Number} cmd possible string values: 'next',\n * 'previous', 'last', 'first' or page number as per param\n */\n setPage(cmd) {\n var tf = this.tf;\n if (!tf.isInitialized() || !this.isEnabled()) {\n return;\n }\n var btnEvt = this.evt,\n cmdtype = typeof cmd;\n if (cmdtype === 'string') {\n switch (cmd.toLowerCase()) {\n case 'next':\n btnEvt.next();\n break;\n case 'previous':\n btnEvt.prev();\n break;\n case 'last':\n btnEvt.last();\n break;\n case 'first':\n btnEvt.first();\n break;\n default:\n btnEvt.next();\n break;\n }\n }\n else if (cmdtype === 'number') {\n this.changePage(cmd - 1);\n }\n }\n\n /**\n * Generates UI elements for the number of results per page drop-down\n */\n setResultsPerPage() {\n var tf = this.tf;\n var evt = this.evt;\n\n if (this.resultsPerPageSlc || !this.resultsPerPage) {\n return;\n }\n\n evt.slcResultsChange = (ev) => {\n this.onChangeResultsPerPage();\n ev.target.blur();\n };\n\n var slcR = createElm(SELECT);\n slcR.className = this.resultsSlcCssClass;\n var slcRText = this.resultsPerPage[0],\n slcROpts = this.resultsPerPage[1];\n var slcRSpan = createElm('span');\n slcRSpan.className = this.resultsSpanCssClass;\n\n // results per page select is added to external element\n if (!this.resultsPerPageTgtId) {\n tf.setToolbar();\n }\n var targetEl = !this.resultsPerPageTgtId ?\n tf.rDiv : elm(this.resultsPerPageTgtId);\n slcRSpan.appendChild(createText(slcRText));\n\n var help = tf.feature('help');\n if (help && help.btn) {\n help.btn.parentNode.insertBefore(slcRSpan, help.btn);\n help.btn.parentNode.insertBefore(slcR, help.btn);\n } else {\n targetEl.appendChild(slcRSpan);\n targetEl.appendChild(slcR);\n }\n\n for (var r = 0; r < slcROpts.length; r++) {\n var currOpt = new Option(slcROpts[r], slcROpts[r], false, false);\n slcR.options[r] = currOpt;\n }\n addEvt(slcR, 'change', evt.slcResultsChange);\n this.slcResultsTxt = slcRSpan;\n this.resultsPerPageSlc = slcR;\n }\n\n /**\n * Remove number of results per page UI elements\n */\n removeResultsPerPage() {\n var tf = this.tf;\n if (!tf.isInitialized() || !this.resultsPerPageSlc ||\n !this.resultsPerPage) {\n return;\n }\n if (this.resultsPerPageSlc) {\n removeElm(this.resultsPerPageSlc);\n }\n if (this.slcResultsTxt) {\n removeElm(this.slcResultsTxt);\n }\n this.resultsPerPageSlc = null;\n this.slcResultsTxt = null;\n }\n\n /**\n * Change the page based on passed index\n * @param {Number} index Index of the page (0-n)\n */\n changePage(index) {\n var tf = this.tf;\n\n if (!this.isEnabled()) {\n return;\n }\n\n this.emitter.emit('before-page-change', tf, (index + 1));\n\n if (index === null) {\n index = this.pageSelectorType === SELECT ?\n this.pagingSlc.options.selectedIndex : this.pagingSlc.value - 1;\n }\n if (index >= 0 && index <= (this.nbPages - 1)) {\n this.onBeforeChangePage(this, (index + 1));\n\n this.currentPageNb = parseInt(index, 10) + 1;\n if (this.pageSelectorType === SELECT) {\n this.pagingSlc.options[index].selected = true;\n } else {\n this.pagingSlc.value = this.currentPageNb;\n }\n\n this.startPagingRow = (this.pageSelectorType === SELECT) ?\n this.pagingSlc.value : (index * this.pagingLength);\n\n this.groupByPage();\n\n this.onAfterChangePage(this, (index + 1));\n }\n\n this.emitter.emit('after-page-change', tf, (index + 1));\n }\n\n /**\n * Change the number of results per page based on passed value\n * @param {String} val The number of results per page\n */\n changeResultsPerPage(val) {\n if (!this.isEnabled() || isNaN(val)) {\n return;\n }\n\n this.resultsPerPageSlc.value = val;\n this.onChangeResultsPerPage();\n }\n\n /**\n * Change rows according to page results drop-down\n */\n onChangeResultsPerPage() {\n var tf = this.tf;\n\n if (!this.isEnabled()) {\n return;\n }\n\n this.emitter.emit('before-page-length-change', tf);\n\n var slcR = this.resultsPerPageSlc;\n var slcIndex = slcR.selectedIndex;\n var slcPagesSelIndex = (this.pageSelectorType === SELECT) ?\n this.pagingSlc.selectedIndex :\n parseInt(this.pagingSlc.value - 1, 10);\n this.pagingLength = parseInt(slcR.options[slcIndex].value, 10);\n this.startPagingRow = this.pagingLength * slcPagesSelIndex;\n\n if (!isNaN(this.pagingLength)) {\n if (this.startPagingRow >= tf.nbFilterableRows) {\n this.startPagingRow = (tf.nbFilterableRows - this.pagingLength);\n }\n this.setPagingInfo();\n\n if (this.pageSelectorType === SELECT) {\n var slcIdx =\n (this.pagingSlc.options.length - 1 <= slcPagesSelIndex) ?\n (this.pagingSlc.options.length - 1) : slcPagesSelIndex;\n this.pagingSlc.options[slcIdx].selected = true;\n }\n }\n\n this.emitter.emit('after-page-length-change', tf, this.pagingLength);\n }\n\n /**\n * Re-set page nb at page re-load\n */\n resetPage() {\n var tf = this.tf;\n if (!this.isEnabled()) {\n return;\n }\n this.emitter.emit('before-reset-page', tf);\n var pgNb = tf.feature('store').getPageNb();\n if (pgNb !== '') {\n this.changePage((pgNb - 1));\n }\n this.emitter.emit('after-reset-page', tf, pgNb);\n }\n\n /**\n * Re-set page length value at page re-load\n */\n resetPageLength() {\n var tf = this.tf;\n if (!this.isEnabled()) {\n return;\n }\n this.emitter.emit('before-reset-page-length', tf);\n var pglenIndex = tf.feature('store').getPageLength();\n\n if (pglenIndex !== '') {\n this.resultsPerPageSlc.options[pglenIndex].selected = true;\n this.changeResultsPerPage();\n }\n this.emitter.emit('after-reset-page-length', tf, pglenIndex);\n }\n\n /**\n * Remove paging feature\n */\n destroy() {\n if (!this.initialized) {\n return;\n }\n\n var evt = this.evt;\n\n if (this.pagingSlc) {\n if (this.pageSelectorType === SELECT) {\n removeEvt(this.pagingSlc, 'change', evt.slcPagesChange);\n }\n else if (this.pageSelectorType === INPUT) {\n removeEvt(this.pagingSlc, 'keypress', evt._detectKey);\n }\n removeElm(this.pagingSlc);\n }\n\n if (this.btnNextCont) {\n removeEvt(this.btnNextCont, 'click', evt.next);\n removeElm(this.btnNextCont);\n this.btnNextCont = null;\n }\n\n if (this.btnPrevCont) {\n removeEvt(this.btnPrevCont, 'click', evt.prev);\n removeElm(this.btnPrevCont);\n this.btnPrevCont = null;\n }\n\n if (this.btnLastCont) {\n removeEvt(this.btnLastCont, 'click', evt.last);\n removeElm(this.btnLastCont);\n this.btnLastCont = null;\n }\n\n if (this.btnFirstCont) {\n removeEvt(this.btnFirstCont, 'click', evt.first);\n removeElm(this.btnFirstCont);\n this.btnFirstCont = null;\n }\n\n if (this.pgBefore) {\n removeElm(this.pgBefore);\n this.pgBefore = null;\n }\n\n if (this.pgAfter) {\n removeElm(this.pgAfter);\n this.pgAfter = null;\n }\n\n if (this.pgCont) {\n removeElm(this.pgCont);\n this.pgCont = null;\n }\n\n if (this.hasResultsPerPage) {\n this.removeResultsPerPage();\n }\n\n this.emitter.off(['after-filtering'], () => this.resetPagingInfo());\n this.emitter.off(['change-page'],\n (tf, pageNumber) => this.setPage(pageNumber));\n this.emitter.off(['change-page-results'],\n (tf, pageLength) => this.changeResultsPerPage(pageLength));\n\n this.pagingSlc = null;\n this.nbPages = 0;\n this.disable();\n this.initialized = false;\n }\n}\n"
|
|
},
|
|
{
|
|
"__docId__": 503,
|
|
"kind": "class",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "Paging",
|
|
"memberof": "src/modules/paging.js",
|
|
"longname": "src/modules/paging.js~Paging",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/modules/paging.js",
|
|
"importStyle": "{Paging}",
|
|
"description": "Paging UI component",
|
|
"lineNumber": 13,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@export",
|
|
"tagValue": ""
|
|
},
|
|
{
|
|
"tagName": "@class",
|
|
"tagValue": "Paging"
|
|
}
|
|
],
|
|
"interface": false,
|
|
"extends": [
|
|
"Feature"
|
|
]
|
|
},
|
|
{
|
|
"__docId__": 504,
|
|
"kind": "constructor",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "constructor",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#constructor",
|
|
"access": null,
|
|
"description": "Creates an instance of Paging",
|
|
"lineNumber": 19,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"TableFilter"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "tf",
|
|
"description": "TableFilter instance"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 505,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "btnPageCssClass",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#btnPageCssClass",
|
|
"access": null,
|
|
"description": "Css class for the paging buttons (previous, next, etc.)",
|
|
"lineNumber": 29,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 506,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "pagingSlc",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#pagingSlc",
|
|
"access": null,
|
|
"description": "Main select DOM element",
|
|
"lineNumber": 35,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"DOMElement"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 507,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "resultsPerPageSlc",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#resultsPerPageSlc",
|
|
"access": null,
|
|
"description": "Results per page select DOM element",
|
|
"lineNumber": 41,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"DOMElement"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 508,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "pagingTgtId",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#pagingTgtId",
|
|
"access": null,
|
|
"description": "ID of custom container element",
|
|
"lineNumber": 47,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 509,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "pagingLength",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#pagingLength",
|
|
"access": null,
|
|
"description": "Number of rows contained in a page",
|
|
"lineNumber": 53,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 510,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "resultsPerPageTgtId",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#resultsPerPageTgtId",
|
|
"access": null,
|
|
"description": "ID of custom container element for the results per page selector",
|
|
"lineNumber": 59,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 511,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "pgSlcCssClass",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#pgSlcCssClass",
|
|
"access": null,
|
|
"description": "Css class for the paging select element",
|
|
"lineNumber": 65,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 512,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "pgInpCssClass",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#pgInpCssClass",
|
|
"access": null,
|
|
"description": "Css class for the paging input element",
|
|
"lineNumber": 71,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 513,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "resultsPerPage",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#resultsPerPage",
|
|
"access": null,
|
|
"description": "Label and values for the results per page select, example of usage:\n['Records: ', [10,25,50,100]]",
|
|
"lineNumber": 78,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 514,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "hasResultsPerPage",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#hasResultsPerPage",
|
|
"access": null,
|
|
"description": "Determines if results per page is configured",
|
|
"lineNumber": 84,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 515,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "resultsSlcCssClass",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#resultsSlcCssClass",
|
|
"access": null,
|
|
"description": "Css class for the results per page select",
|
|
"lineNumber": 90,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 516,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "resultsSpanCssClass",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#resultsSpanCssClass",
|
|
"access": null,
|
|
"description": "Css class for the label preceding results per page select",
|
|
"lineNumber": 96,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 517,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "startPagingRow",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#startPagingRow",
|
|
"access": "private",
|
|
"description": "Index of the first row of current page",
|
|
"lineNumber": 103,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 518,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "nbPages",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#nbPages",
|
|
"access": "private",
|
|
"description": "Total number of pages",
|
|
"lineNumber": 110,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 519,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "currentPageNb",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#currentPageNb",
|
|
"access": "private",
|
|
"description": "Current page number",
|
|
"lineNumber": 117,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 520,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "btnNextPageText",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#btnNextPageText",
|
|
"access": null,
|
|
"description": "Next page button text",
|
|
"lineNumber": 123,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 521,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "btnPrevPageText",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#btnPrevPageText",
|
|
"access": null,
|
|
"description": "Previous page button text",
|
|
"lineNumber": 129,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 522,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "btnLastPageText",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#btnLastPageText",
|
|
"access": null,
|
|
"description": "Last page button text",
|
|
"lineNumber": 135,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 523,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "btnFirstPageText",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#btnFirstPageText",
|
|
"access": null,
|
|
"description": "First page button text",
|
|
"lineNumber": 141,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 524,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "btnNextPageHtml",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#btnNextPageHtml",
|
|
"access": null,
|
|
"description": "Next page button HTML",
|
|
"lineNumber": 147,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 525,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "btnPrevPageHtml",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#btnPrevPageHtml",
|
|
"access": null,
|
|
"description": "Previous page button HTML",
|
|
"lineNumber": 156,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 526,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "btnFirstPageHtml",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#btnFirstPageHtml",
|
|
"access": null,
|
|
"description": "First page button HTML",
|
|
"lineNumber": 165,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 527,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "btnLastPageHtml",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#btnLastPageHtml",
|
|
"access": null,
|
|
"description": "Last page button HTML",
|
|
"lineNumber": 174,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 528,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "pageText",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#pageText",
|
|
"access": null,
|
|
"description": "Text preceeding page selector drop-down",
|
|
"lineNumber": 183,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 529,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "ofText",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#ofText",
|
|
"access": null,
|
|
"description": "Text after page selector drop-down",
|
|
"lineNumber": 189,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 530,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "nbPgSpanCssClass",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#nbPgSpanCssClass",
|
|
"access": null,
|
|
"description": "Css class for the span containing total number of pages",
|
|
"lineNumber": 195,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 531,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "hasPagingBtns",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#hasPagingBtns",
|
|
"access": null,
|
|
"description": "Determines if paging buttons are enabled (default: true)",
|
|
"lineNumber": 201,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 532,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "pageSelectorType",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#pageSelectorType",
|
|
"access": null,
|
|
"description": "Defines page selector type, two possible values: 'select', 'input'",
|
|
"lineNumber": 207,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 533,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "onBeforeChangePage",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#onBeforeChangePage",
|
|
"access": null,
|
|
"description": "Callback fired before the page is changed",
|
|
"lineNumber": 213,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Function"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 534,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "onAfterChangePage",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#onAfterChangePage",
|
|
"access": null,
|
|
"description": "Callback fired after the page is changed",
|
|
"lineNumber": 220,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Function"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 535,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "slcResultsTxt",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#slcResultsTxt",
|
|
"access": "private",
|
|
"description": "Label preciding results per page select",
|
|
"lineNumber": 228,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"DOMElement"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 536,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "btnNextCont",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#btnNextCont",
|
|
"access": "private",
|
|
"description": "Span containing next page button",
|
|
"lineNumber": 234,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"DOMElement"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 537,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "btnPrevCont",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#btnPrevCont",
|
|
"access": "private",
|
|
"description": "Span containing previous page button",
|
|
"lineNumber": 240,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"DOMElement"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 538,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "btnLastCont",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#btnLastCont",
|
|
"access": "private",
|
|
"description": "Span containing last page button",
|
|
"lineNumber": 246,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"DOMElement"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 539,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "btnFirstCont",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#btnFirstCont",
|
|
"access": "private",
|
|
"description": "Span containing first page button",
|
|
"lineNumber": 252,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"DOMElement"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 540,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "pgCont",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#pgCont",
|
|
"access": "private",
|
|
"description": "Span for tot nb pages",
|
|
"lineNumber": 258,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"DOMElement"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 541,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "pgBefore",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#pgBefore",
|
|
"access": "private",
|
|
"description": "Span preceding pages select (contains 'Page')",
|
|
"lineNumber": 264,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"DOMElement"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 542,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "pgAfter",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#pgAfter",
|
|
"access": "private",
|
|
"description": "Span following pages select (contains ' of ')",
|
|
"lineNumber": 270,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"DOMElement"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 543,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "nbPages",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#nbPages",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 275,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 544,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "evt",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#evt",
|
|
"access": "private",
|
|
"description": "Paging DOM events handlers",
|
|
"lineNumber": 283,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 545,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "init",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#init",
|
|
"access": null,
|
|
"description": "Initialize DOM elements",
|
|
"lineNumber": 333,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 546,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "hasResultsPerPage",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#hasResultsPerPage",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 346,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"boolean"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 547,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "pagingLength",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#pagingLength",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 348,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 548,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "btnNextCont",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#btnNextCont",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 461,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 549,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "btnPrevCont",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#btnPrevCont",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 462,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 550,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "btnLastCont",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#btnLastCont",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 463,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 551,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "btnFirstCont",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#btnFirstCont",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 464,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 552,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "pgCont",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#pgCont",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 465,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 553,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "pgBefore",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#pgBefore",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 466,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 554,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "pgAfter",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#pgAfter",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 467,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 555,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "pagingSlc",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#pagingSlc",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 468,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 556,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "initialized",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#initialized",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 484,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@inherited",
|
|
"tagValue": ""
|
|
}
|
|
],
|
|
"type": {
|
|
"types": [
|
|
"boolean"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 557,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "reset",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#reset",
|
|
"access": null,
|
|
"description": "Reset paging when filters are already instantiated",
|
|
"lineNumber": 491,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "filterTable",
|
|
"description": "Execute filtering once paging instanciated"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 558,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "resetPagingInfo",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#resetPagingInfo",
|
|
"access": null,
|
|
"description": "Reset paging info from scratch after a filtering process",
|
|
"lineNumber": 507,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 559,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "startPagingRow",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#startPagingRow",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 508,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"number"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 560,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "currentPageNb",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#currentPageNb",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 509,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"number"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 561,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "setPagingInfo",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#setPagingInfo",
|
|
"access": null,
|
|
"description": "Calculate number of pages based on valid rows\nRefresh paging select according to number of pages",
|
|
"lineNumber": 518,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "validRows",
|
|
"description": "Collection of valid rows"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 562,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "nbPages",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#nbPages",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 526,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 563,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "groupByPage",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#groupByPage",
|
|
"access": null,
|
|
"description": "Group table rows by page and display valid rows",
|
|
"lineNumber": 557,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "validRows",
|
|
"description": "Collection of valid rows"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 564,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "getPage",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#getPage",
|
|
"access": null,
|
|
"description": "Return the current page number",
|
|
"lineNumber": 594,
|
|
"params": [],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"description": "Page number"
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 565,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "setPage",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#setPage",
|
|
"access": null,
|
|
"description": "Show page defined by passed argument (string or number):",
|
|
"lineNumber": 603,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"String}/{Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "cmd",
|
|
"description": "possible string values: 'next',\n 'previous', 'last', 'first' or page number as per param"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 566,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "setResultsPerPage",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#setResultsPerPage",
|
|
"access": null,
|
|
"description": "Generates UI elements for the number of results per page drop-down",
|
|
"lineNumber": 637,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 567,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "slcResultsTxt",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#slcResultsTxt",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 679,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 568,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "resultsPerPageSlc",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#resultsPerPageSlc",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 680,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 569,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "removeResultsPerPage",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#removeResultsPerPage",
|
|
"access": null,
|
|
"description": "Remove number of results per page UI elements",
|
|
"lineNumber": 686,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 570,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "resultsPerPageSlc",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#resultsPerPageSlc",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 698,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 571,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "slcResultsTxt",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#slcResultsTxt",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 699,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 572,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "changePage",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#changePage",
|
|
"access": null,
|
|
"description": "Change the page based on passed index",
|
|
"lineNumber": 706,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "index",
|
|
"description": "Index of the page (0-n)"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 573,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "currentPageNb",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#currentPageNb",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 722,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 574,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "startPagingRow",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#startPagingRow",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 729,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 575,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "changeResultsPerPage",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#changeResultsPerPage",
|
|
"access": null,
|
|
"description": "Change the number of results per page based on passed value",
|
|
"lineNumber": 744,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "val",
|
|
"description": "The number of results per page"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 576,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "onChangeResultsPerPage",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#onChangeResultsPerPage",
|
|
"access": null,
|
|
"description": "Change rows according to page results drop-down",
|
|
"lineNumber": 756,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 577,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "pagingLength",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#pagingLength",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 770,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 578,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "startPagingRow",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#startPagingRow",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 771,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 579,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "startPagingRow",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#startPagingRow",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 775,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 580,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "resetPage",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#resetPage",
|
|
"access": null,
|
|
"description": "Re-set page nb at page re-load",
|
|
"lineNumber": 793,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 581,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "resetPageLength",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#resetPageLength",
|
|
"access": null,
|
|
"description": "Re-set page length value at page re-load",
|
|
"lineNumber": 809,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 582,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "destroy",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#destroy",
|
|
"access": null,
|
|
"description": "Remove paging feature",
|
|
"lineNumber": 827,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 583,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "btnNextCont",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#btnNextCont",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 847,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 584,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "btnPrevCont",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#btnPrevCont",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 853,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 585,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "btnLastCont",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#btnLastCont",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 859,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 586,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "btnFirstCont",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#btnFirstCont",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 865,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 587,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "pgBefore",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#pgBefore",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 870,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 588,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "pgAfter",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#pgAfter",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 875,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 589,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "pgCont",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#pgCont",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 880,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 590,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "pagingSlc",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#pagingSlc",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 893,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 591,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "nbPages",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#nbPages",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 894,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"number"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 592,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "initialized",
|
|
"memberof": "src/modules/paging.js~Paging",
|
|
"longname": "src/modules/paging.js~Paging#initialized",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 896,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"boolean"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 593,
|
|
"kind": "file",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "src/modules/popupFilter.js",
|
|
"memberof": null,
|
|
"longname": "src/modules/popupFilter.js",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 1,
|
|
"content": "import {Feature} from '../feature';\nimport {isFn, isUndef, EMPTY_FN} from '../types';\nimport {createElm, removeElm} from '../dom';\nimport {addEvt, cancelEvt, stopEvt, targetEvt, removeEvt} from '../event';\nimport {INPUT, NONE, CHECKLIST, MULTIPLE} from '../const';\nimport {root} from '../root';\n\n/**\n * Pop-up filter component\n * @export\n * @class PopupFilter\n * @extends {Feature}\n */\nexport class PopupFilter extends Feature {\n\n /**\n * Creates an instance of PopupFilter\n * @param {TableFilter} tf TableFilter instance\n */\n constructor(tf) {\n super(tf, 'popupFilters');\n\n // Configuration object\n let f = this.config;\n\n // Enable external filters\n tf.isExternalFlt = true;\n tf.externalFltTgtIds = [];\n\n /**\n * Close active popup filter upon filtering, enabled by default\n * @type {Boolean}\n */\n this.closeOnFiltering = f.popup_filters_close_on_filtering === false ?\n false : true;\n\n /**\n * Filter icon path\n * @type {String}\n */\n this.iconPath = f.popup_filters_image ||\n tf.themesPath + 'icn_filter.gif';\n\n /**\n * Active filter icon path\n * @type {string}\n */\n this.activeIconPath = f.popup_filters_image_active ||\n tf.themesPath + 'icn_filterActive.gif';\n\n /**\n * HTML for the filter icon\n * @type {string}\n */\n this.iconHtml = f.popup_filters_image_html ||\n '<img src=\"' + this.iconPath + '\" alt=\"Column filter\" />';\n\n /**\n * Css class assigned to filter container element\n * @type {String}\n */\n this.containerCssClass = f.popup_div_css_class || 'popUpFilter';\n\n /**\n * Ensure filter's container element width matches column width, enabled\n * by default\n * @type {Boolean}\n */\n this.adjustToContainer =\n f.popup_filters_adjust_to_container === false ? false : true;\n\n /**\n * Callback fired before a popup filter is opened\n * @type {Function}\n */\n this.onBeforeOpen = isFn(f.on_before_popup_filter_open) ?\n f.on_before_popup_filter_open : EMPTY_FN;\n\n /**\n * Callback fired after a popup filter is opened\n * @type {Function}\n */\n this.onAfterOpen = isFn(f.on_after_popup_filter_open) ?\n f.on_after_popup_filter_open : EMPTY_FN;\n\n /**\n * Callback fired before a popup filter is closed\n * @type {Function}\n */\n this.onBeforeClose = isFn(f.on_before_popup_filter_close) ?\n f.on_before_popup_filter_close : EMPTY_FN;\n\n /**\n * Callback fired after a popup filter is closed\n * @type {Function}\n */\n this.onAfterClose = isFn(f.on_after_popup_filter_close) ?\n f.on_after_popup_filter_close : EMPTY_FN;\n\n /**\n * Collection of filters spans\n * @type {Array}\n * @private\n */\n this.fltSpans = [];\n\n /**\n * Collection of filters icons\n * @type {Array}\n * @private\n */\n this.fltIcons = [];\n\n /**\n * Collection of filters icons cached after pop-up filters are removed\n * @type {Array}\n * @private\n */\n this.filtersCache = null;\n\n /**\n * Collection of filters containers\n * @type {Array}\n * @private\n */\n this.fltElms = this.filtersCache || [];\n\n /**\n * Prefix for pop-up filter container ID\n * @type {String}\n * @private\n */\n this.prfxDiv = 'popup_';\n\n /**\n * Column index of popup filter currently active\n * @type {Number}\n * @private\n */\n this.activeFilterIdx = -1;\n }\n\n /**\n * Click event handler for pop-up filter icon\n * @private\n */\n onClick(evt) {\n let elm = targetEvt(evt).parentNode;\n let colIndex = parseInt(elm.getAttribute('ci'), 10);\n\n this.closeAll(colIndex);\n this.toggle(colIndex);\n\n if (this.adjustToContainer) {\n let cont = this.fltElms[colIndex],\n header = this.tf.getHeaderElement(colIndex),\n headerWidth = header.clientWidth * 0.95;\n cont.style.width = parseInt(headerWidth, 10) + 'px';\n }\n cancelEvt(evt);\n stopEvt(evt);\n }\n\n /**\n * Mouse-up event handler handling popup filter auto-close behaviour\n * @private\n */\n onMouseup(evt) {\n if (this.activeFilterIdx === -1) {\n return;\n }\n let targetElm = targetEvt(evt);\n let activeFlt = this.fltElms[this.activeFilterIdx];\n let icon = this.fltIcons[this.activeFilterIdx];\n\n if (icon === targetElm) {\n return;\n }\n\n while (targetElm && targetElm !== activeFlt) {\n targetElm = targetElm.parentNode;\n }\n\n if (targetElm !== activeFlt) {\n this.close(this.activeFilterIdx);\n }\n\n return;\n }\n\n /**\n * Initialize DOM elements\n */\n init() {\n if (this.initialized) {\n return;\n }\n\n let tf = this.tf;\n\n // Override headers row index if no grouped headers\n // TODO: Because of the filters row generation, headers row index needs\n // adjusting: prevent useless row generation\n if (tf.headersRow <= 1 && isNaN(tf.config().headers_row_index)) {\n tf.headersRow = 0;\n }\n\n // Adjust headers row index for grid-layout mode\n // TODO: Because of the filters row generation, headers row index needs\n // adjusting: prevent useless row generation\n if (tf.gridLayout) {\n tf.headersRow--;\n this.buildIcons();\n }\n\n // subscribe to events\n this.emitter.on(['before-filtering'], () => this.setIconsState());\n this.emitter.on(['after-filtering'], () => this.closeAll());\n this.emitter.on(['cell-processed'],\n (tf, cellIndex) => this.changeState(cellIndex, true));\n this.emitter.on(['filters-row-inserted'], () => this.buildIcons());\n this.emitter.on(['before-filter-init'],\n (tf, colIndex) => this.build(colIndex));\n\n /** @inherited */\n this.initialized = true;\n }\n\n /**\n * Reset previously destroyed feature\n */\n reset() {\n this.enable();\n this.init();\n this.buildIcons();\n this.buildAll();\n }\n\n /**\n * Build all filters icons\n */\n buildIcons() {\n let tf = this.tf;\n\n // TODO: Because of the filters row generation, headers row index needs\n // adjusting: prevent useless row generation\n tf.headersRow++;\n\n for (let i = 0; i < tf.nbCells; i++) {\n if (tf.getFilterType(i) === NONE) {\n continue;\n }\n let icon = createElm('span', ['ci', i]);\n icon.innerHTML = this.iconHtml;\n let header = tf.getHeaderElement(i);\n header.appendChild(icon);\n addEvt(icon, 'click', (evt) => this.onClick(evt));\n this.fltSpans[i] = icon;\n this.fltIcons[i] = icon.firstChild;\n }\n }\n\n /**\n * Build all pop-up filters elements\n */\n buildAll() {\n for (let i = 0; i < this.filtersCache.length; i++) {\n this.build(i, this.filtersCache[i]);\n }\n }\n\n /**\n * Build a specified pop-up filter elements\n * @param {Number} colIndex Column index\n * @param {Object} div Optional container DOM element\n */\n build(colIndex, div) {\n let tf = this.tf;\n let contId = `${this.prfxDiv}${tf.id}_${colIndex}`;\n let cont = div || createElm('div', ['id', contId]);\n cont.className = this.containerCssClass;\n tf.externalFltTgtIds.push(cont.id);\n\n let header = tf.getHeaderElement(colIndex);\n header.insertBefore(cont, header.firstChild);\n addEvt(cont, 'click', (evt) => stopEvt(evt));\n this.fltElms[colIndex] = cont;\n }\n\n /**\n * Toggle visibility of specified filter\n * @param {Number} colIndex Column index\n */\n toggle(colIndex) {\n if (!this.isOpen(colIndex)) {\n this.open(colIndex);\n } else {\n this.close(colIndex);\n }\n }\n\n /**\n * Open popup filter of specified column\n * @param {Number} colIndex Column index\n */\n open(colIndex) {\n let tf = this.tf,\n container = this.fltElms[colIndex];\n\n this.onBeforeOpen(this, container, colIndex);\n\n container.style.display = 'block';\n this.activeFilterIdx = colIndex;\n addEvt(root, 'mouseup', (evt) => this.onMouseup(evt));\n\n if (tf.getFilterType(colIndex) === INPUT) {\n let flt = tf.getFilterElement(colIndex);\n if (flt) {\n flt.focus();\n }\n }\n\n this.onAfterOpen(this, container, colIndex);\n }\n\n /**\n * Close popup filter of specified column\n * @param {Number} colIndex Column index\n */\n close(colIndex) {\n let container = this.fltElms[colIndex];\n\n this.onBeforeClose(this, container, colIndex);\n\n container.style.display = NONE;\n if (this.activeFilterIdx === colIndex) {\n this.activeFilterIdx = -1;\n }\n removeEvt(root, 'mouseup', (evt) => this.onMouseup(evt));\n\n this.onAfterClose(this, container, colIndex);\n }\n\n /**\n * Check if popup filter for specified column is open\n * @param {Number} colIndex Column index\n * @returns {Boolean}\n */\n isOpen(colIndex) {\n return this.fltElms[colIndex].style.display === 'block';\n }\n\n /**\n * Close all filters excepted for the specified one if any\n * @param {Number} exceptIdx Column index of the filter to not close\n */\n closeAll(exceptIdx) {\n // Do not close filters only if argument is undefined and close on\n // filtering option is disabled\n if (isUndef(exceptIdx) && !this.closeOnFiltering) {\n return;\n }\n for (let i = 0; i < this.fltElms.length; i++) {\n if (i === exceptIdx) {\n continue;\n }\n let fltType = tf.getFilterType(i);\n let isMultipleFilter =\n (fltType === CHECKLIST || fltType === MULTIPLE);\n\n // Always hide all single selection filter types but hide multiple\n // selection filter types only if index set\n if (!isMultipleFilter || !isUndef(exceptIdx)) {\n this.close(i);\n }\n }\n }\n\n /**\n * Build all the icons representing the pop-up filters\n */\n setIconsState() {\n for (let i = 0; i < this.fltIcons.length; i++) {\n this.changeState(i, false);\n }\n }\n\n /**\n * Apply specified icon state\n * @param {Number} colIndex Column index\n * @param {Boolean} active Apply active state\n */\n changeState(colIndex, active) {\n let icon = this.fltIcons[colIndex];\n if (icon) {\n icon.src = active ? this.activeIconPath : this.iconPath;\n }\n }\n\n /**\n * Remove pop-up filters\n */\n destroy() {\n if (!this.initialized) {\n return;\n }\n\n this.filtersCache = [];\n for (let i = 0; i < this.fltElms.length; i++) {\n let container = this.fltElms[i],\n icon = this.fltSpans[i],\n iconImg = this.fltIcons[i];\n if (container) {\n removeElm(container);\n this.filtersCache[i] = container;\n }\n container = null;\n if (icon) {\n removeElm(icon);\n }\n icon = null;\n if (iconImg) {\n removeElm(iconImg);\n }\n iconImg = null;\n }\n this.fltElms = [];\n this.fltSpans = [];\n this.fltIcons = [];\n\n // TODO: expose an API to handle external filter IDs\n tf.externalFltTgtIds = [];\n\n // unsubscribe to events\n this.emitter.off(['before-filtering'], () => this.setIconsState());\n this.emitter.off(['after-filtering'], () => this.closeAll());\n this.emitter.off(['cell-processed'],\n (tf, cellIndex) => this.changeState(cellIndex, true));\n this.emitter.off(['filters-row-inserted'], () => this.buildIcons());\n this.emitter.off(['before-filter-init'],\n (tf, colIndex) => this.build(colIndex));\n\n this.initialized = false;\n }\n\n}\n"
|
|
},
|
|
{
|
|
"__docId__": 594,
|
|
"kind": "class",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "PopupFilter",
|
|
"memberof": "src/modules/popupFilter.js",
|
|
"longname": "src/modules/popupFilter.js~PopupFilter",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/modules/popupFilter.js",
|
|
"importStyle": "{PopupFilter}",
|
|
"description": "Pop-up filter component",
|
|
"lineNumber": 14,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@export",
|
|
"tagValue": ""
|
|
},
|
|
{
|
|
"tagName": "@class",
|
|
"tagValue": "PopupFilter"
|
|
}
|
|
],
|
|
"interface": false,
|
|
"extends": [
|
|
"Feature"
|
|
]
|
|
},
|
|
{
|
|
"__docId__": 595,
|
|
"kind": "constructor",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "constructor",
|
|
"memberof": "src/modules/popupFilter.js~PopupFilter",
|
|
"longname": "src/modules/popupFilter.js~PopupFilter#constructor",
|
|
"access": null,
|
|
"description": "Creates an instance of PopupFilter",
|
|
"lineNumber": 20,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"TableFilter"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "tf",
|
|
"description": "TableFilter instance"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 596,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "closeOnFiltering",
|
|
"memberof": "src/modules/popupFilter.js~PopupFilter",
|
|
"longname": "src/modules/popupFilter.js~PopupFilter#closeOnFiltering",
|
|
"access": null,
|
|
"description": "Close active popup filter upon filtering, enabled by default",
|
|
"lineNumber": 34,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 597,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "iconPath",
|
|
"memberof": "src/modules/popupFilter.js~PopupFilter",
|
|
"longname": "src/modules/popupFilter.js~PopupFilter#iconPath",
|
|
"access": null,
|
|
"description": "Filter icon path",
|
|
"lineNumber": 41,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 598,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "activeIconPath",
|
|
"memberof": "src/modules/popupFilter.js~PopupFilter",
|
|
"longname": "src/modules/popupFilter.js~PopupFilter#activeIconPath",
|
|
"access": null,
|
|
"description": "Active filter icon path",
|
|
"lineNumber": 48,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"string"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 599,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "iconHtml",
|
|
"memberof": "src/modules/popupFilter.js~PopupFilter",
|
|
"longname": "src/modules/popupFilter.js~PopupFilter#iconHtml",
|
|
"access": null,
|
|
"description": "HTML for the filter icon",
|
|
"lineNumber": 55,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"string"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 600,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "containerCssClass",
|
|
"memberof": "src/modules/popupFilter.js~PopupFilter",
|
|
"longname": "src/modules/popupFilter.js~PopupFilter#containerCssClass",
|
|
"access": null,
|
|
"description": "Css class assigned to filter container element",
|
|
"lineNumber": 62,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 601,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "adjustToContainer",
|
|
"memberof": "src/modules/popupFilter.js~PopupFilter",
|
|
"longname": "src/modules/popupFilter.js~PopupFilter#adjustToContainer",
|
|
"access": null,
|
|
"description": "Ensure filter's container element width matches column width, enabled\nby default",
|
|
"lineNumber": 69,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 602,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "onBeforeOpen",
|
|
"memberof": "src/modules/popupFilter.js~PopupFilter",
|
|
"longname": "src/modules/popupFilter.js~PopupFilter#onBeforeOpen",
|
|
"access": null,
|
|
"description": "Callback fired before a popup filter is opened",
|
|
"lineNumber": 76,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Function"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 603,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "onAfterOpen",
|
|
"memberof": "src/modules/popupFilter.js~PopupFilter",
|
|
"longname": "src/modules/popupFilter.js~PopupFilter#onAfterOpen",
|
|
"access": null,
|
|
"description": "Callback fired after a popup filter is opened",
|
|
"lineNumber": 83,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Function"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 604,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "onBeforeClose",
|
|
"memberof": "src/modules/popupFilter.js~PopupFilter",
|
|
"longname": "src/modules/popupFilter.js~PopupFilter#onBeforeClose",
|
|
"access": null,
|
|
"description": "Callback fired before a popup filter is closed",
|
|
"lineNumber": 90,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Function"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 605,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "onAfterClose",
|
|
"memberof": "src/modules/popupFilter.js~PopupFilter",
|
|
"longname": "src/modules/popupFilter.js~PopupFilter#onAfterClose",
|
|
"access": null,
|
|
"description": "Callback fired after a popup filter is closed",
|
|
"lineNumber": 97,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Function"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 606,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "fltSpans",
|
|
"memberof": "src/modules/popupFilter.js~PopupFilter",
|
|
"longname": "src/modules/popupFilter.js~PopupFilter#fltSpans",
|
|
"access": "private",
|
|
"description": "Collection of filters spans",
|
|
"lineNumber": 105,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 607,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "fltIcons",
|
|
"memberof": "src/modules/popupFilter.js~PopupFilter",
|
|
"longname": "src/modules/popupFilter.js~PopupFilter#fltIcons",
|
|
"access": "private",
|
|
"description": "Collection of filters icons",
|
|
"lineNumber": 112,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 608,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "filtersCache",
|
|
"memberof": "src/modules/popupFilter.js~PopupFilter",
|
|
"longname": "src/modules/popupFilter.js~PopupFilter#filtersCache",
|
|
"access": "private",
|
|
"description": "Collection of filters icons cached after pop-up filters are removed",
|
|
"lineNumber": 119,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 609,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "fltElms",
|
|
"memberof": "src/modules/popupFilter.js~PopupFilter",
|
|
"longname": "src/modules/popupFilter.js~PopupFilter#fltElms",
|
|
"access": "private",
|
|
"description": "Collection of filters containers",
|
|
"lineNumber": 126,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 610,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "prfxDiv",
|
|
"memberof": "src/modules/popupFilter.js~PopupFilter",
|
|
"longname": "src/modules/popupFilter.js~PopupFilter#prfxDiv",
|
|
"access": "private",
|
|
"description": "Prefix for pop-up filter container ID",
|
|
"lineNumber": 133,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 611,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "activeFilterIdx",
|
|
"memberof": "src/modules/popupFilter.js~PopupFilter",
|
|
"longname": "src/modules/popupFilter.js~PopupFilter#activeFilterIdx",
|
|
"access": "private",
|
|
"description": "Column index of popup filter currently active",
|
|
"lineNumber": 140,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 612,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "onClick",
|
|
"memberof": "src/modules/popupFilter.js~PopupFilter",
|
|
"longname": "src/modules/popupFilter.js~PopupFilter#onClick",
|
|
"access": "private",
|
|
"description": "Click event handler for pop-up filter icon",
|
|
"lineNumber": 147,
|
|
"params": [
|
|
{
|
|
"name": "evt",
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 613,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "onMouseup",
|
|
"memberof": "src/modules/popupFilter.js~PopupFilter",
|
|
"longname": "src/modules/popupFilter.js~PopupFilter#onMouseup",
|
|
"access": "private",
|
|
"description": "Mouse-up event handler handling popup filter auto-close behaviour",
|
|
"lineNumber": 168,
|
|
"params": [
|
|
{
|
|
"name": "evt",
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 614,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "init",
|
|
"memberof": "src/modules/popupFilter.js~PopupFilter",
|
|
"longname": "src/modules/popupFilter.js~PopupFilter#init",
|
|
"access": null,
|
|
"description": "Initialize DOM elements",
|
|
"lineNumber": 194,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 615,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "initialized",
|
|
"memberof": "src/modules/popupFilter.js~PopupFilter",
|
|
"longname": "src/modules/popupFilter.js~PopupFilter#initialized",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 226,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@inherited",
|
|
"tagValue": ""
|
|
}
|
|
],
|
|
"type": {
|
|
"types": [
|
|
"boolean"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 616,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "reset",
|
|
"memberof": "src/modules/popupFilter.js~PopupFilter",
|
|
"longname": "src/modules/popupFilter.js~PopupFilter#reset",
|
|
"access": null,
|
|
"description": "Reset previously destroyed feature",
|
|
"lineNumber": 232,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 617,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "buildIcons",
|
|
"memberof": "src/modules/popupFilter.js~PopupFilter",
|
|
"longname": "src/modules/popupFilter.js~PopupFilter#buildIcons",
|
|
"access": null,
|
|
"description": "Build all filters icons",
|
|
"lineNumber": 242,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 618,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "buildAll",
|
|
"memberof": "src/modules/popupFilter.js~PopupFilter",
|
|
"longname": "src/modules/popupFilter.js~PopupFilter#buildAll",
|
|
"access": null,
|
|
"description": "Build all pop-up filters elements",
|
|
"lineNumber": 266,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 619,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "build",
|
|
"memberof": "src/modules/popupFilter.js~PopupFilter",
|
|
"longname": "src/modules/popupFilter.js~PopupFilter#build",
|
|
"access": null,
|
|
"description": "Build a specified pop-up filter elements",
|
|
"lineNumber": 277,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "colIndex",
|
|
"description": "Column index"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Object"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "div",
|
|
"description": "Optional container DOM element"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 620,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "toggle",
|
|
"memberof": "src/modules/popupFilter.js~PopupFilter",
|
|
"longname": "src/modules/popupFilter.js~PopupFilter#toggle",
|
|
"access": null,
|
|
"description": "Toggle visibility of specified filter",
|
|
"lineNumber": 294,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "colIndex",
|
|
"description": "Column index"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 621,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "open",
|
|
"memberof": "src/modules/popupFilter.js~PopupFilter",
|
|
"longname": "src/modules/popupFilter.js~PopupFilter#open",
|
|
"access": null,
|
|
"description": "Open popup filter of specified column",
|
|
"lineNumber": 306,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "colIndex",
|
|
"description": "Column index"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 622,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "activeFilterIdx",
|
|
"memberof": "src/modules/popupFilter.js~PopupFilter",
|
|
"longname": "src/modules/popupFilter.js~PopupFilter#activeFilterIdx",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 313,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 623,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "close",
|
|
"memberof": "src/modules/popupFilter.js~PopupFilter",
|
|
"longname": "src/modules/popupFilter.js~PopupFilter#close",
|
|
"access": null,
|
|
"description": "Close popup filter of specified column",
|
|
"lineNumber": 330,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "colIndex",
|
|
"description": "Column index"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 624,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "activeFilterIdx",
|
|
"memberof": "src/modules/popupFilter.js~PopupFilter",
|
|
"longname": "src/modules/popupFilter.js~PopupFilter#activeFilterIdx",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 337,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 625,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "isOpen",
|
|
"memberof": "src/modules/popupFilter.js~PopupFilter",
|
|
"longname": "src/modules/popupFilter.js~PopupFilter#isOpen",
|
|
"access": null,
|
|
"description": "Check if popup filter for specified column is open",
|
|
"lineNumber": 349,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@returns",
|
|
"tagValue": "{Boolean}"
|
|
}
|
|
],
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "colIndex",
|
|
"description": "Column index"
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": ""
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 626,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "closeAll",
|
|
"memberof": "src/modules/popupFilter.js~PopupFilter",
|
|
"longname": "src/modules/popupFilter.js~PopupFilter#closeAll",
|
|
"access": null,
|
|
"description": "Close all filters excepted for the specified one if any",
|
|
"lineNumber": 357,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "exceptIdx",
|
|
"description": "Column index of the filter to not close"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 627,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "setIconsState",
|
|
"memberof": "src/modules/popupFilter.js~PopupFilter",
|
|
"longname": "src/modules/popupFilter.js~PopupFilter#setIconsState",
|
|
"access": null,
|
|
"description": "Build all the icons representing the pop-up filters",
|
|
"lineNumber": 382,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 628,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "changeState",
|
|
"memberof": "src/modules/popupFilter.js~PopupFilter",
|
|
"longname": "src/modules/popupFilter.js~PopupFilter#changeState",
|
|
"access": null,
|
|
"description": "Apply specified icon state",
|
|
"lineNumber": 393,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "colIndex",
|
|
"description": "Column index"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "active",
|
|
"description": "Apply active state"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 629,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "destroy",
|
|
"memberof": "src/modules/popupFilter.js~PopupFilter",
|
|
"longname": "src/modules/popupFilter.js~PopupFilter#destroy",
|
|
"access": null,
|
|
"description": "Remove pop-up filters",
|
|
"lineNumber": 403,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 630,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "filtersCache",
|
|
"memberof": "src/modules/popupFilter.js~PopupFilter",
|
|
"longname": "src/modules/popupFilter.js~PopupFilter#filtersCache",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 408,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 631,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "fltElms",
|
|
"memberof": "src/modules/popupFilter.js~PopupFilter",
|
|
"longname": "src/modules/popupFilter.js~PopupFilter#fltElms",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 427,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 632,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "fltSpans",
|
|
"memberof": "src/modules/popupFilter.js~PopupFilter",
|
|
"longname": "src/modules/popupFilter.js~PopupFilter#fltSpans",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 428,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 633,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "fltIcons",
|
|
"memberof": "src/modules/popupFilter.js~PopupFilter",
|
|
"longname": "src/modules/popupFilter.js~PopupFilter#fltIcons",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 429,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 634,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "initialized",
|
|
"memberof": "src/modules/popupFilter.js~PopupFilter",
|
|
"longname": "src/modules/popupFilter.js~PopupFilter#initialized",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 443,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"boolean"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 635,
|
|
"kind": "file",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "src/modules/rowsCounter.js",
|
|
"memberof": null,
|
|
"longname": "src/modules/rowsCounter.js",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 1,
|
|
"content": "import {Feature} from '../feature';\nimport {createElm, createText, elm, removeElm} from '../dom';\nimport {isFn, EMPTY_FN} from '../types';\n\n/**\n * Rows counter UI component\n * @export\n * @class RowsCounter\n * @extends {Feature}\n */\nexport class RowsCounter extends Feature {\n\n /**\n * Creates an instance of RowsCounter\n * @param {TableFilter} tf TableFilter instance\n */\n constructor(tf) {\n super(tf, 'rowsCounter');\n\n // TableFilter configuration\n let f = this.config;\n\n /**\n * ID of custom container element\n * @type {String}\n */\n this.targetId = f.rows_counter_target_id || null;\n\n /**\n * Container DOM element\n * @type {DOMElement}\n * @private\n */\n this.container = null;\n\n /**\n * Container DOM element for label displaying the total number of rows\n * @type {DOMElement}\n * @private\n */\n this.label = null;\n\n /**\n * Text preceding the total number of rows\n * @type {String}\n */\n this.text = f.rows_counter_text || 'Rows: ';\n\n /**\n * Separator symbol appearing between the first and last visible rows of\n * current page when paging is enabled. ie: Rows: 31-40 / 70\n * @type {String}\n */\n this.fromToTextSeparator = f.from_to_text_separator || '-';\n\n /**\n * Separator symbol appearing between the first and last visible rows of\n * current page and the total number of filterable rows when paging is\n * enabled. ie: Rows: 31-40 / 70\n * @type {String}\n */\n this.overText = f.over_text || ' / ';\n\n /**\n * Css class for container element\n * @type {String}\n */\n this.cssClass = f.tot_rows_css_class || 'tot';\n\n /**\n * Callback fired before the counter is refreshed\n * @type {Function}\n */\n this.onBeforeRefreshCounter = isFn(f.on_before_refresh_counter) ?\n f.on_before_refresh_counter : EMPTY_FN;\n\n /**\n * Callback fired after the counter is refreshed\n * @type {Function}\n */\n this.onAfterRefreshCounter = isFn(f.on_after_refresh_counter) ?\n f.on_after_refresh_counter : EMPTY_FN;\n }\n\n /**\n * Initializes RowsCounter instance\n */\n init() {\n if (this.initialized) {\n return;\n }\n\n let tf = this.tf;\n\n //rows counter container\n let countDiv = createElm('div');\n countDiv.className = this.cssClass;\n //rows counter label\n let countSpan = createElm('span');\n let countText = createElm('span');\n countText.appendChild(createText(this.text));\n\n // counter is added to defined element\n if (!this.targetId) {\n tf.setToolbar();\n }\n let targetEl = !this.targetId ? tf.lDiv : elm(this.targetId);\n\n //default container: 'lDiv'\n if (!this.targetId) {\n countDiv.appendChild(countText);\n countDiv.appendChild(countSpan);\n targetEl.appendChild(countDiv);\n }\n else {\n //custom container, no need to append statusDiv\n targetEl.appendChild(countText);\n targetEl.appendChild(countSpan);\n }\n this.container = countDiv;\n this.label = countSpan;\n\n // subscribe to events\n this.emitter.on(['after-filtering', 'grouped-by-page'],\n () => this.refresh(tf.getValidRowsNb()));\n this.emitter.on(['rows-changed'], () => this.refresh());\n\n /** @inherited */\n this.initialized = true;\n this.refresh();\n }\n\n /**\n * Refreshes the rows counter\n * @param {Number} p Optional parameter the total number of rows to display\n * @returns\n */\n refresh(p) {\n if (!this.initialized || !this.isEnabled()) {\n return;\n }\n\n let tf = this.tf;\n\n this.onBeforeRefreshCounter(tf, this.label);\n\n let totTxt;\n if (!tf.paging) {\n if (p && p !== '') {\n totTxt = p;\n } else {\n totTxt = tf.getFilterableRowsNb() - tf.nbHiddenRows;\n }\n } else {\n let paging = tf.feature('paging');\n if (paging) {\n //paging start row\n let pagingStartRow = parseInt(paging.startPagingRow, 10) +\n ((tf.getValidRowsNb() > 0) ? 1 : 0);\n let pagingEndRow =\n (pagingStartRow + paging.pagingLength) - 1 <=\n tf.getValidRowsNb() ?\n pagingStartRow + paging.pagingLength - 1 :\n tf.getValidRowsNb();\n totTxt = pagingStartRow + this.fromToTextSeparator +\n pagingEndRow + this.overText + tf.getValidRowsNb();\n }\n }\n\n this.label.innerHTML = totTxt;\n this.onAfterRefreshCounter(tf, this.label, totTxt);\n }\n\n /**\n * Remove feature\n */\n destroy() {\n if (!this.initialized) {\n return;\n }\n\n if (!this.targetId && this.container) {\n removeElm(this.container);\n } else {\n elm(this.targetId).innerHTML = '';\n }\n this.label = null;\n this.container = null;\n\n // unsubscribe to events\n this.emitter.off(['after-filtering', 'grouped-by-page'],\n () => this.refresh(tf.getValidRowsNb()));\n this.emitter.off(['rows-changed'], () => this.refresh());\n\n this.initialized = false;\n }\n}\n"
|
|
},
|
|
{
|
|
"__docId__": 636,
|
|
"kind": "class",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "RowsCounter",
|
|
"memberof": "src/modules/rowsCounter.js",
|
|
"longname": "src/modules/rowsCounter.js~RowsCounter",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/modules/rowsCounter.js",
|
|
"importStyle": "{RowsCounter}",
|
|
"description": "Rows counter UI component",
|
|
"lineNumber": 11,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@export",
|
|
"tagValue": ""
|
|
},
|
|
{
|
|
"tagName": "@class",
|
|
"tagValue": "RowsCounter"
|
|
}
|
|
],
|
|
"interface": false,
|
|
"extends": [
|
|
"Feature"
|
|
]
|
|
},
|
|
{
|
|
"__docId__": 637,
|
|
"kind": "constructor",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "constructor",
|
|
"memberof": "src/modules/rowsCounter.js~RowsCounter",
|
|
"longname": "src/modules/rowsCounter.js~RowsCounter#constructor",
|
|
"access": null,
|
|
"description": "Creates an instance of RowsCounter",
|
|
"lineNumber": 17,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"TableFilter"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "tf",
|
|
"description": "TableFilter instance"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 638,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "targetId",
|
|
"memberof": "src/modules/rowsCounter.js~RowsCounter",
|
|
"longname": "src/modules/rowsCounter.js~RowsCounter#targetId",
|
|
"access": null,
|
|
"description": "ID of custom container element",
|
|
"lineNumber": 27,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 639,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "container",
|
|
"memberof": "src/modules/rowsCounter.js~RowsCounter",
|
|
"longname": "src/modules/rowsCounter.js~RowsCounter#container",
|
|
"access": "private",
|
|
"description": "Container DOM element",
|
|
"lineNumber": 34,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"DOMElement"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 640,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "label",
|
|
"memberof": "src/modules/rowsCounter.js~RowsCounter",
|
|
"longname": "src/modules/rowsCounter.js~RowsCounter#label",
|
|
"access": "private",
|
|
"description": "Container DOM element for label displaying the total number of rows",
|
|
"lineNumber": 41,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"DOMElement"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 641,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "text",
|
|
"memberof": "src/modules/rowsCounter.js~RowsCounter",
|
|
"longname": "src/modules/rowsCounter.js~RowsCounter#text",
|
|
"access": null,
|
|
"description": "Text preceding the total number of rows",
|
|
"lineNumber": 47,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 642,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "fromToTextSeparator",
|
|
"memberof": "src/modules/rowsCounter.js~RowsCounter",
|
|
"longname": "src/modules/rowsCounter.js~RowsCounter#fromToTextSeparator",
|
|
"access": null,
|
|
"description": "Separator symbol appearing between the first and last visible rows of\ncurrent page when paging is enabled. ie: Rows: 31-40 / 70",
|
|
"lineNumber": 54,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 643,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "overText",
|
|
"memberof": "src/modules/rowsCounter.js~RowsCounter",
|
|
"longname": "src/modules/rowsCounter.js~RowsCounter#overText",
|
|
"access": null,
|
|
"description": "Separator symbol appearing between the first and last visible rows of\ncurrent page and the total number of filterable rows when paging is\nenabled. ie: Rows: 31-40 / 70",
|
|
"lineNumber": 62,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 644,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "cssClass",
|
|
"memberof": "src/modules/rowsCounter.js~RowsCounter",
|
|
"longname": "src/modules/rowsCounter.js~RowsCounter#cssClass",
|
|
"access": null,
|
|
"description": "Css class for container element",
|
|
"lineNumber": 68,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 645,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "onBeforeRefreshCounter",
|
|
"memberof": "src/modules/rowsCounter.js~RowsCounter",
|
|
"longname": "src/modules/rowsCounter.js~RowsCounter#onBeforeRefreshCounter",
|
|
"access": null,
|
|
"description": "Callback fired before the counter is refreshed",
|
|
"lineNumber": 74,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Function"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 646,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "onAfterRefreshCounter",
|
|
"memberof": "src/modules/rowsCounter.js~RowsCounter",
|
|
"longname": "src/modules/rowsCounter.js~RowsCounter#onAfterRefreshCounter",
|
|
"access": null,
|
|
"description": "Callback fired after the counter is refreshed",
|
|
"lineNumber": 81,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Function"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 647,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "init",
|
|
"memberof": "src/modules/rowsCounter.js~RowsCounter",
|
|
"longname": "src/modules/rowsCounter.js~RowsCounter#init",
|
|
"access": null,
|
|
"description": "Initializes RowsCounter instance",
|
|
"lineNumber": 88,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 648,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "container",
|
|
"memberof": "src/modules/rowsCounter.js~RowsCounter",
|
|
"longname": "src/modules/rowsCounter.js~RowsCounter#container",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 120,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 649,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "label",
|
|
"memberof": "src/modules/rowsCounter.js~RowsCounter",
|
|
"longname": "src/modules/rowsCounter.js~RowsCounter#label",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 121,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 650,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "initialized",
|
|
"memberof": "src/modules/rowsCounter.js~RowsCounter",
|
|
"longname": "src/modules/rowsCounter.js~RowsCounter#initialized",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 129,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@inherited",
|
|
"tagValue": ""
|
|
}
|
|
],
|
|
"type": {
|
|
"types": [
|
|
"boolean"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 651,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "refresh",
|
|
"memberof": "src/modules/rowsCounter.js~RowsCounter",
|
|
"longname": "src/modules/rowsCounter.js~RowsCounter#refresh",
|
|
"access": null,
|
|
"description": "Refreshes the rows counter",
|
|
"lineNumber": 138,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@returns",
|
|
"tagValue": ""
|
|
}
|
|
],
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "p",
|
|
"description": "Optional parameter the total number of rows to display"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 652,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "destroy",
|
|
"memberof": "src/modules/rowsCounter.js~RowsCounter",
|
|
"longname": "src/modules/rowsCounter.js~RowsCounter#destroy",
|
|
"access": null,
|
|
"description": "Remove feature",
|
|
"lineNumber": 177,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 653,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "label",
|
|
"memberof": "src/modules/rowsCounter.js~RowsCounter",
|
|
"longname": "src/modules/rowsCounter.js~RowsCounter#label",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 187,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 654,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "container",
|
|
"memberof": "src/modules/rowsCounter.js~RowsCounter",
|
|
"longname": "src/modules/rowsCounter.js~RowsCounter#container",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 188,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 655,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "initialized",
|
|
"memberof": "src/modules/rowsCounter.js~RowsCounter",
|
|
"longname": "src/modules/rowsCounter.js~RowsCounter#initialized",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 195,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"boolean"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 656,
|
|
"kind": "file",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "src/modules/state.js",
|
|
"memberof": null,
|
|
"longname": "src/modules/state.js",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 1,
|
|
"content": "import {Feature} from '../feature';\nimport {Hash} from './hash';\nimport {Storage} from './storage';\nimport {isEmpty} from '../string';\nimport {isArray, isNull, isString, isUndef} from '../types';\n\n/**\n * Features state object persistable with localStorage, cookie or URL hash\n *\n * @export\n * @class State\n * @extends {Feature}\n */\nexport class State extends Feature {\n\n /**\n * Creates an instance of State\n * @param {TableFilter} tf TableFilter instance\n */\n constructor(tf) {\n super(tf, 'state');\n\n let cfg = this.config.state;\n\n /**\n * Determines whether state is persisted with URL hash\n * @type {Boolean}\n */\n this.enableHash = cfg === true ||\n (isArray(cfg.types) && cfg.types.indexOf('hash') !== -1);\n\n /**\n * Determines whether state is persisted with localStorage\n * @type {Boolean}\n */\n this.enableLocalStorage = isArray(cfg.types) &&\n cfg.types.indexOf('local_storage') !== -1;\n\n /**\n * Determines whether state is persisted with localStorage\n * @type {Boolean}\n */\n this.enableCookie = isArray(cfg.types) &&\n cfg.types.indexOf('cookie') !== -1;\n\n /**\n * Persist filters values, enabled by default\n * @type {Boolean}\n */\n this.persistFilters = cfg.filters === false ? false : true;\n\n /**\n * Persist current page number when paging is enabled\n * @type {Boolean}\n */\n this.persistPageNumber = Boolean(cfg.page_number);\n\n /**\n * Persist page length when paging is enabled\n * @type {Boolean}\n */\n this.persistPageLength = Boolean(cfg.page_length);\n\n /**\n * Persist column sorting\n * @type {Boolean}\n */\n this.persistSort = Boolean(cfg.sort);\n\n /**\n * Persist columns visibility\n * @type {Boolean}\n */\n this.persistColsVisibility = Boolean(cfg.columns_visibility);\n\n /**\n * Persist filters row visibility\n * @type {Boolean}\n */\n this.persistFiltersVisibility = Boolean(cfg.filters_visibility);\n\n /**\n * Cookie duration in hours\n * @type {Boolean}\n */\n this.cookieDuration = !isNaN(cfg.cookie_duration) ?\n parseInt(cfg.cookie_duration, 10) : 87600;\n\n /**\n * Enable Storage if localStorage or cookie is required\n * @type {Boolean}\n * @private\n */\n this.enableStorage = this.enableLocalStorage || this.enableCookie;\n\n /**\n * Storage instance if storage is required\n * @type {Storage}\n * @private\n */\n this.storage = null;\n\n /**\n * Hash instance if URL hash is required\n * @type {Boolean}\n * @private\n */\n this.hash = null;\n\n /**\n * Current page number\n * @type {Number}\n * @private\n */\n this.pageNb = null;\n\n /**\n * Current page length\n * @type {Number}\n * @private\n */\n this.pageLength = null;\n\n /**\n * Current column sorting\n * @type {Object}\n * @private\n */\n this.sort = null;\n\n /**\n * Current hidden columns\n * @type {Object}\n * @private\n */\n this.hiddenCols = null;\n\n /**\n * Filters row visibility\n * @type {Boolean}\n * @private\n */\n this.filtersVisibility = null;\n\n /**\n * State object\n * @type {Object}\n * @private\n */\n this.state = {};\n\n /**\n * Prefix for column ID\n * @type {String}\n * @private\n */\n this.prfxCol = 'col_';\n\n /**\n * Prefix for page number ID\n * @type {String}\n * @private\n */\n this.pageNbKey = 'page';\n\n /**\n * Prefix for page length ID\n * @type {String}\n * @private\n */\n this.pageLengthKey = 'page_length';\n\n /**\n * Prefix for filters visibility ID\n * @type {String}\n * @private\n */\n this.filtersVisKey = 'filters_visibility';\n }\n\n /**\n * Initializes State instance\n */\n init() {\n if (this.initialized) {\n return;\n }\n\n this.emitter.on(['after-filtering'], () => this.update());\n this.emitter.on(['after-page-change', 'after-clearing-filters'],\n (tf, pageNb) => this.updatePage(pageNb));\n this.emitter.on(['after-page-length-change'],\n (tf, pageLength) => this.updatePageLength(pageLength));\n this.emitter.on(['column-sorted'],\n (tf, index, descending) => this.updateSort(index, descending));\n this.emitter.on(['sort-initialized'], () => this._syncSort());\n this.emitter.on(['columns-visibility-initialized'],\n () => this._syncColsVisibility());\n this.emitter.on(['column-shown', 'column-hidden'], (tf, feature,\n colIndex, hiddenCols) => this.updateColsVisibility(hiddenCols));\n this.emitter.on(['filters-visibility-initialized'],\n () => this._syncFiltersVisibility());\n this.emitter.on(['filters-toggled'],\n (tf, extension, visible) => this.updateFiltersVisibility(visible));\n\n if (this.enableHash) {\n this.hash = new Hash(this);\n this.hash.init();\n }\n if (this.enableStorage) {\n this.storage = new Storage(this);\n this.storage.init();\n }\n\n /**\n * @inherited\n */\n this.initialized = true;\n }\n\n\n /**\n * Update state object based on current features state\n */\n update() {\n if (!this.isEnabled()) {\n return;\n }\n let state = this.state;\n let tf = this.tf;\n\n if (this.persistFilters) {\n let filterValues = tf.getFiltersValue();\n\n filterValues.forEach((val, idx) => {\n let key = `${this.prfxCol}${idx}`;\n\n if (isString(val) && isEmpty(val)) {\n if (state.hasOwnProperty(key)) {\n state[key].flt = undefined;\n }\n } else {\n state[key] = state[key] || {};\n state[key].flt = val;\n }\n });\n }\n\n if (this.persistPageNumber) {\n if (isNull(this.pageNb)) {\n state[this.pageNbKey] = undefined;\n } else {\n state[this.pageNbKey] = this.pageNb;\n }\n }\n\n if (this.persistPageLength) {\n if (isNull(this.pageLength)) {\n state[this.pageLengthKey] = undefined;\n } else {\n state[this.pageLengthKey] = this.pageLength;\n }\n }\n\n if (this.persistSort) {\n if (!isNull(this.sort)) {\n // Remove previuosly sorted column\n Object.keys(state).forEach((key) => {\n if (key.indexOf(this.prfxCol) !== -1 && state[key]) {\n state[key].sort = undefined;\n }\n });\n\n let key = `${this.prfxCol}${this.sort.column}`;\n state[key] = state[key] || {};\n state[key].sort = { descending: this.sort.descending };\n }\n }\n\n if (this.persistColsVisibility) {\n if (!isNull(this.hiddenCols)) {\n // Clear previuosly hidden columns\n Object.keys(state).forEach((key) => {\n if (key.indexOf(this.prfxCol) !== -1 && state[key]) {\n state[key].hidden = undefined;\n }\n });\n\n this.hiddenCols.forEach((colIdx) => {\n let key = `${this.prfxCol}${colIdx}`;\n state[key] = state[key] || {};\n state[key].hidden = true;\n });\n }\n }\n\n if (this.persistFiltersVisibility) {\n if (isNull(this.filtersVisibility)) {\n state[this.filtersVisKey] = undefined;\n } else {\n state[this.filtersVisKey] = this.filtersVisibility;\n }\n }\n\n this.emitter.emit('state-changed', tf, state);\n }\n\n /**\n * Refresh page number field on page number changes\n *\n * @param {Number} pageNb Current page number\n */\n updatePage(pageNb) {\n this.pageNb = pageNb;\n this.update();\n }\n\n /**\n * Refresh page length field on page length changes\n *\n * @param {Number} pageLength Current page length value\n */\n updatePageLength(pageLength) {\n this.pageLength = pageLength;\n this.update();\n }\n\n /**\n * Refresh column sorting information on sort changes\n *\n * @param index {Number} Column index\n * @param {Boolean} descending Descending manner\n */\n updateSort(index, descending) {\n this.sort = {\n column: index,\n descending: descending\n };\n this.update();\n }\n\n /**\n * Refresh hidden columns information on columns visibility changes\n *\n * @param {Array} hiddenCols Columns indexes\n */\n updateColsVisibility(hiddenCols) {\n this.hiddenCols = hiddenCols;\n this.update();\n }\n\n /**\n * Refresh filters visibility on filters visibility change\n *\n * @param {Boolean} visible Visibility flad\n */\n updateFiltersVisibility(visible) {\n this.filtersVisibility = visible;\n this.update();\n }\n\n /**\n * Override state field\n *\n * @param state State object\n */\n override(state) {\n this.state = state;\n }\n\n /**\n * Sync stored features state\n */\n sync() {\n let state = this.state;\n let tf = this.tf;\n\n this._syncFilters();\n\n if (this.persistPageNumber) {\n let pageNumber = state[this.pageNbKey];\n this.emitter.emit('change-page', tf, pageNumber);\n }\n\n if (this.persistPageLength) {\n let pageLength = state[this.pageLengthKey];\n this.emitter.emit('change-page-results', tf, pageLength);\n }\n\n this._syncSort();\n this._syncColsVisibility();\n this._syncFiltersVisibility();\n }\n\n /**\n * Override current state with passed one and sync features\n *\n * @param {Object} state State object\n */\n overrideAndSync(state) {\n // To prevent state to react to features changes, state is temporarily\n // disabled\n this.disable();\n // State is overriden with passed state object\n this.override(state);\n // New hash state is applied to features\n this.sync();\n // State is re-enabled\n this.enable();\n }\n\n /**\n * Sync filters with stored values and filter table\n *\n * @private\n */\n _syncFilters() {\n if (!this.persistFilters) {\n return;\n }\n let state = this.state;\n let tf = this.tf;\n\n Object.keys(state).forEach((key) => {\n if (key.indexOf(this.prfxCol) !== -1) {\n let colIdx = parseInt(key.replace(this.prfxCol, ''), 10);\n let val = state[key].flt;\n tf.setFilterValue(colIdx, val);\n }\n });\n\n tf.filter();\n }\n\n /**\n * Sync sorted column with stored sorting information and sort table\n *\n * @private\n */\n _syncSort() {\n if (!this.persistSort) {\n return;\n }\n let state = this.state;\n let tf = this.tf;\n\n Object.keys(state).forEach((key) => {\n if (key.indexOf(this.prfxCol) !== -1) {\n let colIdx = parseInt(key.replace(this.prfxCol, ''), 10);\n if (!isUndef(state[key].sort)) {\n let sort = state[key].sort;\n this.emitter.emit('sort', tf, colIdx, sort.descending);\n }\n }\n });\n }\n\n /**\n * Sync hidden columns with stored information\n *\n * @private\n */\n _syncColsVisibility() {\n if (!this.persistColsVisibility) {\n return;\n }\n let state = this.state;\n let tf = this.tf;\n let hiddenCols = [];\n\n Object.keys(state).forEach((key) => {\n if (key.indexOf(this.prfxCol) !== -1) {\n let colIdx = parseInt(key.replace(this.prfxCol, ''), 10);\n if (!isUndef(state[key].hidden)) {\n hiddenCols.push(colIdx);\n }\n }\n });\n\n hiddenCols.forEach((colIdx) => {\n this.emitter.emit('hide-column', tf, colIdx);\n });\n }\n\n /**\n * Sync filters visibility with stored information\n *\n * @private\n */\n _syncFiltersVisibility() {\n if (!this.persistFiltersVisibility) {\n return;\n }\n let state = this.state;\n let tf = this.tf;\n let filtersVisibility = state[this.filtersVisKey];\n\n this.filtersVisibility = filtersVisibility;\n this.emitter.emit('show-filters', tf, filtersVisibility);\n }\n\n /**\n * Destroy State instance\n */\n destroy() {\n if (!this.initialized) {\n return;\n }\n\n this.state = {};\n\n this.emitter.off(['after-filtering'], () => this.update());\n this.emitter.off(['after-page-change', 'after-clearing-filters'],\n (tf, pageNb) => this.updatePage(pageNb));\n this.emitter.off(['after-page-length-change'],\n (tf, index) => this.updatePageLength(index));\n this.emitter.off(['column-sorted'],\n (tf, index, descending) => this.updateSort(index, descending));\n this.emitter.off(['sort-initialized'], () => this._syncSort());\n this.emitter.off(['columns-visibility-initialized'],\n () => this._syncColsVisibility());\n this.emitter.off(['column-shown', 'column-hidden'], (tf, feature,\n colIndex, hiddenCols) => this.updateColsVisibility(hiddenCols));\n this.emitter.off(['filters-visibility-initialized'],\n () => this._syncFiltersVisibility());\n this.emitter.off(['filters-toggled'],\n (tf, extension, visible) => this.updateFiltersVisibility(visible));\n\n if (this.enableHash) {\n this.hash.destroy();\n this.hash = null;\n }\n\n if (this.enableStorage) {\n this.storage.destroy();\n this.storage = null;\n }\n\n this.initialized = false;\n }\n}\n"
|
|
},
|
|
{
|
|
"__docId__": 657,
|
|
"kind": "class",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "State",
|
|
"memberof": "src/modules/state.js",
|
|
"longname": "src/modules/state.js~State",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/modules/state.js",
|
|
"importStyle": "{State}",
|
|
"description": "Features state object persistable with localStorage, cookie or URL hash",
|
|
"lineNumber": 14,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@export",
|
|
"tagValue": ""
|
|
},
|
|
{
|
|
"tagName": "@class",
|
|
"tagValue": "State"
|
|
}
|
|
],
|
|
"interface": false,
|
|
"extends": [
|
|
"Feature"
|
|
]
|
|
},
|
|
{
|
|
"__docId__": 658,
|
|
"kind": "constructor",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "constructor",
|
|
"memberof": "src/modules/state.js~State",
|
|
"longname": "src/modules/state.js~State#constructor",
|
|
"access": null,
|
|
"description": "Creates an instance of State",
|
|
"lineNumber": 20,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"TableFilter"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "tf",
|
|
"description": "TableFilter instance"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 659,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "enableHash",
|
|
"memberof": "src/modules/state.js~State",
|
|
"longname": "src/modules/state.js~State#enableHash",
|
|
"access": null,
|
|
"description": "Determines whether state is persisted with URL hash",
|
|
"lineNumber": 29,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 660,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "enableLocalStorage",
|
|
"memberof": "src/modules/state.js~State",
|
|
"longname": "src/modules/state.js~State#enableLocalStorage",
|
|
"access": null,
|
|
"description": "Determines whether state is persisted with localStorage",
|
|
"lineNumber": 36,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 661,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "enableCookie",
|
|
"memberof": "src/modules/state.js~State",
|
|
"longname": "src/modules/state.js~State#enableCookie",
|
|
"access": null,
|
|
"description": "Determines whether state is persisted with localStorage",
|
|
"lineNumber": 43,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 662,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "persistFilters",
|
|
"memberof": "src/modules/state.js~State",
|
|
"longname": "src/modules/state.js~State#persistFilters",
|
|
"access": null,
|
|
"description": "Persist filters values, enabled by default",
|
|
"lineNumber": 50,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 663,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "persistPageNumber",
|
|
"memberof": "src/modules/state.js~State",
|
|
"longname": "src/modules/state.js~State#persistPageNumber",
|
|
"access": null,
|
|
"description": "Persist current page number when paging is enabled",
|
|
"lineNumber": 56,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 664,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "persistPageLength",
|
|
"memberof": "src/modules/state.js~State",
|
|
"longname": "src/modules/state.js~State#persistPageLength",
|
|
"access": null,
|
|
"description": "Persist page length when paging is enabled",
|
|
"lineNumber": 62,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 665,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "persistSort",
|
|
"memberof": "src/modules/state.js~State",
|
|
"longname": "src/modules/state.js~State#persistSort",
|
|
"access": null,
|
|
"description": "Persist column sorting",
|
|
"lineNumber": 68,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 666,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "persistColsVisibility",
|
|
"memberof": "src/modules/state.js~State",
|
|
"longname": "src/modules/state.js~State#persistColsVisibility",
|
|
"access": null,
|
|
"description": "Persist columns visibility",
|
|
"lineNumber": 74,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 667,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "persistFiltersVisibility",
|
|
"memberof": "src/modules/state.js~State",
|
|
"longname": "src/modules/state.js~State#persistFiltersVisibility",
|
|
"access": null,
|
|
"description": "Persist filters row visibility",
|
|
"lineNumber": 80,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 668,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "cookieDuration",
|
|
"memberof": "src/modules/state.js~State",
|
|
"longname": "src/modules/state.js~State#cookieDuration",
|
|
"access": null,
|
|
"description": "Cookie duration in hours",
|
|
"lineNumber": 86,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 669,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "enableStorage",
|
|
"memberof": "src/modules/state.js~State",
|
|
"longname": "src/modules/state.js~State#enableStorage",
|
|
"access": "private",
|
|
"description": "Enable Storage if localStorage or cookie is required",
|
|
"lineNumber": 94,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 670,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "storage",
|
|
"memberof": "src/modules/state.js~State",
|
|
"longname": "src/modules/state.js~State#storage",
|
|
"access": "private",
|
|
"description": "Storage instance if storage is required",
|
|
"lineNumber": 101,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Storage"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 671,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "hash",
|
|
"memberof": "src/modules/state.js~State",
|
|
"longname": "src/modules/state.js~State#hash",
|
|
"access": "private",
|
|
"description": "Hash instance if URL hash is required",
|
|
"lineNumber": 108,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 672,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "pageNb",
|
|
"memberof": "src/modules/state.js~State",
|
|
"longname": "src/modules/state.js~State#pageNb",
|
|
"access": "private",
|
|
"description": "Current page number",
|
|
"lineNumber": 115,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 673,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "pageLength",
|
|
"memberof": "src/modules/state.js~State",
|
|
"longname": "src/modules/state.js~State#pageLength",
|
|
"access": "private",
|
|
"description": "Current page length",
|
|
"lineNumber": 122,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 674,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "sort",
|
|
"memberof": "src/modules/state.js~State",
|
|
"longname": "src/modules/state.js~State#sort",
|
|
"access": "private",
|
|
"description": "Current column sorting",
|
|
"lineNumber": 129,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Object"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 675,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "hiddenCols",
|
|
"memberof": "src/modules/state.js~State",
|
|
"longname": "src/modules/state.js~State#hiddenCols",
|
|
"access": "private",
|
|
"description": "Current hidden columns",
|
|
"lineNumber": 136,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Object"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 676,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "filtersVisibility",
|
|
"memberof": "src/modules/state.js~State",
|
|
"longname": "src/modules/state.js~State#filtersVisibility",
|
|
"access": "private",
|
|
"description": "Filters row visibility",
|
|
"lineNumber": 143,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 677,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "state",
|
|
"memberof": "src/modules/state.js~State",
|
|
"longname": "src/modules/state.js~State#state",
|
|
"access": "private",
|
|
"description": "State object",
|
|
"lineNumber": 150,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Object"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 678,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "prfxCol",
|
|
"memberof": "src/modules/state.js~State",
|
|
"longname": "src/modules/state.js~State#prfxCol",
|
|
"access": "private",
|
|
"description": "Prefix for column ID",
|
|
"lineNumber": 157,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 679,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "pageNbKey",
|
|
"memberof": "src/modules/state.js~State",
|
|
"longname": "src/modules/state.js~State#pageNbKey",
|
|
"access": "private",
|
|
"description": "Prefix for page number ID",
|
|
"lineNumber": 164,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 680,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "pageLengthKey",
|
|
"memberof": "src/modules/state.js~State",
|
|
"longname": "src/modules/state.js~State#pageLengthKey",
|
|
"access": "private",
|
|
"description": "Prefix for page length ID",
|
|
"lineNumber": 171,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 681,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "filtersVisKey",
|
|
"memberof": "src/modules/state.js~State",
|
|
"longname": "src/modules/state.js~State#filtersVisKey",
|
|
"access": "private",
|
|
"description": "Prefix for filters visibility ID",
|
|
"lineNumber": 178,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 682,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "init",
|
|
"memberof": "src/modules/state.js~State",
|
|
"longname": "src/modules/state.js~State#init",
|
|
"access": null,
|
|
"description": "Initializes State instance",
|
|
"lineNumber": 184,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 683,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "hash",
|
|
"memberof": "src/modules/state.js~State",
|
|
"longname": "src/modules/state.js~State#hash",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 207,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 684,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "storage",
|
|
"memberof": "src/modules/state.js~State",
|
|
"longname": "src/modules/state.js~State#storage",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 211,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 685,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "initialized",
|
|
"memberof": "src/modules/state.js~State",
|
|
"longname": "src/modules/state.js~State#initialized",
|
|
"access": null,
|
|
"description": "",
|
|
"lineNumber": 218,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@inherited",
|
|
"tagValue": ""
|
|
}
|
|
],
|
|
"type": {
|
|
"types": [
|
|
"boolean"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 686,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "update",
|
|
"memberof": "src/modules/state.js~State",
|
|
"longname": "src/modules/state.js~State#update",
|
|
"access": null,
|
|
"description": "Update state object based on current features state",
|
|
"lineNumber": 225,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 687,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "updatePage",
|
|
"memberof": "src/modules/state.js~State",
|
|
"longname": "src/modules/state.js~State#updatePage",
|
|
"access": null,
|
|
"description": "Refresh page number field on page number changes",
|
|
"lineNumber": 313,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "pageNb",
|
|
"description": "Current page number"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 688,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "pageNb",
|
|
"memberof": "src/modules/state.js~State",
|
|
"longname": "src/modules/state.js~State#pageNb",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 314,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 689,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "updatePageLength",
|
|
"memberof": "src/modules/state.js~State",
|
|
"longname": "src/modules/state.js~State#updatePageLength",
|
|
"access": null,
|
|
"description": "Refresh page length field on page length changes",
|
|
"lineNumber": 323,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "pageLength",
|
|
"description": "Current page length value"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 690,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "pageLength",
|
|
"memberof": "src/modules/state.js~State",
|
|
"longname": "src/modules/state.js~State#pageLength",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 324,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 691,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "updateSort",
|
|
"memberof": "src/modules/state.js~State",
|
|
"longname": "src/modules/state.js~State#updateSort",
|
|
"access": null,
|
|
"description": "Refresh column sorting information on sort changes",
|
|
"lineNumber": 334,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"*"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "index",
|
|
"description": "{Number} Column index"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "descending",
|
|
"description": "Descending manner"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 692,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "sort",
|
|
"memberof": "src/modules/state.js~State",
|
|
"longname": "src/modules/state.js~State#sort",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 335,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 693,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "updateColsVisibility",
|
|
"memberof": "src/modules/state.js~State",
|
|
"longname": "src/modules/state.js~State#updateColsVisibility",
|
|
"access": null,
|
|
"description": "Refresh hidden columns information on columns visibility changes",
|
|
"lineNumber": 347,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "hiddenCols",
|
|
"description": "Columns indexes"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 694,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "hiddenCols",
|
|
"memberof": "src/modules/state.js~State",
|
|
"longname": "src/modules/state.js~State#hiddenCols",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 348,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 695,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "updateFiltersVisibility",
|
|
"memberof": "src/modules/state.js~State",
|
|
"longname": "src/modules/state.js~State#updateFiltersVisibility",
|
|
"access": null,
|
|
"description": "Refresh filters visibility on filters visibility change",
|
|
"lineNumber": 357,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "visible",
|
|
"description": "Visibility flad"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 696,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "filtersVisibility",
|
|
"memberof": "src/modules/state.js~State",
|
|
"longname": "src/modules/state.js~State#filtersVisibility",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 358,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 697,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "override",
|
|
"memberof": "src/modules/state.js~State",
|
|
"longname": "src/modules/state.js~State#override",
|
|
"access": null,
|
|
"description": "Override state field",
|
|
"lineNumber": 367,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"*"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "state",
|
|
"description": "State object"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 698,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "state",
|
|
"memberof": "src/modules/state.js~State",
|
|
"longname": "src/modules/state.js~State#state",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 368,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 699,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "sync",
|
|
"memberof": "src/modules/state.js~State",
|
|
"longname": "src/modules/state.js~State#sync",
|
|
"access": null,
|
|
"description": "Sync stored features state",
|
|
"lineNumber": 374,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 700,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "overrideAndSync",
|
|
"memberof": "src/modules/state.js~State",
|
|
"longname": "src/modules/state.js~State#overrideAndSync",
|
|
"access": null,
|
|
"description": "Override current state with passed one and sync features",
|
|
"lineNumber": 400,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Object"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "state",
|
|
"description": "State object"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 701,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "_syncFilters",
|
|
"memberof": "src/modules/state.js~State",
|
|
"longname": "src/modules/state.js~State#_syncFilters",
|
|
"access": "private",
|
|
"description": "Sync filters with stored values and filter table",
|
|
"lineNumber": 417,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 702,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "_syncSort",
|
|
"memberof": "src/modules/state.js~State",
|
|
"longname": "src/modules/state.js~State#_syncSort",
|
|
"access": "private",
|
|
"description": "Sync sorted column with stored sorting information and sort table",
|
|
"lineNumber": 440,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 703,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "_syncColsVisibility",
|
|
"memberof": "src/modules/state.js~State",
|
|
"longname": "src/modules/state.js~State#_syncColsVisibility",
|
|
"access": "private",
|
|
"description": "Sync hidden columns with stored information",
|
|
"lineNumber": 463,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 704,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "_syncFiltersVisibility",
|
|
"memberof": "src/modules/state.js~State",
|
|
"longname": "src/modules/state.js~State#_syncFiltersVisibility",
|
|
"access": "private",
|
|
"description": "Sync filters visibility with stored information",
|
|
"lineNumber": 490,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 705,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "filtersVisibility",
|
|
"memberof": "src/modules/state.js~State",
|
|
"longname": "src/modules/state.js~State#filtersVisibility",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 498,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 706,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "destroy",
|
|
"memberof": "src/modules/state.js~State",
|
|
"longname": "src/modules/state.js~State#destroy",
|
|
"access": null,
|
|
"description": "Destroy State instance",
|
|
"lineNumber": 505,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 707,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "state",
|
|
"memberof": "src/modules/state.js~State",
|
|
"longname": "src/modules/state.js~State#state",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 510,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 708,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "hash",
|
|
"memberof": "src/modules/state.js~State",
|
|
"longname": "src/modules/state.js~State#hash",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 531,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 709,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "storage",
|
|
"memberof": "src/modules/state.js~State",
|
|
"longname": "src/modules/state.js~State#storage",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 536,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 710,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "initialized",
|
|
"memberof": "src/modules/state.js~State",
|
|
"longname": "src/modules/state.js~State#initialized",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 539,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"boolean"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 711,
|
|
"kind": "file",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "src/modules/statusBar.js",
|
|
"memberof": null,
|
|
"longname": "src/modules/statusBar.js",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 1,
|
|
"content": "import {Feature} from '../feature';\nimport {root} from '../root';\nimport {createElm, createText, elm, removeElm} from '../dom';\nimport {isFn, EMPTY_FN} from '../types';\n\nconst EVENTS = [\n 'after-filtering',\n 'after-populating-filter',\n 'after-page-change',\n 'after-clearing-filters',\n 'after-page-length-change',\n 'after-reset-page',\n 'after-reset-page-length',\n 'after-loading-extensions',\n 'after-loading-themes'\n];\n\n/**\n * Status bar UI component\n * @export\n * @class StatusBar\n * @extends {Feature}\n */\nexport class StatusBar extends Feature {\n\n /**\n * Creates an instance of StatusBar\n * @param {TableFilter} tf TableFilter instance\n */\n constructor(tf) {\n super(tf, 'statusBar');\n\n // Configuration object\n let f = this.config;\n\n /**\n * ID of custom container element\n * @type {String}\n */\n this.targetId = f.status_bar_target_id || null;\n\n /**\n * Container DOM element\n * @type {DOMElement}\n * @private\n */\n this.container = null;\n\n /**\n * Message container DOM element\n * @type {DOMElement}\n * @private\n */\n this.msgContainer = null;\n\n /**\n * Label container DOM element\n * @type {DOMElement}\n * @private\n */\n this.labelContainer = null;\n\n /**\n * Text preceding status message\n * @type {String}\n */\n this.text = f.status_bar_text || '';\n\n /**\n * Css class for container element\n * @type {String}\n */\n this.cssClass = f.status_bar_css_class || 'status';\n\n /**\n * Message visibility duration in milliseconds\n * @type {Number}\n * @private\n */\n this.delay = 250;\n\n /**\n * Callback fired before the message is displayed\n * @type {Function}\n */\n this.onBeforeShowMsg = isFn(f.on_before_show_msg) ?\n f.on_before_show_msg : EMPTY_FN;\n\n /**\n * Callback fired after the message is displayed\n * @type {Function}\n */\n this.onAfterShowMsg = isFn(f.on_after_show_msg) ?\n f.on_after_show_msg : EMPTY_FN;\n\n /**\n * Message appearing upon filtering\n * @type {String}\n */\n this.msgFilter = f.msg_filter || 'Filtering data...';\n\n /**\n * Message appearing when a drop-down filter is populated\n * @type {String}\n */\n this.msgPopulate = f.msg_populate || 'Populating filter...';\n\n /**\n * Message appearing when a checklist filter is populated\n * @type {String}\n */\n this.msgPopulateCheckList = f.msg_populate_checklist ||\n 'Populating list...';\n\n /**\n * Message appearing when a pagination page is changed\n * @type {String}\n */\n this.msgChangePage = f.msg_change_page || 'Collecting paging data...';\n\n /**\n * Message appearing when filters are cleared\n * @type {String}\n */\n this.msgClear = f.msg_clear || 'Clearing filters...';\n\n /**\n * Message appearing when the page length is changed\n * @type {String}\n */\n this.msgChangeResults = f.msg_change_results ||\n 'Changing results per page...';\n\n /**\n * Message appearing when the page is re-set\n * @type {String}\n */\n this.msgResetPage = f.msg_reset_page || 'Re-setting page...';\n\n /**\n * Message appearing when the page length is re-set\n * @type {String}\n */\n this.msgResetPageLength = f.msg_reset_page_length ||\n 'Re-setting page length...';\n\n /**\n * Message appearing upon column sorting\n * @type {String}\n */\n this.msgSort = f.msg_sort || 'Sorting data...';\n\n /**\n * Message appearing when extensions are loading\n * @type {String}\n */\n this.msgLoadExtensions = f.msg_load_extensions ||\n 'Loading extensions...';\n\n /**\n * Message appearing when themes are loading\n * @type {String}\n */\n this.msgLoadThemes = f.msg_load_themes || 'Loading theme(s)...';\n }\n\n /**\n * Initializes StatusBar instance\n */\n init() {\n if (this.initialized) {\n return;\n }\n\n let tf = this.tf;\n let emitter = this.emitter;\n\n //status bar container\n let statusDiv = createElm('div');\n statusDiv.className = this.cssClass;\n\n //status bar label\n let statusSpan = createElm('span');\n //preceding text\n let statusSpanText = createElm('span');\n statusSpanText.appendChild(createText(this.text));\n\n // target element container\n if (!this.targetId) {\n tf.setToolbar();\n }\n let targetEl = (!this.targetId) ? tf.lDiv : elm(this.targetId);\n\n //default container: 'lDiv'\n if (!this.targetId) {\n statusDiv.appendChild(statusSpanText);\n statusDiv.appendChild(statusSpan);\n targetEl.appendChild(statusDiv);\n } else {\n // custom container, no need to append statusDiv\n targetEl.appendChild(statusSpanText);\n targetEl.appendChild(statusSpan);\n }\n\n this.container = statusDiv;\n this.msgContainer = statusSpan;\n this.labelContainer = statusSpanText;\n\n // Subscribe to events\n emitter.on(['before-filtering'], () => this.message(this.msgFilter));\n emitter.on(['before-populating-filter'],\n () => this.message(this.msgPopulate));\n emitter.on(['before-page-change'],\n () => this.message(this.msgChangePage));\n emitter.on(['before-clearing-filters'], () =>\n this.message(this.msgClear));\n emitter.on(['before-page-length-change'],\n () => this.message(this.msgChangeResults));\n emitter.on(['before-reset-page'],\n () => this.message(this.msgResetPage));\n emitter.on(['before-reset-page-length'],\n () => this.message(this.msgResetPageLength));\n emitter.on(['before-loading-extensions'],\n () => this.message(this.msgLoadExtensions));\n emitter.on(['before-loading-themes'],\n () => this.message(this.msgLoadThemes));\n\n emitter.on(EVENTS, () => this.message(''));\n\n /**\n * @inherited\n */\n this.initialized = true;\n }\n\n /**\n * Display status message\n * @param {String} [t=''] Message to be displayed\n */\n message(t = '') {\n if (!this.isEnabled()) {\n return;\n }\n\n this.onBeforeShowMsg(this.tf, t);\n\n let d = t === '' ? this.delay : 1;\n root.setTimeout(() => {\n if (!this.initialized) {\n return;\n }\n this.msgContainer.innerHTML = t;\n\n this.onAfterShowMsg(this.tf, t);\n }, d);\n }\n\n /**\n * Destroy StatusBar instance\n */\n destroy() {\n if (!this.initialized) {\n return;\n }\n\n let emitter = this.emitter;\n\n this.container.innerHTML = '';\n if (!this.targetId) {\n removeElm(this.container);\n }\n this.labelContainer = null;\n this.msgContainer = null;\n this.container = null;\n\n // Unsubscribe to events\n emitter.off(['before-filtering'], () => this.message(this.msgFilter));\n emitter.off(['before-populating-filter'],\n () => this.message(this.msgPopulate));\n emitter.off(['before-page-change'],\n () => this.message(this.msgChangePage));\n emitter.off(['before-clearing-filters'],\n () => this.message(this.msgClear));\n emitter.off(['before-page-length-change'],\n () => this.message(this.msgChangeResults));\n emitter.off(['before-reset-page'], () =>\n this.message(this.msgResetPage));\n emitter.off(['before-reset-page-length'],\n () => this.message(this.msgResetPageLength));\n emitter.off(['before-loading-extensions'],\n () => this.message(this.msgLoadExtensions));\n emitter.off(['before-loading-themes'],\n () => this.message(this.msgLoadThemes));\n\n emitter.off(EVENTS, () => this.message(''));\n\n this.initialized = false;\n }\n}\n"
|
|
},
|
|
{
|
|
"__docId__": 712,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "EVENTS",
|
|
"memberof": "src/modules/statusBar.js",
|
|
"longname": "src/modules/statusBar.js~EVENTS",
|
|
"access": null,
|
|
"export": false,
|
|
"importPath": "tablefilter/src/modules/statusBar.js",
|
|
"importStyle": null,
|
|
"description": null,
|
|
"lineNumber": 6,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 713,
|
|
"kind": "class",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "StatusBar",
|
|
"memberof": "src/modules/statusBar.js",
|
|
"longname": "src/modules/statusBar.js~StatusBar",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/modules/statusBar.js",
|
|
"importStyle": "{StatusBar}",
|
|
"description": "Status bar UI component",
|
|
"lineNumber": 24,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@export",
|
|
"tagValue": ""
|
|
},
|
|
{
|
|
"tagName": "@class",
|
|
"tagValue": "StatusBar"
|
|
}
|
|
],
|
|
"interface": false,
|
|
"extends": [
|
|
"Feature"
|
|
]
|
|
},
|
|
{
|
|
"__docId__": 714,
|
|
"kind": "constructor",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "constructor",
|
|
"memberof": "src/modules/statusBar.js~StatusBar",
|
|
"longname": "src/modules/statusBar.js~StatusBar#constructor",
|
|
"access": null,
|
|
"description": "Creates an instance of StatusBar",
|
|
"lineNumber": 30,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"TableFilter"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "tf",
|
|
"description": "TableFilter instance"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 715,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "targetId",
|
|
"memberof": "src/modules/statusBar.js~StatusBar",
|
|
"longname": "src/modules/statusBar.js~StatusBar#targetId",
|
|
"access": null,
|
|
"description": "ID of custom container element",
|
|
"lineNumber": 40,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 716,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "container",
|
|
"memberof": "src/modules/statusBar.js~StatusBar",
|
|
"longname": "src/modules/statusBar.js~StatusBar#container",
|
|
"access": "private",
|
|
"description": "Container DOM element",
|
|
"lineNumber": 47,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"DOMElement"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 717,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "msgContainer",
|
|
"memberof": "src/modules/statusBar.js~StatusBar",
|
|
"longname": "src/modules/statusBar.js~StatusBar#msgContainer",
|
|
"access": "private",
|
|
"description": "Message container DOM element",
|
|
"lineNumber": 54,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"DOMElement"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 718,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "labelContainer",
|
|
"memberof": "src/modules/statusBar.js~StatusBar",
|
|
"longname": "src/modules/statusBar.js~StatusBar#labelContainer",
|
|
"access": "private",
|
|
"description": "Label container DOM element",
|
|
"lineNumber": 61,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"DOMElement"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 719,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "text",
|
|
"memberof": "src/modules/statusBar.js~StatusBar",
|
|
"longname": "src/modules/statusBar.js~StatusBar#text",
|
|
"access": null,
|
|
"description": "Text preceding status message",
|
|
"lineNumber": 67,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 720,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "cssClass",
|
|
"memberof": "src/modules/statusBar.js~StatusBar",
|
|
"longname": "src/modules/statusBar.js~StatusBar#cssClass",
|
|
"access": null,
|
|
"description": "Css class for container element",
|
|
"lineNumber": 73,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 721,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "delay",
|
|
"memberof": "src/modules/statusBar.js~StatusBar",
|
|
"longname": "src/modules/statusBar.js~StatusBar#delay",
|
|
"access": "private",
|
|
"description": "Message visibility duration in milliseconds",
|
|
"lineNumber": 80,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 722,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "onBeforeShowMsg",
|
|
"memberof": "src/modules/statusBar.js~StatusBar",
|
|
"longname": "src/modules/statusBar.js~StatusBar#onBeforeShowMsg",
|
|
"access": null,
|
|
"description": "Callback fired before the message is displayed",
|
|
"lineNumber": 86,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Function"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 723,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "onAfterShowMsg",
|
|
"memberof": "src/modules/statusBar.js~StatusBar",
|
|
"longname": "src/modules/statusBar.js~StatusBar#onAfterShowMsg",
|
|
"access": null,
|
|
"description": "Callback fired after the message is displayed",
|
|
"lineNumber": 93,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Function"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 724,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "msgFilter",
|
|
"memberof": "src/modules/statusBar.js~StatusBar",
|
|
"longname": "src/modules/statusBar.js~StatusBar#msgFilter",
|
|
"access": null,
|
|
"description": "Message appearing upon filtering",
|
|
"lineNumber": 100,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 725,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "msgPopulate",
|
|
"memberof": "src/modules/statusBar.js~StatusBar",
|
|
"longname": "src/modules/statusBar.js~StatusBar#msgPopulate",
|
|
"access": null,
|
|
"description": "Message appearing when a drop-down filter is populated",
|
|
"lineNumber": 106,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 726,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "msgPopulateCheckList",
|
|
"memberof": "src/modules/statusBar.js~StatusBar",
|
|
"longname": "src/modules/statusBar.js~StatusBar#msgPopulateCheckList",
|
|
"access": null,
|
|
"description": "Message appearing when a checklist filter is populated",
|
|
"lineNumber": 112,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 727,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "msgChangePage",
|
|
"memberof": "src/modules/statusBar.js~StatusBar",
|
|
"longname": "src/modules/statusBar.js~StatusBar#msgChangePage",
|
|
"access": null,
|
|
"description": "Message appearing when a pagination page is changed",
|
|
"lineNumber": 119,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 728,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "msgClear",
|
|
"memberof": "src/modules/statusBar.js~StatusBar",
|
|
"longname": "src/modules/statusBar.js~StatusBar#msgClear",
|
|
"access": null,
|
|
"description": "Message appearing when filters are cleared",
|
|
"lineNumber": 125,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 729,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "msgChangeResults",
|
|
"memberof": "src/modules/statusBar.js~StatusBar",
|
|
"longname": "src/modules/statusBar.js~StatusBar#msgChangeResults",
|
|
"access": null,
|
|
"description": "Message appearing when the page length is changed",
|
|
"lineNumber": 131,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 730,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "msgResetPage",
|
|
"memberof": "src/modules/statusBar.js~StatusBar",
|
|
"longname": "src/modules/statusBar.js~StatusBar#msgResetPage",
|
|
"access": null,
|
|
"description": "Message appearing when the page is re-set",
|
|
"lineNumber": 138,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 731,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "msgResetPageLength",
|
|
"memberof": "src/modules/statusBar.js~StatusBar",
|
|
"longname": "src/modules/statusBar.js~StatusBar#msgResetPageLength",
|
|
"access": null,
|
|
"description": "Message appearing when the page length is re-set",
|
|
"lineNumber": 144,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 732,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "msgSort",
|
|
"memberof": "src/modules/statusBar.js~StatusBar",
|
|
"longname": "src/modules/statusBar.js~StatusBar#msgSort",
|
|
"access": null,
|
|
"description": "Message appearing upon column sorting",
|
|
"lineNumber": 151,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 733,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "msgLoadExtensions",
|
|
"memberof": "src/modules/statusBar.js~StatusBar",
|
|
"longname": "src/modules/statusBar.js~StatusBar#msgLoadExtensions",
|
|
"access": null,
|
|
"description": "Message appearing when extensions are loading",
|
|
"lineNumber": 157,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 734,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "msgLoadThemes",
|
|
"memberof": "src/modules/statusBar.js~StatusBar",
|
|
"longname": "src/modules/statusBar.js~StatusBar#msgLoadThemes",
|
|
"access": null,
|
|
"description": "Message appearing when themes are loading",
|
|
"lineNumber": 164,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 735,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "init",
|
|
"memberof": "src/modules/statusBar.js~StatusBar",
|
|
"longname": "src/modules/statusBar.js~StatusBar#init",
|
|
"access": null,
|
|
"description": "Initializes StatusBar instance",
|
|
"lineNumber": 170,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 736,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "container",
|
|
"memberof": "src/modules/statusBar.js~StatusBar",
|
|
"longname": "src/modules/statusBar.js~StatusBar#container",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 205,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 737,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "msgContainer",
|
|
"memberof": "src/modules/statusBar.js~StatusBar",
|
|
"longname": "src/modules/statusBar.js~StatusBar#msgContainer",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 206,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 738,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "labelContainer",
|
|
"memberof": "src/modules/statusBar.js~StatusBar",
|
|
"longname": "src/modules/statusBar.js~StatusBar#labelContainer",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 207,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 739,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "initialized",
|
|
"memberof": "src/modules/statusBar.js~StatusBar",
|
|
"longname": "src/modules/statusBar.js~StatusBar#initialized",
|
|
"access": null,
|
|
"description": "",
|
|
"lineNumber": 233,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@inherited",
|
|
"tagValue": ""
|
|
}
|
|
],
|
|
"type": {
|
|
"types": [
|
|
"boolean"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 740,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "message",
|
|
"memberof": "src/modules/statusBar.js~StatusBar",
|
|
"longname": "src/modules/statusBar.js~StatusBar#message",
|
|
"access": null,
|
|
"description": "Display status message",
|
|
"lineNumber": 240,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"optional": true,
|
|
"defaultValue": "''",
|
|
"defaultRaw": "''",
|
|
"name": "t",
|
|
"description": "Message to be displayed"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 741,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "destroy",
|
|
"memberof": "src/modules/statusBar.js~StatusBar",
|
|
"longname": "src/modules/statusBar.js~StatusBar#destroy",
|
|
"access": null,
|
|
"description": "Destroy StatusBar instance",
|
|
"lineNumber": 261,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 742,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "labelContainer",
|
|
"memberof": "src/modules/statusBar.js~StatusBar",
|
|
"longname": "src/modules/statusBar.js~StatusBar#labelContainer",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 272,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 743,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "msgContainer",
|
|
"memberof": "src/modules/statusBar.js~StatusBar",
|
|
"longname": "src/modules/statusBar.js~StatusBar#msgContainer",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 273,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 744,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "container",
|
|
"memberof": "src/modules/statusBar.js~StatusBar",
|
|
"longname": "src/modules/statusBar.js~StatusBar#container",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 274,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 745,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "initialized",
|
|
"memberof": "src/modules/statusBar.js~StatusBar",
|
|
"longname": "src/modules/statusBar.js~StatusBar#initialized",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 297,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"boolean"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 746,
|
|
"kind": "file",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "src/modules/storage.js",
|
|
"memberof": null,
|
|
"longname": "src/modules/storage.js",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 2,
|
|
"content": "\nimport Cookie from '../cookie';\nimport {root} from '../root';\n\nconst JSON = root.JSON;\nconst localStorage = root.localStorage;\nconst location = root.location;\n\n/**\n * Checks if browser has Storage feature\n */\nexport const hasStorage = () => {\n return 'Storage' in root;\n};\n\n/**\n * Stores the features state in browser's local storage or cookie\n *\n * @export\n * @class Storage\n */\nexport class Storage {\n\n /**\n * Creates an instance of Storage\n *\n * @param {State} state Instance of State\n */\n constructor(state) {\n\n /**\n * State object\n * @type {State}\n * @private\n */\n this.state = state;\n\n /**\n * TableFilter object\n * @type {TableFilter}\n * @private\n */\n this.tf = state.tf;\n\n /**\n * Persist with local storage\n * @type {Boolean}\n * @private\n */\n this.enableLocalStorage = state.enableLocalStorage && hasStorage();\n\n /**\n * Persist with cookie\n * @type {Boolean}\n * @private\n */\n this.enableCookie = state.enableCookie && !this.enableLocalStorage;\n\n /**\n * Emitter object\n * @type {Emitter}\n * @private\n */\n this.emitter = state.emitter;\n\n /**\n * Cookie duration in hours from state object\n * @type {Number}\n * @private\n */\n this.duration = state.cookieDuration;\n }\n\n\n /**\n * Initializes the Storage object\n */\n init() {\n this.emitter.on(['state-changed'], (tf, state) => this.save(state));\n this.emitter.on(['initialized'], () => this.sync());\n }\n\n /**\n * Persists the features state on state changes\n *\n * @param {State} state Instance of State\n */\n save(state) {\n if (this.enableLocalStorage) {\n localStorage[this.getKey()] = JSON.stringify(state);\n } else {\n Cookie.write(this.getKey(), JSON.stringify(state), this.duration);\n }\n }\n\n /**\n * Turns stored string into a State JSON object\n *\n * @returns {Object} JSON object\n */\n retrieve() {\n let state = null;\n if (this.enableLocalStorage) {\n state = localStorage[this.getKey()];\n } else {\n state = Cookie.read(this.getKey());\n }\n\n if (!state) {\n return null;\n }\n return JSON.parse(state);\n }\n\n /**\n * Removes persisted state from storage\n */\n remove() {\n if (this.enableLocalStorage) {\n localStorage.removeItem(this.getKey());\n } else {\n Cookie.remove(this.getKey());\n }\n }\n\n /**\n * Applies persisted state to features\n */\n sync() {\n let state = this.retrieve();\n if (!state) {\n return;\n }\n // override current state with persisted one and sync features\n this.state.overrideAndSync(state);\n }\n\n /**\n * Returns the storage key\n *\n * @returns {String} Key\n */\n getKey() {\n return JSON.stringify({\n key: `${this.tf.prfxTf}_${this.tf.id}`,\n path: location.pathname\n });\n }\n\n /**\n * Release Storage event subscriptions and clear fields\n */\n destroy() {\n this.emitter.off(['state-changed'], (tf, state) => this.save(state));\n this.emitter.off(['initialized'], () => this.sync());\n\n this.remove();\n\n this.state = null;\n this.emitter = null;\n }\n}\n"
|
|
},
|
|
{
|
|
"__docId__": 747,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "JSON",
|
|
"memberof": "src/modules/storage.js",
|
|
"longname": "src/modules/storage.js~JSON",
|
|
"access": null,
|
|
"export": false,
|
|
"importPath": "tablefilter/src/modules/storage.js",
|
|
"importStyle": null,
|
|
"description": null,
|
|
"lineNumber": 5,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 748,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "localStorage",
|
|
"memberof": "src/modules/storage.js",
|
|
"longname": "src/modules/storage.js~localStorage",
|
|
"access": null,
|
|
"export": false,
|
|
"importPath": "tablefilter/src/modules/storage.js",
|
|
"importStyle": null,
|
|
"description": null,
|
|
"lineNumber": 6,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 749,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "location",
|
|
"memberof": "src/modules/storage.js",
|
|
"longname": "src/modules/storage.js~location",
|
|
"access": null,
|
|
"export": false,
|
|
"importPath": "tablefilter/src/modules/storage.js",
|
|
"importStyle": null,
|
|
"description": null,
|
|
"lineNumber": 7,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 750,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "hasStorage",
|
|
"memberof": "src/modules/storage.js",
|
|
"longname": "src/modules/storage.js~hasStorage",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/modules/storage.js",
|
|
"importStyle": "{hasStorage}",
|
|
"description": "Checks if browser has Storage feature",
|
|
"lineNumber": 12,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 751,
|
|
"kind": "class",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "Storage",
|
|
"memberof": "src/modules/storage.js",
|
|
"longname": "src/modules/storage.js~Storage",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/modules/storage.js",
|
|
"importStyle": "{Storage}",
|
|
"description": "Stores the features state in browser's local storage or cookie",
|
|
"lineNumber": 22,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@export",
|
|
"tagValue": ""
|
|
},
|
|
{
|
|
"tagName": "@class",
|
|
"tagValue": "Storage"
|
|
}
|
|
],
|
|
"interface": false
|
|
},
|
|
{
|
|
"__docId__": 752,
|
|
"kind": "constructor",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "constructor",
|
|
"memberof": "src/modules/storage.js~Storage",
|
|
"longname": "src/modules/storage.js~Storage#constructor",
|
|
"access": null,
|
|
"description": "Creates an instance of Storage",
|
|
"lineNumber": 29,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"State"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "state",
|
|
"description": "Instance of State"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 753,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "state",
|
|
"memberof": "src/modules/storage.js~Storage",
|
|
"longname": "src/modules/storage.js~Storage#state",
|
|
"access": "private",
|
|
"description": "State object",
|
|
"lineNumber": 36,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"State"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 754,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "tf",
|
|
"memberof": "src/modules/storage.js~Storage",
|
|
"longname": "src/modules/storage.js~Storage#tf",
|
|
"access": "private",
|
|
"description": "TableFilter object",
|
|
"lineNumber": 43,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"TableFilter"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 755,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "enableLocalStorage",
|
|
"memberof": "src/modules/storage.js~Storage",
|
|
"longname": "src/modules/storage.js~Storage#enableLocalStorage",
|
|
"access": "private",
|
|
"description": "Persist with local storage",
|
|
"lineNumber": 50,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 756,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "enableCookie",
|
|
"memberof": "src/modules/storage.js~Storage",
|
|
"longname": "src/modules/storage.js~Storage#enableCookie",
|
|
"access": "private",
|
|
"description": "Persist with cookie",
|
|
"lineNumber": 57,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 757,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "emitter",
|
|
"memberof": "src/modules/storage.js~Storage",
|
|
"longname": "src/modules/storage.js~Storage#emitter",
|
|
"access": "private",
|
|
"description": "Emitter object",
|
|
"lineNumber": 64,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Emitter"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 758,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "duration",
|
|
"memberof": "src/modules/storage.js~Storage",
|
|
"longname": "src/modules/storage.js~Storage#duration",
|
|
"access": "private",
|
|
"description": "Cookie duration in hours from state object",
|
|
"lineNumber": 71,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 759,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "init",
|
|
"memberof": "src/modules/storage.js~Storage",
|
|
"longname": "src/modules/storage.js~Storage#init",
|
|
"access": null,
|
|
"description": "Initializes the Storage object",
|
|
"lineNumber": 78,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 760,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "save",
|
|
"memberof": "src/modules/storage.js~Storage",
|
|
"longname": "src/modules/storage.js~Storage#save",
|
|
"access": null,
|
|
"description": "Persists the features state on state changes",
|
|
"lineNumber": 88,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"State"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "state",
|
|
"description": "Instance of State"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 761,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "retrieve",
|
|
"memberof": "src/modules/storage.js~Storage",
|
|
"longname": "src/modules/storage.js~Storage#retrieve",
|
|
"access": null,
|
|
"description": "Turns stored string into a State JSON object",
|
|
"lineNumber": 101,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@returns",
|
|
"tagValue": "{Object} JSON object"
|
|
}
|
|
],
|
|
"params": [],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Object"
|
|
],
|
|
"spread": false,
|
|
"description": "JSON object"
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 762,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "remove",
|
|
"memberof": "src/modules/storage.js~Storage",
|
|
"longname": "src/modules/storage.js~Storage#remove",
|
|
"access": null,
|
|
"description": "Removes persisted state from storage",
|
|
"lineNumber": 118,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 763,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "sync",
|
|
"memberof": "src/modules/storage.js~Storage",
|
|
"longname": "src/modules/storage.js~Storage#sync",
|
|
"access": null,
|
|
"description": "Applies persisted state to features",
|
|
"lineNumber": 129,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 764,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "getKey",
|
|
"memberof": "src/modules/storage.js~Storage",
|
|
"longname": "src/modules/storage.js~Storage#getKey",
|
|
"access": null,
|
|
"description": "Returns the storage key",
|
|
"lineNumber": 143,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@returns",
|
|
"tagValue": "{String} Key"
|
|
}
|
|
],
|
|
"params": [],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": "Key"
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 765,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "destroy",
|
|
"memberof": "src/modules/storage.js~Storage",
|
|
"longname": "src/modules/storage.js~Storage#destroy",
|
|
"access": null,
|
|
"description": "Release Storage event subscriptions and clear fields",
|
|
"lineNumber": 153,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 766,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "state",
|
|
"memberof": "src/modules/storage.js~Storage",
|
|
"longname": "src/modules/storage.js~Storage#state",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 159,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 767,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "emitter",
|
|
"memberof": "src/modules/storage.js~Storage",
|
|
"longname": "src/modules/storage.js~Storage#emitter",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 160,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 768,
|
|
"kind": "file",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "src/number.js",
|
|
"memberof": null,
|
|
"longname": "src/number.js",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 1,
|
|
"content": "import {isNumber} from './types';\n\n/**\n * Takes a string, removes all formatting/cruft and returns the raw float value\n * @param {String} Formatted number\n * @param {String} Decimal type '.' or ','\n * @return {Number} Unformatted number\n *\n * https://github.com/openexchangerates/accounting.js/blob/master/accounting.js\n */\nexport const parse = (value, decimal = '.') => {\n // Return the value as-is if it's already a number\n if (isNumber(value)) {\n return value;\n }\n\n // Build regex to strip out everything except digits, decimal point and\n // minus sign\n let regex = new RegExp('[^0-9-' + decimal + ']', ['g']);\n let unformatted = parseFloat(\n ('' + value)\n .replace(/\\((.*)\\)/, '-$1') // replace bracketed values with negatives\n .replace(regex, '') // strip out any cruft\n .replace(decimal, '.') // make sure decimal point is standard\n );\n\n // This will fail silently\n return !isNaN(unformatted) ? unformatted : 0;\n}\n"
|
|
},
|
|
{
|
|
"__docId__": 769,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "parse",
|
|
"memberof": "src/number.js",
|
|
"longname": "src/number.js~parse",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/number.js",
|
|
"importStyle": "{parse}",
|
|
"description": "Takes a string, removes all formatting/cruft and returns the raw float value",
|
|
"lineNumber": 11,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "Formatted",
|
|
"description": "number"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "Decimal",
|
|
"description": "type '.' or ','"
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"description": "Unformatted number\n\nhttps://github.com/openexchangerates/accounting.js/blob/master/accounting.js"
|
|
},
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 770,
|
|
"kind": "file",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "src/root.js",
|
|
"memberof": null,
|
|
"longname": "src/root.js",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 4,
|
|
"content": "/**\n * Export window or global object depending on the environment\n */\nexport const root = (typeof self === 'object' && self.self === self && self) ||\n (typeof global === 'object' && global.global === global && global) ||\n this;\n"
|
|
},
|
|
{
|
|
"__docId__": 771,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "root",
|
|
"memberof": "src/root.js",
|
|
"longname": "src/root.js~root",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/root.js",
|
|
"importStyle": "{root}",
|
|
"description": "Export window or global object depending on the environment",
|
|
"lineNumber": 4,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 772,
|
|
"kind": "file",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "src/sort.js",
|
|
"memberof": null,
|
|
"longname": "src/sort.js",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 13,
|
|
"content": "/**\n * Sorting utilities\n */\n\n/**\n * Case insensitive compare function for passed strings\n * @param {String} First string\n * @param {String} Second string\n * @return {Number} -1 if first string lower than second one\n * 0 if first string same order as second one\n * 1 if first string greater than second one\n */\nexport const ignoreCase = (a, b) => {\n let x = a.toLowerCase();\n let y = b.toLowerCase();\n return ((x < y) ? -1 : ((x > y) ? 1 : 0));\n}\n\n/**\n * Sorts passed numbers in a ascending manner\n * @param {Number} First number\n * @param {Number} Second number\n * @param {Number} Negative, zero or positive number\n */\nexport const numSortAsc = (a, b) => (a - b);\n\n/**\n * Sorts passed numbers in a descending manner\n * @param {Number} First number\n * @param {Number} Second number\n * @param {Number} Negative, zero or positive number\n */\nexport const numSortDesc = (a, b) => (b - a);\n"
|
|
},
|
|
{
|
|
"__docId__": 773,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "ignoreCase",
|
|
"memberof": "src/sort.js",
|
|
"longname": "src/sort.js~ignoreCase",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/sort.js",
|
|
"importStyle": "{ignoreCase}",
|
|
"description": "Case insensitive compare function for passed strings",
|
|
"lineNumber": 13,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "First",
|
|
"description": "string"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "Second",
|
|
"description": "string"
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"description": "1 if first string lower than second one\n 0 if first string same order as second one\n 1 if first string greater than second one"
|
|
},
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 774,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "numSortAsc",
|
|
"memberof": "src/sort.js",
|
|
"longname": "src/sort.js~numSortAsc",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/sort.js",
|
|
"importStyle": "{numSortAsc}",
|
|
"description": "Sorts passed numbers in a ascending manner",
|
|
"lineNumber": 25,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "First",
|
|
"description": "number"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "Second",
|
|
"description": "number"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "Negative,",
|
|
"description": "zero or positive number"
|
|
}
|
|
],
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 775,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "numSortDesc",
|
|
"memberof": "src/sort.js",
|
|
"longname": "src/sort.js~numSortDesc",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/sort.js",
|
|
"importStyle": "{numSortDesc}",
|
|
"description": "Sorts passed numbers in a descending manner",
|
|
"lineNumber": 33,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "First",
|
|
"description": "number"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "Second",
|
|
"description": "number"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "Negative,",
|
|
"description": "zero or positive number"
|
|
}
|
|
],
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 776,
|
|
"kind": "file",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "src/string.js",
|
|
"memberof": null,
|
|
"longname": "src/string.js",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 1,
|
|
"content": "import {remove as removeDiacritics} from 'diacritics';\n\n/**\n * String utilities\n */\n\n/**\n * Removes whitespace from both sides of passed string\n * @param {String} text\n * @return {String}\n */\nexport const trim = (text) => {\n if (text.trim) {\n return text.trim();\n }\n return text.replace(/^\\s*|\\s*$/g, '');\n}\n\n/**\n * Checks if passed string is empty\n * @param {String} text\n * @return {Boolean}\n */\nexport const isEmpty = (text) => trim(text) === '';\n\n/**\n * Makes regex safe string by escaping special characters from passed string\n * @param {String} text\n * @return {String} escaped string\n */\nexport const rgxEsc = (text) => {\n let chars = /[-\\/\\\\^$*+?.()|[\\]{}]/g;\n let escMatch = '\\\\$&';\n return String(text).replace(chars, escMatch);\n}\n\n/**\n * Returns passed string as lowercase if caseSensitive flag set false. By\n * default it returns the string with no casing changes.\n * @param {String} text\n * @return {String} string\n */\nexport const matchCase = (text, caseSensitive = false) => {\n if (!caseSensitive) {\n return text.toLowerCase();\n }\n return text;\n}\n\n/**\n * Checks if passed data contains the searched term\n * @param {String} term Searched term\n * @param {String} data Data string\n * @param {Boolean} exactMatch Exact match\n * @param {Boolean} caseSensitive Case sensitive\n * @param {Boolean} ignoreDiacritics Ignore diacritics\n * @return {Boolean}\n */\nexport const contains = (term, data, exactMatch = false, caseSensitive = false,\n ignoreDiacritics = false) => {\n // Improved by Cedric Wartel (cwl) automatic exact match for selects and\n // special characters are now filtered\n let regexp;\n let modifier = caseSensitive ? 'g' : 'gi';\n if (ignoreDiacritics) {\n term = removeDiacritics(term);\n data = removeDiacritics(data);\n }\n if (exactMatch) {\n regexp = new RegExp('(^\\\\s*)' + rgxEsc(term) + '(\\\\s*$)',\n modifier);\n } else {\n regexp = new RegExp(rgxEsc(term), modifier);\n }\n return regexp.test(data);\n}\n"
|
|
},
|
|
{
|
|
"__docId__": 777,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "trim",
|
|
"memberof": "src/string.js",
|
|
"longname": "src/string.js~trim",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/string.js",
|
|
"importStyle": "{trim}",
|
|
"description": "Removes whitespace from both sides of passed string",
|
|
"lineNumber": 12,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "text",
|
|
"description": ""
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": ""
|
|
},
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 778,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "isEmpty",
|
|
"memberof": "src/string.js",
|
|
"longname": "src/string.js~isEmpty",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/string.js",
|
|
"importStyle": "{isEmpty}",
|
|
"description": "Checks if passed string is empty",
|
|
"lineNumber": 24,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "text",
|
|
"description": ""
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": ""
|
|
},
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 779,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "rgxEsc",
|
|
"memberof": "src/string.js",
|
|
"longname": "src/string.js~rgxEsc",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/string.js",
|
|
"importStyle": "{rgxEsc}",
|
|
"description": "Makes regex safe string by escaping special characters from passed string",
|
|
"lineNumber": 31,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "text",
|
|
"description": ""
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": "escaped string"
|
|
},
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 780,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "matchCase",
|
|
"memberof": "src/string.js",
|
|
"longname": "src/string.js~matchCase",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/string.js",
|
|
"importStyle": "{matchCase}",
|
|
"description": "Returns passed string as lowercase if caseSensitive flag set false. By\ndefault it returns the string with no casing changes.",
|
|
"lineNumber": 43,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "text",
|
|
"description": ""
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": "string"
|
|
},
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 781,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "contains",
|
|
"memberof": "src/string.js",
|
|
"longname": "src/string.js~contains",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/string.js",
|
|
"importStyle": "{contains}",
|
|
"description": "Checks if passed data contains the searched term",
|
|
"lineNumber": 59,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "term",
|
|
"description": "Searched term"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "data",
|
|
"description": "Data string"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "exactMatch",
|
|
"description": "Exact match"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "caseSensitive",
|
|
"description": "Case sensitive"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "ignoreDiacritics",
|
|
"description": "Ignore diacritics"
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": ""
|
|
},
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 782,
|
|
"kind": "file",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "src/tablefilter.js",
|
|
"memberof": null,
|
|
"longname": "src/tablefilter.js",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 1,
|
|
"content": "import {addEvt, cancelEvt, stopEvt, targetEvt, keyCode} from './event';\nimport {\n addClass, createElm, createOpt, elm, getText, getFirstTextNode, hasClass,\n removeClass, removeElm, tag\n} from './dom';\nimport {contains, matchCase, rgxEsc, trim} from './string';\nimport {isEmpty as isEmptyString} from './string';\nimport {\n isArray, isEmpty, isFn, isNumber, isObj, isString, isUndef, EMPTY_FN\n} from './types';\nimport {parse as parseNb} from './number'\n\nimport {root} from './root';\nimport {Emitter} from './emitter';\nimport {GridLayout} from './modules/gridLayout';\nimport {Loader} from './modules/loader';\nimport {HighlightKeyword} from './modules/highlightKeywords';\nimport {PopupFilter} from './modules/popupFilter';\nimport {Dropdown} from './modules/dropdown';\nimport {CheckList} from './modules/checkList';\nimport {RowsCounter} from './modules/rowsCounter';\nimport {StatusBar} from './modules/statusBar';\nimport {Paging} from './modules/paging';\nimport {ClearButton} from './modules/clearButton';\nimport {Help} from './modules/help';\nimport {AlternateRows} from './modules/alternateRows';\nimport {NoResults} from './modules/noResults';\nimport {State} from './modules/state';\nimport {DateType} from './modules/dateType';\n\nimport {\n INPUT, SELECT, MULTIPLE, CHECKLIST, NONE,\n ENTER_KEY, TAB_KEY, ESC_KEY, UP_ARROW_KEY, DOWN_ARROW_KEY,\n CELL_TAG, AUTO_FILTER_DELAY, NUMBER, DATE, FORMATTED_NUMBER\n} from './const';\n\nlet doc = root.document;\n\n/**\n * Makes HTML tables filterable and a bit more :)\n *\n * @export\n * @class TableFilter\n */\nexport class TableFilter {\n\n /**\n * Creates an instance of TableFilter\n * requires `table` or `id` arguments, `row` and `configuration` optional\n * @param {DOMElement} table Table DOM element\n * @param {String} id Table id\n * @param {Number} row index indicating the 1st row\n * @param {Object} configuration object\n */\n constructor(...args) {\n /**\n * ID of current instance\n * @type {String}\n * @private\n */\n this.id = null;\n\n /**\n * Current version\n * @type {String}\n */\n this.version = '{VERSION}';\n\n /**\n * Current year\n * @type {Number}\n * @private\n */\n this.year = new Date().getFullYear();\n\n /**\n * HTML Table DOM element\n * @type {DOMElement}\n */\n this.tbl = null;\n\n /**\n * Calculated row's index from which starts filtering once filters\n * are generated\n * @type {Number}\n */\n this.refRow = null;\n\n /**\n * Index of the headers row\n * @type {Number}\n * @private\n */\n this.headersRow = null;\n\n /**\n * Configuration object\n * @type {Object}\n * @private\n */\n this.cfg = {};\n\n /**\n * Number of rows that can be filtered\n * @type {Number}\n * @private\n */\n this.nbFilterableRows = 0;\n\n /**\n * Number of cells in the reference row\n * @type {Number}\n * @private\n */\n this.nbCells = null;\n\n let startRow;\n\n // TODO: use for-of\n args.forEach((arg) => {\n if (typeof arg === 'object' && arg.nodeName === 'TABLE') {\n this.tbl = arg;\n this.id = arg.id || `tf_${new Date().getTime()}_`;\n } else if (isString(arg)) {\n this.id = arg;\n this.tbl = elm(arg);\n } else if (isNumber(arg)) {\n startRow = arg;\n } else if (isObj(arg)) {\n this.cfg = arg;\n }\n });\n\n if (!this.tbl || this.tbl.nodeName !== 'TABLE' ||\n this.getRowsNb() === 0) {\n throw new Error(`Could not instantiate TableFilter: HTML table\n DOM element not found.`);\n }\n\n // configuration object\n let f = this.cfg;\n\n /**\n * Event emitter instance\n * @type {Emitter}\n */\n this.emitter = new Emitter();\n\n //Start row et cols nb\n this.refRow = isUndef(startRow) ? 2 : (startRow + 1);\n this.nbCells = this.getCellsNb(this.refRow);\n\n /**\n * Base path for static assets\n * @type {String}\n */\n this.basePath = f.base_path || 'tablefilter/';\n\n /*** filters' grid properties ***/\n\n /**\n * Enable/disable filters\n * @type {Boolean}\n */\n this.fltGrid = f.grid === false ? false : true;\n\n /**\n * Enable/disable grid layout (fixed headers)\n * @type {Boolean}\n */\n this.gridLayout = Boolean(f.grid_layout);\n\n /**\n * Filters row index\n * @type {Number}\n */\n this.filtersRowIndex = isNaN(f.filters_row_index) ?\n 0 : f.filters_row_index;\n\n /**\n * Headers row index\n * @type {Number}\n */\n this.headersRow = isNaN(f.headers_row_index) ?\n (this.filtersRowIndex === 0 ? 1 : 0) : f.headers_row_index;\n\n /**\n * Define the type of cell containing a filter (td/th)\n * @type {String}\n */\n this.fltCellTag = isString(f.filters_cell_tag) ?\n f.filters_cell_tag : CELL_TAG;\n\n /**\n * List of filters IDs\n * @type {Array}\n * @private\n */\n this.fltIds = [];\n\n /**\n * List of valid rows indexes (rows visible upon filtering)\n * @type {Array}\n * @private\n */\n this.validRowsIndex = [];\n\n /**\n * Toolbar's container DOM element\n * @type {DOMElement}\n * @private\n */\n this.infDiv = null;\n\n /**\n * Left-side inner container DOM element (rows counter in toolbar)\n * @type {DOMElement}\n * @private\n */\n this.lDiv = null;\n\n /**\n * Right-side inner container DOM element (reset button,\n * page length selector in toolbar)\n * @type {DOMElement}\n * @private\n */\n this.rDiv = null;\n\n /**\n * Middle inner container DOM element (paging elements in toolbar)\n * @type {DOMElement}\n * @private\n */\n this.mDiv = null;\n\n /**\n * Css class for toolbar's container DOM element\n * @type {String}\n */\n this.infDivCssClass = f.inf_div_css_class || 'inf';\n\n /**\n * Css class for left-side inner container DOM element\n * @type {String}\n */\n this.lDivCssClass = f.left_div_css_class || 'ldiv';\n\n /**\n * Css class for right-side inner container DOM element\n * @type {String}\n */\n this.rDivCssClass = f.right_div_css_class || 'rdiv';\n\n /**\n * Css class for middle inner container DOM element\n * @type {String}\n */\n this.mDivCssClass = f.middle_div_css_class || 'mdiv';\n\n /*** filters' grid appearance ***/\n /**\n * Path for stylesheets\n * @type {String}\n */\n this.stylePath = f.style_path || this.basePath + 'style/';\n\n /**\n * Main stylesheet path\n * @type {String}\n */\n this.stylesheet = f.stylesheet || this.stylePath + 'tablefilter.css';\n\n /**\n * Main stylesheet ID\n * @type {String}\n * @private\n */\n this.stylesheetId = this.id + '_style';\n\n /**\n * Css class for the filters row\n * @type {String}\n */\n this.fltsRowCssClass = f.flts_row_css_class || 'fltrow';\n\n /**\n * Enable/disable icons (paging, reset button)\n * @type {Boolean}\n */\n this.enableIcons = f.enable_icons === false ? false : true;\n\n /**\n * Enable/disable alternating rows\n * @type {Boolean}\n */\n this.alternateRows = Boolean(f.alternate_rows);\n\n /**\n * Indicate whether columns widths are set\n * @type {Boolean}\n * @private\n */\n this.hasColWidths = isArray(f.col_widths);\n\n /**\n * Columns widths array\n * @type {Array}\n */\n this.colWidths = this.hasColWidths ? f.col_widths : [];\n\n /**\n * Css class for a filter element\n * @type {String}\n */\n this.fltCssClass = f.flt_css_class || 'flt';\n\n /**\n * Css class for multiple select filters\n * @type {String}\n */\n this.fltMultiCssClass = f.flt_multi_css_class || 'flt_multi';\n\n /**\n * Css class for small filter (when submit button is active)\n * @type {String}\n */\n this.fltSmallCssClass = f.flt_small_css_class || 'flt_s';\n\n /**\n * Css class for single filter type\n * @type {String}\n */\n this.singleFltCssClass = f.single_flt_css_class || 'single_flt';\n\n /*** filters' grid behaviours ***/\n\n /**\n * Enable/disable enter key for input type filters\n * @type {Boolean}\n */\n this.enterKey = f.enter_key === false ? false : true;\n\n /**\n * Callback fired before filtering process starts\n * @type {Function}\n */\n this.onBeforeFilter = isFn(f.on_before_filter) ?\n f.on_before_filter : EMPTY_FN;\n\n /**\n * Callback fired after filtering process is completed\n * @type {Function}\n */\n this.onAfterFilter = isFn(f.on_after_filter) ?\n f.on_after_filter : EMPTY_FN;\n\n /**\n * Enable/disable case sensitivity filtering\n * @type {Boolean}\n */\n this.caseSensitive = Boolean(f.case_sensitive);\n\n /**\n * Indicate whether exact match filtering is enabled on a per column\n * basis\n * @type {Boolean}\n * @private\n */\n this.hasExactMatchByCol = isArray(f.columns_exact_match);\n\n /**\n * Exact match filtering per column array\n * @type {Array}\n */\n this.exactMatchByCol = this.hasExactMatchByCol ?\n f.columns_exact_match : [];\n\n /**\n * Globally enable/disable exact match filtering\n * @type {Boolean}\n */\n this.exactMatch = Boolean(f.exact_match);\n\n /**\n * Ignore diacritics globally or on a column basis\n * @type {Boolean|Array}\n */\n this.ignoreDiacritics = f.ignore_diacritics;\n\n /**\n * Enable/disable linked filters filtering mode\n * @type {Boolean}\n */\n this.linkedFilters = Boolean(f.linked_filters);\n\n /**\n * Enable/disable readonly state for excluded options when\n * linked filters filtering mode is on\n * @type {Boolean}\n */\n this.disableExcludedOptions = Boolean(f.disable_excluded_options);\n\n /**\n * Active filter ID\n * @type {String}\n * @private\n */\n this.activeFilterId = null;\n\n /**\n * Enable/disable always visible rows, excluded from filtering\n * @type {Boolean}\n */\n this.hasVisibleRows = Boolean(f.rows_always_visible);\n\n /**\n * List of row indexes to be excluded from filtering\n * @type {Array}\n */\n this.visibleRows = this.hasVisibleRows ? f.rows_always_visible : [];\n\n /**\n * Enable/disable external filters generation\n * @type {Boolean}\n */\n this.isExternalFlt = Boolean(f.external_flt_grid);\n\n /**\n * List of containers IDs where external filters will be generated\n * @type {Array}\n */\n this.externalFltTgtIds = f.external_flt_grid_ids || [];\n\n /**\n * Callback fired after filters are generated\n * @type {Function}\n */\n this.onFiltersLoaded = isFn(f.on_filters_loaded) ?\n f.on_filters_loaded : EMPTY_FN;\n\n /**\n * Enable/disable single filter filtering all columns\n * @type {Boolean}\n */\n this.singleSearchFlt = Boolean(f.single_filter);\n\n /**\n * Callback fired after a row is validated during filtering\n * @type {Function}\n */\n this.onRowValidated = isFn(f.on_row_validated) ?\n f.on_row_validated : EMPTY_FN;\n\n /**\n * List of columns implementing custom filtering\n * @type {Array}\n */\n this.customCellDataCols = f.custom_cell_data_cols ?\n f.custom_cell_data_cols : [];\n\n /**\n * Delegate function for retrieving cell data with custom logic\n * @type {Function}\n */\n this.customCellData = isFn(f.custom_cell_data) ?\n f.custom_cell_data : EMPTY_FN;\n\n /**\n * Global watermark text for input filter type or watermark for each\n * filter if an array is supplied\n * @type {String|Array}\n */\n this.watermark = f.watermark || '';\n\n /**\n * Indicate whether watermark is on a per column basis\n * @type {Boolean}\n * @private\n */\n this.isWatermarkArray = isArray(this.watermark);\n\n /**\n * Toolbar's custom container ID\n * @type {String}\n */\n this.toolBarTgtId = f.toolbar_target_id || null;\n\n /**\n * Indicate whether help UI component is disabled\n * @type {Boolean}\n */\n this.help = isUndef(f.help_instructions) ?\n undefined : Boolean(f.help_instructions);\n\n /**\n * Indicate whether pop-up filters UI is enabled\n * @type {Boolean}\n */\n this.popupFilters = Boolean(f.popup_filters);\n\n /**\n * Indicate whether filtered (active) columns indicator is enabled\n * @type {Boolean}\n */\n this.markActiveColumns = Boolean(f.mark_active_columns);\n\n /**\n * Css class for filtered (active) columns\n * @type {String}\n */\n this.activeColumnsCssClass = f.active_columns_css_class ||\n 'activeHeader';\n\n /**\n * Callback fired before a column is marked as filtered\n * @type {Function}\n */\n this.onBeforeActiveColumn = isFn(f.on_before_active_column) ?\n f.on_before_active_column : EMPTY_FN;\n\n /**\n * Callback fired after a column is marked as filtered\n * @type {Function}\n */\n this.onAfterActiveColumn = isFn(f.on_after_active_column) ?\n f.on_after_active_column : EMPTY_FN;\n\n /*** select filter's customisation and behaviours ***/\n /**\n * Text for clear option in drop-down filter types (1st option)\n * @type {String|Array}\n */\n this.clearFilterText = f.clear_filter_text || 'Clear';\n\n /**\n * Indicate whether empty option is enabled in drop-down filter types\n * @type {Boolean}\n */\n this.enableEmptyOption = Boolean(f.enable_empty_option);\n\n /**\n * Text for empty option in drop-down filter types\n * @type {String}\n */\n this.emptyText = f.empty_text || '(Empty)';\n\n /**\n * Indicate whether non-empty option is enabled in drop-down filter\n * types\n * @type {Boolean}\n */\n this.enableNonEmptyOption = Boolean(f.enable_non_empty_option);\n\n /**\n * Text for non-empty option in drop-down filter types\n * @type {String}\n */\n this.nonEmptyText = f.non_empty_text || '(Non empty)';\n\n /**\n * Indicate whether drop-down filter types filter the table by default\n * on change event\n * @type {Boolean}\n */\n this.onSlcChange = f.on_change === false ? false : true;\n\n /**\n * Indicate whether options in drop-down filter types are sorted in a\n * alpha-numeric manner by default\n * @type {Boolean}\n */\n this.sortSlc = f.sort_select === false ? false : true;\n\n /**\n * Indicate whether options in drop-down filter types are sorted in a\n * ascending numeric manner\n * @type {Boolean}\n * @private\n */\n this.isSortNumAsc = Boolean(f.sort_num_asc);\n\n /**\n * List of columns implementing options sorting in a ascending numeric\n * manner\n * @type {Array}\n */\n this.sortNumAsc = this.isSortNumAsc ? f.sort_num_asc : [];\n\n /**\n * Indicate whether options in drop-down filter types are sorted in a\n * descending numeric manner\n * @type {Boolean}\n * @private\n */\n this.isSortNumDesc = Boolean(f.sort_num_desc);\n\n /**\n * List of columns implementing options sorting in a descending numeric\n * manner\n * @type {Array}\n */\n this.sortNumDesc = this.isSortNumDesc ? f.sort_num_desc : [];\n\n /**\n * Indicate whether drop-down filter types are populated on demand at\n * first usage\n * @type {Boolean}\n */\n this.loadFltOnDemand = Boolean(f.load_filters_on_demand);\n\n /**\n * Indicate whether custom drop-down filter options are implemented\n * @type {Boolean}\n */\n this.hasCustomOptions = isObj(f.custom_options);\n\n /**\n * Custom options definition of a per column basis, ie:\n *\tcustom_options: {\n * cols:[0, 1],\n * texts: [\n * ['a0', 'b0', 'c0'],\n * ['a1', 'b1', 'c1']\n * ],\n * values: [\n * ['a0', 'b0', 'c0'],\n * ['a1', 'b1', 'c1']\n * ],\n * sorts: [false, true]\n * }\n *\n * @type {Object}\n */\n this.customOptions = f.custom_options;\n\n /*** Filter operators ***/\n /**\n * Regular expression operator for input filter. Defaults to 'rgx:'\n * @type {String}\n */\n this.rgxOperator = f.regexp_operator || 'rgx:';\n\n /**\n * Empty cells operator for input filter. Defaults to '[empty]'\n * @type {String}\n */\n this.emOperator = f.empty_operator || '[empty]';\n\n /**\n * Non-empty cells operator for input filter. Defaults to '[nonempty]'\n * @type {String}\n */\n this.nmOperator = f.nonempty_operator || '[nonempty]';\n\n /**\n * Logical OR operator for input filter. Defaults to '||'\n * @type {String}\n */\n this.orOperator = f.or_operator || '||';\n\n /**\n * Logical AND operator for input filter. Defaults to '&&'\n * @type {String}\n */\n this.anOperator = f.and_operator || '&&';\n\n /**\n * Greater than operator for input filter. Defaults to '>'\n * @type {String}\n */\n this.grOperator = f.greater_operator || '>';\n\n /**\n * Lower than operator for input filter. Defaults to '<'\n * @type {String}\n */\n this.lwOperator = f.lower_operator || '<';\n\n /**\n * Lower than or equal operator for input filter. Defaults to '<='\n * @type {String}\n */\n this.leOperator = f.lower_equal_operator || '<=';\n\n /**\n * Greater than or equal operator for input filter. Defaults to '>='\n * @type {String}\n */\n this.geOperator = f.greater_equal_operator || '>=';\n\n /**\n * Inequality operator for input filter. Defaults to '!'\n * @type {String}\n */\n this.dfOperator = f.different_operator || '!';\n\n /**\n * Like operator for input filter. Defaults to '!'\n * @type {String}\n */\n this.lkOperator = f.like_operator || '*';\n\n /**\n * Strict equality operator for input filter. Defaults to '='\n * @type {String}\n */\n this.eqOperator = f.equal_operator || '=';\n\n /**\n * Starts with operator for input filter. Defaults to '='\n * @type {String}\n */\n this.stOperator = f.start_with_operator || '{';\n\n /**\n * Ends with operator for input filter. Defaults to '='\n * @type {String}\n */\n this.enOperator = f.end_with_operator || '}';\n\n // this.curExp = f.cur_exp || '^[¥£€$]';\n\n /**\n * Stored values separator\n * @type {String}\n */\n this.separator = f.separator || ',';\n\n /**\n * Enable rows counter UI component\n * @type {Boolean}\n */\n this.rowsCounter = Boolean(f.rows_counter);\n\n /**\n * Enable status bar UI component\n * @type {Boolean}\n */\n this.statusBar = Boolean(f.status_bar);\n\n /**\n * Enable activity/spinner indicator UI component\n * @type {Boolean}\n */\n this.loader = Boolean(f.loader);\n\n /*** validation - reset buttons/links ***/\n /**\n * Enable filters submission button\n * @type {Boolean}\n */\n this.displayBtn = Boolean(f.btn);\n\n /**\n * Define filters submission button text\n * @type {String}\n */\n this.btnText = f.btn_text || (!this.enableIcons ? 'Go' : '');\n\n /**\n * Css class for filters submission button\n * @type {String}\n */\n this.btnCssClass = f.btn_css_class ||\n (!this.enableIcons ? 'btnflt' : 'btnflt_icon');\n\n /**\n * Enable clear button\n * @type {Boolean}\n */\n this.btnReset = Boolean(f.btn_reset);\n\n /**\n * Callback fired before filters are cleared\n * @type {Function}\n */\n this.onBeforeReset = isFn(f.on_before_reset) ?\n f.on_before_reset : EMPTY_FN;\n\n /**\n * Callback fired after filters are cleared\n * @type {Function}\n */\n this.onAfterReset = isFn(f.on_after_reset) ?\n f.on_after_reset : EMPTY_FN;\n\n /**\n * Enable paging component\n * @type {Boolean}\n */\n this.paging = Boolean(f.paging);\n\n /**\n * Number of hidden rows\n * @type {Number}\n * @private\n */\n this.nbHiddenRows = 0;\n\n /**\n * Enable auto-filter behaviour, table is filtered when a user\n * stops typing\n * @type {Boolean}\n */\n this.autoFilter = Boolean(f.auto_filter);\n\n /**\n * Auto-filter delay in msecs\n * @type {Number}\n */\n this.autoFilterDelay = !isNaN(f.auto_filter_delay) ?\n f.auto_filter_delay : AUTO_FILTER_DELAY;\n\n /**\n * Indicate whether user is typing\n * @type {Boolean}\n * @private\n */\n this.isUserTyping = null;\n\n /**\n * Auto-filter interval ID\n * @type {String}\n * @private\n */\n this.autoFilterTimer = null;\n\n /**\n * Enable keyword highlighting behaviour\n * @type {Boolean}\n */\n this.highlightKeywords = Boolean(f.highlight_keywords);\n\n /**\n * Enable no results message UI component\n * @type {Boolean}\n */\n this.noResults = isObj(f.no_results_message) ||\n Boolean(f.no_results_message);\n\n /**\n * Enable state persistence\n * @type {Boolean}\n */\n this.state = isObj(f.state) || Boolean(f.state);\n\n /*** data types ***/\n\n /**\n * Define default locale, default to 'en' as per Sugar Date module:\n * https://sugarjs.com/docs/#/DateLocales\n * @type {String}\n */\n this.locale = f.locale || 'en';\n\n /**\n * Define thousands separator ',' or '.', defaults to ','\n * @type {String}\n */\n this.thousandsSeparator = f.thousands_separator || ',';\n\n /**\n * Define decimal separator ',' or '.', defaults to '.'\n * @type {String}\n */\n this.decimalSeparator = f.decimal_separator || '.';\n\n /**\n * Determine whether table has columns data types\n * @type {Boolean}\n * @private\n */\n this.hasColTypes = isArray(f.col_types);\n\n /**\n * Define data types on a column basis, possible values 'string',\n * 'number', 'formatted-number', 'date', 'ipaddress' ie:\n * col_types : [\n * 'string', 'date', 'number',\n * { type: 'formatted-number', decimal: ',', thousands: '.' },\n * { type: 'date', locale: 'en-gb' },\n * { type: 'date', format: ['{dd}-{months}-{yyyy|yy}'] }\n * ]\n *\n * Refer to https://sugarjs.com/docs/#/DateParsing for exhaustive\n * information on date parsing formats supported by Sugar Date\n * @type {Array}\n */\n this.colTypes = this.hasColTypes ? f.col_types : [];\n\n /*** ids prefixes ***/\n /**\n * Main prefix\n * @private\n */\n this.prfxTf = 'TF';\n\n /**\n * Filter's ID prefix (inputs - selects)\n * @private\n */\n this.prfxFlt = 'flt';\n\n /**\n * Button's ID prefix\n * @private\n */\n this.prfxValButton = 'btn';\n\n /**\n * Toolbar container ID prefix\n * @private\n */\n this.prfxInfDiv = 'inf_';\n\n /**\n * Toolbar left element ID prefix\n * @private\n */\n this.prfxLDiv = 'ldiv_';\n\n /**\n * Toolbar right element ID prefix\n * @private\n */\n this.prfxRDiv = 'rdiv_';\n\n /**\n * Toolbar middle element ID prefix\n * @private\n */\n this.prfxMDiv = 'mdiv_';\n\n /**\n * Responsive Css class\n * @private\n */\n this.prfxResponsive = 'resp';\n\n /*** extensions ***/\n /**\n * List of loaded extensions\n * @type {Array}\n * @private\n */\n this.extensions = f.extensions;\n\n /**\n * Determine whether extensions are loaded\n * @type {Boolean}\n * @private\n */\n this.hasExtensions = isArray(this.extensions);\n\n /*** themes ***/\n /**\n * Enable default theme\n * @type {Boolean}\n */\n this.enableDefaultTheme = Boolean(f.enable_default_theme);\n\n /**\n * Determine whether themes are enables\n * @type {Boolean}\n * @private\n */\n this.hasThemes = (this.enableDefaultTheme || isArray(f.themes));\n\n /**\n * List of themes, ie:\n * themes: [{ name: 'skyblue' }]\n * @type {Array}\n */\n this.themes = f.themes || [];\n\n /**\n * Define path to themes assets, defaults to\n * 'tablefilter/style/themes/'. Usage:\n * themes: [{ name: 'skyblue' }]\n * @type {Array}\n */\n this.themesPath = f.themes_path || this.stylePath + 'themes/';\n\n /**\n * Enable responsive layout\n * @type {Boolean}\n */\n this.responsive = Boolean(f.responsive);\n\n /**\n * Features registry\n * @private\n */\n this.Mod = {};\n\n /**\n * Extensions registry\n * @private\n */\n this.ExtRegistry = {};\n }\n\n /**\n * Initialise features and layout\n */\n init() {\n if (this.initialized) {\n return;\n }\n\n let Mod = this.Mod;\n let n = this.singleSearchFlt ? 1 : this.nbCells;\n let inpclass;\n\n //loads stylesheet if not imported\n this.import(this.stylesheetId, this.stylesheet, null, 'link');\n\n //loads theme\n if (this.hasThemes) {\n this.loadThemes();\n }\n\n // Instanciate sugar date wrapper\n Mod.dateType = Mod.dateType || new DateType(this);\n Mod.dateType.init();\n\n // Instantiate help feature and initialise only if set true\n Mod.help = Mod.help || new Help(this);\n if (this.help) {\n Mod.help.init();\n }\n\n if (this.state) {\n Mod.state = Mod.state || new State(this);\n Mod.state.init();\n }\n\n if (this.gridLayout) {\n Mod.gridLayout = Mod.gridLayout || new GridLayout(this);\n Mod.gridLayout.init();\n }\n\n if (this.loader) {\n Mod.loader = Mod.loader || new Loader(this);\n Mod.loader.init();\n }\n\n if (this.highlightKeywords) {\n Mod.highlightKeyword = new HighlightKeyword(this);\n Mod.highlightKeyword.init();\n }\n\n if (this.popupFilters) {\n Mod.popupFilter = Mod.popupFilter || new PopupFilter(this);\n Mod.popupFilter.init();\n }\n\n //filters grid is not generated\n if (!this.fltGrid) {\n this._initNoFilters();\n } else {\n let fltrow = this._insertFiltersRow();\n\n this.nbFilterableRows = this.getRowsNb();\n\n // Generate filters\n for (let i = 0; i < n; i++) {\n this.emitter.emit('before-filter-init', this, i);\n\n let fltcell = createElm(this.fltCellTag),\n col = this.getFilterType(i);\n\n if (this.singleSearchFlt) {\n fltcell.colSpan = this.nbCells;\n }\n if (!this.gridLayout) {\n fltrow.appendChild(fltcell);\n }\n inpclass = (i === n - 1 && this.displayBtn) ?\n this.fltSmallCssClass : this.fltCssClass;\n\n //only 1 input for single search\n if (this.singleSearchFlt) {\n col = INPUT;\n inpclass = this.singleFltCssClass;\n }\n\n //drop-down filters\n if (col === SELECT || col === MULTIPLE) {\n if (!Mod.dropdown) {\n Mod.dropdown = new Dropdown(this);\n }\n Mod.dropdown.init(i, this.isExternalFlt, fltcell);\n }\n // checklist\n else if (col === CHECKLIST) {\n if (!Mod.checkList) {\n Mod.checkList = new CheckList(this);\n }\n Mod.checkList.init(i, this.isExternalFlt, fltcell);\n } else {\n this._buildInputFilter(i, inpclass, fltcell);\n }\n\n // this adds submit button\n if (i === n - 1 && this.displayBtn) {\n this._buildSubmitButton(i, fltcell);\n }\n\n this.emitter.emit('after-filter-init', this, i);\n }\n\n this.emitter.on(['filter-focus'],\n (tf, filter) => this.setActiveFilterId(filter.id));\n\n }//if this.fltGrid\n\n /* Features */\n if (this.hasVisibleRows) {\n this.emitter.on(['after-filtering'],\n () => this.enforceVisibility());\n this.enforceVisibility();\n }\n if (this.rowsCounter) {\n Mod.rowsCounter = new RowsCounter(this);\n Mod.rowsCounter.init();\n }\n if (this.statusBar) {\n Mod.statusBar = new StatusBar(this);\n Mod.statusBar.init();\n }\n if (this.paging) {\n if (!Mod.paging) {\n Mod.paging = new Paging(this);\n Mod.paging.init();\n } else {\n Mod.paging.reset();\n }\n }\n if (this.btnReset) {\n Mod.clearButton = new ClearButton(this);\n Mod.clearButton.init();\n }\n\n if (this.hasColWidths && !this.gridLayout) {\n this.setColWidths();\n }\n if (this.alternateRows) {\n Mod.alternateRows = new AlternateRows(this);\n Mod.alternateRows.init();\n }\n if (this.noResults) {\n Mod.noResults = Mod.noResults || new NoResults(this);\n Mod.noResults.init();\n }\n\n //TF css class is added to table\n if (!this.gridLayout) {\n addClass(this.tbl, this.prfxTf);\n if (this.responsive) {\n addClass(this.tbl, this.prfxResponsive);\n }\n }\n\n /* Loads extensions */\n if (this.hasExtensions) {\n this.initExtensions();\n }\n\n // Subscribe to events\n if (this.markActiveColumns) {\n this.emitter.on(['before-filtering'],\n () => this.clearActiveColumns());\n this.emitter.on(['cell-processed'],\n (tf, colIndex) => this.markActiveColumn(colIndex));\n }\n if (this.linkedFilters) {\n this.emitter.on(['after-filtering'], () => this.linkFilters());\n }\n\n /** @inherited */\n this.initialized = true;\n\n this.onFiltersLoaded(this);\n\n this.emitter.emit('initialized', this);\n }\n\n /**\n * Detect <enter> key\n * @param {Event} evt\n */\n detectKey(evt) {\n if (!this.enterKey) {\n return;\n }\n if (evt) {\n let key = keyCode(evt);\n if (key === ENTER_KEY) {\n this.filter();\n cancelEvt(evt);\n stopEvt(evt);\n } else {\n this.isUserTyping = true;\n root.clearInterval(this.autoFilterTimer);\n this.autoFilterTimer = null;\n }\n }\n }\n\n /**\n * Filter's keyup event: if auto-filter on, detect user is typing and filter\n * columns\n * @param {Event} evt\n */\n onKeyUp(evt) {\n if (!this.autoFilter) {\n return;\n }\n let key = keyCode(evt);\n this.isUserTyping = false;\n\n function filter() {\n root.clearInterval(this.autoFilterTimer);\n this.autoFilterTimer = null;\n if (!this.isUserTyping) {\n this.filter();\n this.isUserTyping = null;\n }\n }\n\n if (key !== ENTER_KEY && key !== TAB_KEY && key !== ESC_KEY &&\n key !== UP_ARROW_KEY && key !== DOWN_ARROW_KEY) {\n if (this.autoFilterTimer === null) {\n this.autoFilterTimer = root.setInterval(filter.bind(this),\n this.autoFilterDelay);\n }\n } else {\n root.clearInterval(this.autoFilterTimer);\n this.autoFilterTimer = null;\n }\n }\n\n /**\n * Filter's keydown event: if auto-filter on, detect user is typing\n */\n onKeyDown() {\n if (this.autoFilter) {\n this.isUserTyping = true;\n }\n }\n\n /**\n * Filter's focus event\n * @param {Event} evt\n */\n onInpFocus(evt) {\n let elm = targetEvt(evt);\n this.emitter.emit('filter-focus', this, elm);\n }\n\n /**\n * Filter's blur event: if auto-filter on, clear interval on filter blur\n */\n onInpBlur() {\n if (this.autoFilter) {\n this.isUserTyping = false;\n root.clearInterval(this.autoFilterTimer);\n }\n this.emitter.emit('filter-blur', this);\n }\n\n /**\n * Insert filters row at initialization\n */\n _insertFiltersRow() {\n // TODO: prevent filters row generation for popup filters too,\n // to reduce and simplify headers row index adjusting across lib modules\n // (GridLayout, PopupFilter etc)\n if (this.gridLayout) {\n return;\n }\n let fltrow;\n\n let thead = tag(this.tbl, 'thead');\n if (thead.length > 0) {\n fltrow = thead[0].insertRow(this.filtersRowIndex);\n } else {\n fltrow = this.tbl.insertRow(this.filtersRowIndex);\n }\n\n fltrow.className = this.fltsRowCssClass;\n\n if (this.isExternalFlt) {\n fltrow.style.display = NONE;\n }\n\n this.emitter.emit('filters-row-inserted', this, fltrow);\n return fltrow;\n }\n\n /**\n * Initialize filtersless table\n */\n _initNoFilters() {\n if (this.fltGrid) {\n return;\n }\n this.refRow = this.refRow > 0 ? this.refRow - 1 : 0;\n this.nbFilterableRows = this.getRowsNb();\n }\n\n /**\n * Build input filter type\n * @param {Number} colIndex Column index\n * @param {String} cssClass Css class applied to filter\n * @param {DOMElement} container Container DOM element\n */\n _buildInputFilter(colIndex, cssClass, container) {\n let col = this.getFilterType(colIndex);\n let externalFltTgtId = this.isExternalFlt ?\n this.externalFltTgtIds[colIndex] : null;\n let inpType = col === INPUT ? 'text' : 'hidden';\n let inp = createElm(INPUT,\n ['id', this.buildFilterId(colIndex)],\n ['type', inpType], ['ct', colIndex]);\n\n if (inpType !== 'hidden' && this.watermark) {\n inp.setAttribute('placeholder',\n this.isWatermarkArray ? (this.watermark[colIndex] || '') :\n this.watermark\n );\n }\n inp.className = cssClass || this.fltCssClass;\n addEvt(inp, 'focus', (evt) => this.onInpFocus(evt));\n\n //filter is appended in custom element\n if (externalFltTgtId) {\n elm(externalFltTgtId).appendChild(inp);\n } else {\n container.appendChild(inp);\n }\n\n this.fltIds.push(inp.id);\n\n addEvt(inp, 'keypress', (evt) => this.detectKey(evt));\n addEvt(inp, 'keydown', () => this.onKeyDown());\n addEvt(inp, 'keyup', (evt) => this.onKeyUp(evt));\n addEvt(inp, 'blur', () => this.onInpBlur());\n }\n\n /**\n * Build submit button\n * @param {Number} colIndex Column index\n * @param {DOMElement} container Container DOM element\n */\n _buildSubmitButton(colIndex, container) {\n let externalFltTgtId = this.isExternalFlt ?\n this.externalFltTgtIds[colIndex] : null;\n let btn = createElm(INPUT,\n ['type', 'button'],\n ['value', this.btnText]\n );\n btn.className = this.btnCssClass;\n\n //filter is appended in custom element\n if (externalFltTgtId) {\n elm(externalFltTgtId).appendChild(btn);\n } else {\n container.appendChild(btn);\n }\n\n addEvt(btn, 'click', () => this.filter());\n }\n\n /**\n * Return a feature instance for a given name\n * @param {String} name Name of the feature\n * @return {Object}\n */\n feature(name) {\n return this.Mod[name];\n }\n\n /**\n * Initialise all the extensions defined in the configuration object\n */\n initExtensions() {\n let exts = this.extensions;\n // Set config's publicPath dynamically for Webpack...\n __webpack_public_path__ = this.basePath;\n\n this.emitter.emit('before-loading-extensions', this);\n for (let i = 0, len = exts.length; i < len; i++) {\n let ext = exts[i];\n if (!this.ExtRegistry[ext.name]) {\n this.loadExtension(ext);\n }\n }\n this.emitter.emit('after-loading-extensions', this);\n }\n\n /**\n * Load an extension module\n * @param {Object} ext Extension config object\n */\n loadExtension(ext) {\n if (!ext || !ext.name) {\n return;\n }\n\n let name = ext.name;\n let path = ext.path;\n let modulePath;\n\n if (name && path) {\n modulePath = ext.path + name;\n } else {\n name = name.replace('.js', '');\n modulePath = 'extensions/{}/{}'.replace(/{}/g, name);\n }\n\n // Require pattern for Webpack\n require(['./' + modulePath], (mod) => {\n /* eslint-disable */\n let inst = new mod.default(this, ext);\n /* eslint-enable */\n inst.init();\n this.ExtRegistry[name] = inst;\n });\n }\n\n /**\n * Get an extension instance\n * @param {String} name Name of the extension\n * @return {Object} Extension instance\n */\n extension(name) {\n return this.ExtRegistry[name];\n }\n\n /**\n * Check passed extension name exists\n * @param {String} name Name of the extension\n * @return {Boolean}\n */\n hasExtension(name) {\n return !isEmpty(this.ExtRegistry[name]);\n }\n\n /**\n * Destroy all the extensions defined in the configuration object\n */\n destroyExtensions() {\n let exts = this.extensions;\n\n for (let i = 0, len = exts.length; i < len; i++) {\n let ext = exts[i];\n let extInstance = this.ExtRegistry[ext.name];\n if (extInstance) {\n extInstance.destroy();\n this.ExtRegistry[ext.name] = undefined;\n }\n }\n }\n\n /**\n * Load themes defined in the configuration object\n */\n loadThemes() {\n let themes = this.themes;\n this.emitter.emit('before-loading-themes', this);\n\n //Default theme config\n if (this.enableDefaultTheme) {\n let defaultTheme = { name: 'default' };\n this.themes.push(defaultTheme);\n }\n if (isArray(themes)) {\n for (let i = 0, len = themes.length; i < len; i++) {\n let theme = themes[i];\n let name = theme.name;\n let path = theme.path;\n let styleId = this.prfxTf + name;\n if (name && !path) {\n path = this.themesPath + name + '/' + name + '.css';\n }\n else if (!name && theme.path) {\n name = 'theme{0}'.replace('{0}', i);\n }\n\n if (!this.isImported(path, 'link')) {\n this.import(styleId, path, null, 'link');\n }\n }\n }\n\n // Enable loader indicator\n this.loader = true;\n\n this.emitter.emit('after-loading-themes', this);\n }\n\n /**\n * Return stylesheet DOM element for a given theme name\n * @return {DOMElement} stylesheet element\n */\n getStylesheet(name = 'default') {\n return elm(this.prfxTf + name);\n }\n\n /**\n * Destroy filter grid\n */\n destroy() {\n if (!this.initialized) {\n return;\n }\n\n let emitter = this.emitter;\n\n if (this.isExternalFlt && !this.popupFilters) {\n this.removeExternalFlts();\n }\n if (this.infDiv) {\n this.removeToolbar();\n }\n if (this.markActiveColumns) {\n this.clearActiveColumns();\n emitter.off(['before-filtering'], () => this.clearActiveColumns());\n emitter.off(['cell-processed'],\n (tf, colIndex) => this.markActiveColumn(colIndex));\n }\n if (this.hasExtensions) {\n this.destroyExtensions();\n }\n\n this.validateAllRows();\n\n if (this.fltGrid && !this.gridLayout) {\n this.tbl.deleteRow(this.filtersRowIndex);\n }\n\n // broadcast destroy event\n emitter.emit('destroy', this);\n\n // unsubscribe to events\n if (this.hasVisibleRows) {\n emitter.off(['after-filtering'], () => this.enforceVisibility());\n }\n if (this.linkedFilters) {\n emitter.off(['after-filtering'], () => this.linkFilters());\n }\n this.emitter.off(['filter-focus'],\n (tf, filter) => this.setActiveFilterId(filter.id));\n\n removeClass(this.tbl, this.prfxTf);\n removeClass(this.tbl, this.prfxResponsive);\n\n this.nbHiddenRows = 0;\n this.validRowsIndex = [];\n this.fltIds = [];\n this.initialized = false;\n }\n\n /**\n * Generate container element for paging, reset button, rows counter etc.\n */\n setToolbar() {\n if (this.infDiv) {\n return;\n }\n\n /*** container div ***/\n let infDiv = createElm('div');\n infDiv.className = this.infDivCssClass;\n\n //custom container\n if (this.toolBarTgtId) {\n elm(this.toolBarTgtId).appendChild(infDiv);\n }\n //grid-layout\n else if (this.gridLayout) {\n let gridLayout = this.Mod.gridLayout;\n gridLayout.tblMainCont.appendChild(infDiv);\n infDiv.className = gridLayout.infDivCssClass;\n }\n //default location: just above the table\n else {\n let cont = createElm('caption');\n cont.appendChild(infDiv);\n this.tbl.insertBefore(cont, this.tbl.firstChild);\n }\n this.infDiv = infDiv;\n\n /*** left div containing rows # displayer ***/\n let lDiv = createElm('div');\n lDiv.className = this.lDivCssClass;\n infDiv.appendChild(lDiv);\n this.lDiv = lDiv;\n\n /*** right div containing reset button\n + nb results per page select ***/\n let rDiv = createElm('div');\n rDiv.className = this.rDivCssClass;\n infDiv.appendChild(rDiv);\n this.rDiv = rDiv;\n\n /*** mid div containing paging elements ***/\n let mDiv = createElm('div');\n mDiv.className = this.mDivCssClass;\n infDiv.appendChild(mDiv);\n this.mDiv = mDiv;\n\n // emit help initialisation only if undefined\n if (isUndef(this.help)) {\n // explicitily set enabled field to true to initialise help by\n // default, only if setting is undefined\n this.Mod.help.enabled = true;\n this.emitter.emit('init-help', this);\n }\n }\n\n /**\n * Remove toolbar container element\n */\n removeToolbar() {\n if (!this.infDiv) {\n return;\n }\n removeElm(this.infDiv);\n this.infDiv = null;\n\n let tbl = this.tbl;\n let captions = tag(tbl, 'caption');\n if (captions.length > 0) {\n [].forEach.call(captions, (elm) => tbl.removeChild(elm));\n }\n }\n\n /**\n * Remove all the external column filters\n */\n removeExternalFlts() {\n if (!this.isExternalFlt) {\n return;\n }\n let ids = this.externalFltTgtIds,\n len = ids.length;\n for (let ct = 0; ct < len; ct++) {\n let externalFltTgtId = ids[ct],\n externalFlt = elm(externalFltTgtId);\n if (externalFlt) {\n externalFlt.innerHTML = '';\n }\n }\n }\n\n /**\n * Check if given column implements a filter with custom options\n * @param {Number} colIndex Column's index\n * @return {Boolean}\n */\n isCustomOptions(colIndex) {\n return this.hasCustomOptions &&\n this.customOptions.cols.indexOf(colIndex) !== -1;\n }\n\n /**\n * Returns an array [[value0, value1 ...],[text0, text1 ...]] with the\n * custom options values and texts\n * @param {Number} colIndex Column's index\n * @return {Array}\n */\n getCustomOptions(colIndex) {\n if (isEmpty(colIndex) || !this.isCustomOptions(colIndex)) {\n return;\n }\n\n let customOptions = this.customOptions;\n let cols = customOptions.cols;\n let optTxt = [], optArray = [];\n let index = cols.indexOf(colIndex);\n let slcValues = customOptions.values[index];\n let slcTexts = customOptions.texts[index];\n let slcSort = customOptions.sorts[index];\n\n for (let r = 0, len = slcValues.length; r < len; r++) {\n optArray.push(slcValues[r]);\n if (slcTexts[r]) {\n optTxt.push(slcTexts[r]);\n } else {\n optTxt.push(slcValues[r]);\n }\n }\n if (slcSort) {\n optArray.sort();\n optTxt.sort();\n }\n return [optArray, optTxt];\n }\n\n /**\n * Filter the table by retrieving the data from each cell in every single\n * row and comparing it to the search term for current column. A row is\n * hidden when all the search terms are not found in inspected row.\n */\n filter() {\n if (!this.fltGrid || !this.initialized) {\n return;\n }\n //fire onbefore callback\n this.onBeforeFilter(this);\n this.emitter.emit('before-filtering', this);\n\n let row = this.tbl.rows,\n nbRows = this.getRowsNb(true),\n hiddenRows = 0;\n\n this.validRowsIndex = [];\n // search args re-init\n let searchArgs = this.getFiltersValue();\n\n for (let k = this.refRow; k < nbRows; k++) {\n // already filtered rows display re-init\n row[k].style.display = '';\n\n let cells = row[k].cells;\n let nchilds = cells.length;\n\n // checks if row has exact cell #\n if (nchilds !== this.nbCells) {\n continue;\n }\n\n let occurence = [],\n isRowValid = true,\n //only for single filter search\n singleFltRowValid = false;\n\n // this loop retrieves cell data\n for (let j = 0; j < nchilds; j++) {\n //searched keyword\n let sA = searchArgs[this.singleSearchFlt ? 0 : j];\n\n if (sA === '') {\n continue;\n }\n\n let cellData = matchCase(this.getCellData(cells[j]),\n this.caseSensitive);\n\n //multiple search parameter operator ||\n let sAOrSplit = sA.toString().split(this.orOperator),\n //multiple search || parameter boolean\n hasMultiOrSA = sAOrSplit.length > 1,\n //multiple search parameter operator &&\n sAAndSplit = sA.toString().split(this.anOperator),\n //multiple search && parameter boolean\n hasMultiAndSA = sAAndSplit.length > 1;\n\n //detect operators or array query\n if (isArray(sA) || hasMultiOrSA || hasMultiAndSA) {\n let cS,\n s,\n occur = false;\n if (isArray(sA)) {\n s = sA;\n } else {\n s = hasMultiOrSA ? sAOrSplit : sAAndSplit;\n }\n // isolate search term and check occurence in cell data\n for (let w = 0, len = s.length; w < len; w++) {\n cS = trim(s[w]);\n occur = this._testTerm(cS, cellData, j);\n\n if (occur) {\n this.emitter.emit('highlight-keyword', this,\n cells[j], cS);\n }\n if ((hasMultiOrSA && occur) ||\n (hasMultiAndSA && !occur)) {\n break;\n }\n if (isArray(sA) && occur) {\n break;\n }\n }\n occurence[j] = occur;\n\n }\n //single search parameter\n else {\n occurence[j] = this._testTerm(trim(sA), cellData, j);\n if (occurence[j]) {\n this.emitter.emit('highlight-keyword', this, cells[j],\n sA);\n }\n }//else single param\n\n if (!occurence[j]) {\n isRowValid = false;\n }\n if (this.singleSearchFlt && occurence[j]) {\n singleFltRowValid = true;\n }\n\n this.emitter.emit('cell-processed', this, j, cells[j]);\n }//for j\n\n if (this.singleSearchFlt && singleFltRowValid) {\n isRowValid = true;\n }\n\n this.validateRow(k, isRowValid);\n if (!isRowValid) {\n hiddenRows++;\n }\n\n this.emitter.emit('row-processed', this, k,\n this.validRowsIndex.length, isRowValid);\n }// for k\n\n this.nbHiddenRows = hiddenRows;\n\n //fire onafterfilter callback\n this.onAfterFilter(this);\n\n this.emitter.emit('after-filtering', this, searchArgs);\n }\n\n /**\n * Test for a match of search term in cell data\n * @param {String} term Search term\n * @param {String} cellData Cell data\n * @param {Number} colIdx Column index\n * @returns {Boolean}\n */\n _testTerm(term, cellData, colIdx) {\n let numData;\n let decimal = this.decimalSeparator;\n let reLe = new RegExp(this.leOperator),\n reGe = new RegExp(this.geOperator),\n reL = new RegExp(this.lwOperator),\n reG = new RegExp(this.grOperator),\n reD = new RegExp(this.dfOperator),\n reLk = new RegExp(rgxEsc(this.lkOperator)),\n reEq = new RegExp(this.eqOperator),\n reSt = new RegExp(this.stOperator),\n reEn = new RegExp(this.enOperator),\n // re_an = new RegExp(this.anOperator),\n // re_cr = new RegExp(this.curExp),\n reEm = this.emOperator,\n reNm = this.nmOperator,\n reRe = new RegExp(rgxEsc(this.rgxOperator));\n\n term = matchCase(term, this.caseSensitive);\n\n let occurence = false;\n\n //Search arg operator tests\n let hasLO = reL.test(term),\n hasLE = reLe.test(term),\n hasGR = reG.test(term),\n hasGE = reGe.test(term),\n hasDF = reD.test(term),\n hasEQ = reEq.test(term),\n hasLK = reLk.test(term),\n // hatermN = re_an.test(term),\n hasST = reSt.test(term),\n hasEN = reEn.test(term),\n hasEM = (reEm === term),\n hasNM = (reNm === term),\n hasRE = reRe.test(term);\n\n // Check for dates or resolve date type\n if (this.hasType(colIdx, [DATE])) {\n let dte1, dte2;\n\n let dateType = this.Mod.dateType;\n let isValidDate = dateType.isValid.bind(dateType);\n let parseDate = dateType.parse.bind(dateType);\n let locale = dateType.getOptions(colIdx).locale || this.locale;\n\n // Search arg dates tests\n let isLDate = hasLO &&\n isValidDate(term.replace(reL, ''), locale);\n let isLEDate = hasLE &&\n isValidDate(term.replace(reLe, ''), locale);\n let isGDate = hasGR &&\n isValidDate(term.replace(reG, ''), locale);\n let isGEDate = hasGE &&\n isValidDate(term.replace(reGe, ''), locale);\n let isDFDate = hasDF &&\n isValidDate(term.replace(reD, ''), locale);\n let isEQDate = hasEQ &&\n isValidDate(term.replace(reEq, ''), locale);\n\n dte1 = parseDate(cellData, locale);\n\n // lower date\n if (isLDate) {\n dte2 = parseDate(term.replace(reL, ''), locale);\n occurence = dte1 < dte2;\n }\n // lower equal date\n else if (isLEDate) {\n dte2 = parseDate(term.replace(reLe, ''), locale);\n occurence = dte1 <= dte2;\n }\n // greater equal date\n else if (isGEDate) {\n dte2 = parseDate(term.replace(reGe, ''), locale);\n occurence = dte1 >= dte2;\n }\n // greater date\n else if (isGDate) {\n dte2 = parseDate(term.replace(reG, ''), locale);\n occurence = dte1 > dte2;\n }\n // different date\n else if (isDFDate) {\n dte2 = parseDate(term.replace(reD, ''), locale);\n occurence = dte1.toString() !== dte2.toString();\n }\n // equal date\n else if (isEQDate) {\n dte2 = parseDate(term.replace(reEq, ''), locale);\n occurence = dte1.toString() === dte2.toString();\n }\n // searched keyword with * operator doesn't have to be a date\n else if (reLk.test(term)) {// like date\n occurence = contains(term.replace(reLk, ''), cellData,\n false, this.caseSensitive);\n }\n else if (isValidDate(term)) {\n dte2 = parseDate(term, locale);\n occurence = dte1.toString() === dte2.toString();\n }\n //empty\n else if (hasEM) {\n occurence = isEmptyString(cellData);\n }\n //non-empty\n else if (hasNM) {\n occurence = !isEmptyString(cellData);\n } else {\n occurence = contains(term, cellData,\n this.isExactMatch(colIdx), this.caseSensitive);\n }\n }\n\n else {\n if (this.hasType(colIdx, [FORMATTED_NUMBER])) {\n let colType = this.colTypes[colIdx];\n if (colType.hasOwnProperty('decimal')) {\n decimal = colType.decimal;\n }\n }\n // Convert to number anyways to auto-resolve type in case not\n // defined by configuration\n numData = Number(cellData) || parseNb(cellData, decimal);\n\n // first checks if there is any operator (<,>,<=,>=,!,*,=,{,},\n // rgx:)\n // lower equal\n if (hasLE) {\n occurence = numData <= parseNb(\n term.replace(reLe, ''),\n decimal\n );\n }\n //greater equal\n else if (hasGE) {\n occurence = numData >= parseNb(\n term.replace(reGe, ''),\n decimal\n );\n }\n //lower\n else if (hasLO) {\n occurence = numData < parseNb(\n term.replace(reL, ''),\n decimal\n );\n }\n //greater\n else if (hasGR) {\n occurence = numData > parseNb(\n term.replace(reG, ''),\n decimal\n );\n }\n //different\n else if (hasDF) {\n occurence = contains(term.replace(reD, ''), cellData,\n false, this.caseSensitive) ? false : true;\n }\n //like\n else if (hasLK) {\n occurence = contains(term.replace(reLk, ''), cellData,\n false, this.caseSensitive);\n }\n //equal\n else if (hasEQ) {\n occurence = contains(term.replace(reEq, ''), cellData,\n true, this.caseSensitive);\n }\n //starts with\n else if (hasST) {\n occurence = cellData.indexOf(term.replace(reSt, '')) === 0 ?\n true : false;\n }\n //ends with\n else if (hasEN) {\n let searchArg = term.replace(reEn, '');\n occurence =\n cellData.lastIndexOf(searchArg, cellData.length - 1) ===\n (cellData.length - 1) - (searchArg.length - 1) &&\n cellData.lastIndexOf(searchArg, cellData.length - 1)\n > -1 ? true : false;\n }\n //empty\n else if (hasEM) {\n occurence = isEmptyString(cellData);\n }\n //non-empty\n else if (hasNM) {\n occurence = !isEmptyString(cellData);\n }\n //regexp\n else if (hasRE) {\n //in case regexp throws\n try {\n //operator is removed\n let srchArg = term.replace(reRe, '');\n let rgx = new RegExp(srchArg);\n occurence = rgx.test(cellData);\n } catch (ex) {\n occurence = false;\n }\n } else {\n // If numeric type data, perform a strict equality test and\n // fallback to unformatted number string comparison\n if (numData &&\n this.hasType(colIdx, [NUMBER, FORMATTED_NUMBER]) &&\n !this.singleSearchFlt) {\n // parseNb can return 0 for strings which are not\n // formatted numbers, in that case return the original\n // string. TODO: handle this in parseNb\n term = parseNb(term, decimal) || term;\n occurence = numData === term ||\n contains(term.toString(), numData.toString(),\n this.isExactMatch(colIdx), this.caseSensitive);\n } else {\n // Finally test search term is contained in cell data\n occurence = contains(\n term,\n cellData,\n this.isExactMatch(colIdx),\n this.caseSensitive,\n this.ignoresDiacritics(colIdx)\n );\n }\n }\n\n }//else\n\n return occurence;\n }\n\n /**\n * Return the data of a specified column\n * @param {Number} colIndex Column index\n * @param {Boolean} includeHeaders Optional: include headers row\n * @param {Boolean} num Optional: return unformatted number\n * @param {Array} exclude Optional: list of row indexes to be excluded\n * @return {Array} Flat list of data for a column\n */\n getColValues(colIndex, includeHeaders = false, num = false, exclude = []) {\n if (!this.fltGrid) {\n return;\n }\n let row = this.tbl.rows;\n let nbRows = this.getRowsNb(true);\n let colValues = [];\n\n if (includeHeaders) {\n colValues.push(this.getHeadersText()[colIndex]);\n }\n\n for (let i = this.refRow; i < nbRows; i++) {\n let isExludedRow = false;\n // checks if current row index appears in exclude array\n if (exclude.length > 0) {\n isExludedRow = exclude.indexOf(i) !== -1;\n }\n let cell = row[i].cells,\n nchilds = cell.length;\n\n // checks if row has exact cell # and is not excluded\n if (nchilds === this.nbCells && !isExludedRow) {\n // this loop retrieves cell data\n for (let j = 0; j < nchilds; j++) {\n if (j !== colIndex || row[i].style.display !== '') {\n continue;\n }\n let cellData = this.getCellData(cell[j]);\n let decimal = this.decimalSeparator;\n if (this.hasType(colIndex, [FORMATTED_NUMBER])) {\n let colType = this.colTypes[colIndex];\n if (colType.hasOwnProperty('decimal')) {\n decimal = colType.decimal;\n }\n }\n let data = num ?\n Number(cellData) || parseNb(cellData, decimal) :\n cellData;\n colValues.push(data);\n }\n }\n }\n return colValues;\n }\n\n /**\n * Return the filter's value of a specified column\n * @param {Number} index Column index\n * @return {String} Filter value\n */\n getFilterValue(index) {\n if (!this.fltGrid) {\n return;\n }\n let fltValue = '';\n let flt = this.getFilterElement(index);\n if (!flt) {\n return fltValue;\n }\n\n let fltColType = this.getFilterType(index);\n if (fltColType !== MULTIPLE && fltColType !== CHECKLIST) {\n fltValue = flt.value;\n }\n //mutiple select\n else if (fltColType === MULTIPLE) {\n fltValue = this.feature('dropdown').getValues(index);\n }\n //checklist\n else if (fltColType === CHECKLIST) {\n fltValue = this.feature('checkList').getValues(index);\n }\n //return an empty string if collection is empty or contains a single\n //empty string\n if (isArray(fltValue) && fltValue.length === 0 ||\n (fltValue.length === 1 && fltValue[0] === '')) {\n fltValue = '';\n }\n\n return fltValue;\n }\n\n /**\n * Return the filters' values\n * @return {Array} List of filters' values\n */\n getFiltersValue() {\n if (!this.fltGrid) {\n return;\n }\n let searchArgs = [];\n for (let i = 0, len = this.fltIds.length; i < len; i++) {\n let fltValue = this.getFilterValue(i);\n if (isArray(fltValue)) {\n searchArgs.push(fltValue);\n } else {\n searchArgs.push(trim(fltValue));\n }\n }\n return searchArgs;\n }\n\n /**\n * Return the ID of a specified column's filter\n * @param {Number} index Column's index\n * @return {String} ID of the filter element\n */\n getFilterId(index) {\n if (!this.fltGrid) {\n return;\n }\n return this.fltIds[index];\n }\n\n /**\n * Return the list of ids of filters matching a specified type.\n * Note: hidden filters are also returned\n *\n * @param {String} type Filter type string ('input', 'select', 'multiple',\n * 'checklist')\n * @param {Boolean} bool If true returns columns indexes instead of IDs\n * @return {[type]} List of element IDs or column indexes\n */\n getFiltersByType(type, bool) {\n if (!this.fltGrid) {\n return;\n }\n let arr = [];\n for (let i = 0, len = this.fltIds.length; i < len; i++) {\n let fltType = this.getFilterType(i);\n if (fltType === type.toLowerCase()) {\n let a = bool ? i : this.fltIds[i];\n arr.push(a);\n }\n }\n return arr;\n }\n\n /**\n * Return the filter's DOM element for a given column\n * @param {Number} index Column's index\n * @return {DOMElement}\n */\n getFilterElement(index) {\n let fltId = this.fltIds[index];\n return elm(fltId);\n }\n\n /**\n * Return the number of cells for a given row index\n * @param {Number} rowIndex Index of the row\n * @return {Number} Number of cells\n */\n getCellsNb(rowIndex = 0) {\n let tr = this.tbl.rows[rowIndex >= 0 ? rowIndex : 0];\n return tr.cells.length;\n }\n\n /**\n * Return the number of filterable rows starting from reference row if\n * defined\n * @param {Boolean} includeHeaders Include the headers row\n * @return {Number} Number of filterable rows\n */\n getRowsNb(includeHeaders) {\n let s = isUndef(this.refRow) ? 0 : this.refRow;\n let ntrs = this.tbl.rows.length;\n if (includeHeaders) {\n s = 0;\n }\n return parseInt(ntrs - s, 10);\n }\n\n /**\n * Return the data of a given cell\n * @param {DOMElement} cell Cell's DOM object\n * @return {String}\n */\n getCellData(cell) {\n let idx = cell.cellIndex;\n //Fire customCellData callback\n if (this.customCellDataCols.indexOf(idx) !== -1) {\n return this.customCellData(this, cell, idx);\n } else {\n return getText(cell);\n }\n }\n\n /**\n * Return the table data with following format:\n * [\n * [rowIndex, [value0, value1...]],\n * [rowIndex, [value0, value1...]]\n * ]\n * @param {Boolean} includeHeaders Optional: include headers row\n * @param {Boolean} excludeHiddenCols Optional: exclude hidden columns\n * @return {Array}\n *\n * TODO: provide an API returning data in JSON format\n */\n getTableData(includeHeaders = false, excludeHiddenCols = false) {\n let rows = this.tbl.rows;\n let nbRows = this.getRowsNb(true);\n let tblData = [];\n if (includeHeaders) {\n let headers = this.getHeadersText(excludeHiddenCols);\n tblData.push([this.getHeadersRowIndex(), headers]);\n }\n for (let k = this.refRow; k < nbRows; k++) {\n let rowData = [k, []];\n let cells = rows[k].cells;\n for (let j = 0, len = cells.length; j < len; j++) {\n if (excludeHiddenCols && this.hasExtension('colsVisibility')) {\n if (this.extension('colsVisibility').isColHidden(j)) {\n continue;\n }\n }\n let cellData = this.getCellData(cells[j]);\n rowData[1].push(cellData);\n }\n tblData.push(rowData);\n }\n return tblData;\n }\n\n /**\n * Return the filtered data with following format:\n * [\n * [rowIndex, [value0, value1...]],\n * [rowIndex, [value0, value1...]]\n * ]\n * @param {Boolean} includeHeaders Optional: include headers row\n * @param {Boolean} excludeHiddenCols Optional: exclude hidden columns\n * @return {Array}\n *\n * TODO: provide an API returning data in JSON format\n */\n getFilteredData(includeHeaders = false, excludeHiddenCols = false) {\n if (!this.validRowsIndex) {\n return [];\n }\n let rows = this.tbl.rows,\n filteredData = [];\n if (includeHeaders) {\n let headers = this.getHeadersText(excludeHiddenCols);\n filteredData.push([this.getHeadersRowIndex(), headers]);\n }\n\n let validRows = this.getValidRows(true);\n for (let i = 0; i < validRows.length; i++) {\n let rData = [this.validRowsIndex[i], []],\n cells = rows[this.validRowsIndex[i]].cells;\n for (let k = 0; k < cells.length; k++) {\n if (excludeHiddenCols && this.hasExtension('colsVisibility')) {\n if (this.extension('colsVisibility').isColHidden(k)) {\n continue;\n }\n }\n let cellData = this.getCellData(cells[k]);\n rData[1].push(cellData);\n }\n filteredData.push(rData);\n }\n return filteredData;\n }\n\n /**\n * Return the filtered data for a given column index\n * @param {Number} colIndex Colmun's index\n * @param {Boolean} includeHeaders Optional: include headers row\n * @return {Array} Flat list of values ['val0','val1','val2'...]\n *\n * TODO: provide an API returning data in JSON format\n */\n getFilteredDataCol(colIndex, includeHeaders = false) {\n if (isUndef(colIndex)) {\n return [];\n }\n let data = this.getFilteredData(),\n colData = [];\n if (includeHeaders) {\n colData.push(this.getHeadersText()[colIndex]);\n }\n for (let i = 0, len = data.length; i < len; i++) {\n let r = data[i],\n //cols values of current row\n d = r[1],\n //data of searched column\n c = d[colIndex];\n colData.push(c);\n }\n return colData;\n }\n\n /**\n * Get the display value of a row\n * @param {HTMLTableRowElement} row DOM element of the row\n * @return {String} Usually 'none' or ''\n */\n getRowDisplay(row) {\n return row.style.display;\n }\n\n /**\n * Validate/invalidate row by setting the 'validRow' attribute on the row\n * @param {Number} rowIndex Index of the row\n * @param {Boolean} isValid\n */\n validateRow(rowIndex, isValid) {\n let row = this.tbl.rows[rowIndex];\n if (!row || typeof isValid !== 'boolean') {\n return;\n }\n\n // always visible rows are valid\n if (this.hasVisibleRows && this.visibleRows.indexOf(rowIndex) !== -1) {\n isValid = true;\n }\n\n let displayFlag = isValid ? '' : NONE,\n validFlag = isValid ? 'true' : 'false';\n row.style.display = displayFlag;\n\n if (this.paging) {\n row.setAttribute('validRow', validFlag);\n }\n\n if (isValid) {\n if (this.validRowsIndex.indexOf(rowIndex) === -1) {\n this.validRowsIndex.push(rowIndex);\n }\n\n this.onRowValidated(this, rowIndex);\n\n this.emitter.emit('row-validated', this, rowIndex);\n }\n }\n\n /**\n * Validate all filterable rows\n */\n validateAllRows() {\n if (!this.initialized) {\n return;\n }\n this.validRowsIndex = [];\n for (let k = this.refRow; k < this.nbFilterableRows; k++) {\n this.validateRow(k, true);\n }\n }\n\n /**\n * Set search value to a given filter\n * @param {Number} index Column's index\n * @param {String or Array} query searcharg Search term\n */\n setFilterValue(index, query = '') {\n if (!this.fltGrid) {\n return;\n }\n let slc = this.getFilterElement(index),\n fltColType = this.getFilterType(index);\n\n if (fltColType !== MULTIPLE && fltColType !== CHECKLIST) {\n if (this.loadFltOnDemand && !this.initialized) {\n this.emitter.emit('build-select-filter', this, index,\n this.linkedFilters, this.isExternalFlt);\n }\n slc.value = query;\n }\n //multiple selects\n else if (fltColType === MULTIPLE) {\n let values = isArray(query) ? query :\n query.split(' ' + this.orOperator + ' ');\n\n if (this.loadFltOnDemand && !this.initialized) {\n this.emitter.emit('build-select-filter', this, index,\n this.linkedFilters, this.isExternalFlt);\n }\n\n this.emitter.emit('select-options', this, index, values);\n }\n //checklist\n else if (fltColType === CHECKLIST) {\n let values = [];\n if (this.loadFltOnDemand && !this.initialized) {\n this.emitter.emit('build-checklist-filter', this, index,\n this.linkedFilters);\n }\n if (isArray(query)) {\n values = query;\n } else {\n query = matchCase(query, this.caseSensitive);\n values = query.split(' ' + this.orOperator + ' ');\n }\n\n this.emitter.emit('select-checklist-options', this, index, values);\n }\n }\n\n /**\n * Set them columns' widths as per configuration\n * @param {Element} tbl DOM element\n */\n setColWidths(tbl) {\n if (!this.hasColWidths) {\n return;\n }\n tbl = tbl || this.tbl;\n\n let nbCols = this.nbCells;\n let colWidths = this.colWidths;\n let colTags = tag(tbl, 'col');\n let tblHasColTag = colTags.length > 0;\n let frag = !tblHasColTag ? doc.createDocumentFragment() : null;\n for (let k = 0; k < nbCols; k++) {\n let col;\n if (tblHasColTag) {\n col = colTags[k];\n } else {\n col = createElm('col');\n frag.appendChild(col);\n }\n col.style.width = colWidths[k];\n }\n if (!tblHasColTag) {\n tbl.insertBefore(frag, tbl.firstChild);\n }\n }\n\n /**\n * Makes defined rows always visible\n */\n enforceVisibility() {\n if (!this.hasVisibleRows) {\n return;\n }\n let nbRows = this.getRowsNb(true);\n for (let i = 0, len = this.visibleRows.length; i < len; i++) {\n let row = this.visibleRows[i];\n //row index cannot be > nrows\n if (row <= nbRows) {\n this.validateRow(row, true);\n }\n }\n }\n\n /**\n * Clear all the filters' values\n */\n clearFilters() {\n if (!this.fltGrid) {\n return;\n }\n\n this.emitter.emit('before-clearing-filters', this);\n this.onBeforeReset(this, this.getFiltersValue());\n\n for (let i = 0, len = this.fltIds.length; i < len; i++) {\n this.setFilterValue(i, '');\n }\n\n this.filter();\n\n this.onAfterReset(this);\n this.emitter.emit('after-clearing-filters', this);\n }\n\n /**\n * Clears filtered columns visual indicator (background color)\n */\n clearActiveColumns() {\n for (let i = 0, len = this.getCellsNb(this.headersRow); i < len; i++) {\n removeClass(this.getHeaderElement(i), this.activeColumnsCssClass);\n }\n }\n\n /**\n * Mark currently filtered column\n * @param {Number} colIndex Column index\n */\n markActiveColumn(colIndex) {\n let header = this.getHeaderElement(colIndex);\n if (hasClass(header, this.activeColumnsCssClass)) {\n return;\n }\n this.onBeforeActiveColumn(this, colIndex);\n\n addClass(header, this.activeColumnsCssClass);\n\n this.onAfterActiveColumn(this, colIndex);\n }\n\n /**\n * Return the ID of the current active filter\n * @returns {String}\n */\n getActiveFilterId() {\n return this.activeFilterId;\n }\n\n /**\n * Set the ID of the current active filter\n * @param {String} filterId Element ID\n */\n setActiveFilterId(filterId) {\n this.activeFilterId = filterId;\n }\n\n /**\n * Return the column index for a given filter ID\n * @param {string} [filterId=''] Filter ID\n * @returns {Number} Column index\n */\n getColumnIndexFromFilterId(filterId = '') {\n let idx = filterId.split('_')[0];\n idx = idx.split(this.prfxFlt)[1];\n return parseInt(idx, 10);\n }\n\n /**\n * Builds filter element ID for a given column index\n * @param {any} colIndex\n * @returns {String} Filter element ID string\n * @private\n */\n buildFilterId(colIndex) {\n return `${this.prfxFlt}${colIndex}_${this.id}`;\n }\n\n /**\n * Make specified column's filter active\n * @param colIndex Index of a column\n */\n activateFilter(colIndex) {\n if (isUndef(colIndex)) {\n return;\n }\n this.setActiveFilterId(this.getFilterId(colIndex));\n }\n\n /**\n * Refresh the filters subject to linking ('select', 'multiple',\n * 'checklist' type)\n */\n linkFilters() {\n if (!this.linkedFilters || !this.activeFilterId) {\n return;\n }\n let slcA1 = this.getFiltersByType(SELECT, true),\n slcA2 = this.getFiltersByType(MULTIPLE, true),\n slcA3 = this.getFiltersByType(CHECKLIST, true),\n slcIndex = slcA1.concat(slcA2);\n slcIndex = slcIndex.concat(slcA3);\n\n let activeIdx = this.getColumnIndexFromFilterId(this.activeFilterId);\n\n for (let i = 0, len = slcIndex.length; i < len; i++) {\n let colIdx = slcIndex[i];\n let curSlc = elm(this.fltIds[colIdx]);\n let slcSelectedValue = this.getFilterValue(colIdx);\n\n // Welcome to cyclomatic complexity hell :)\n // TODO: simplify/refactor if statement\n if (activeIdx !== colIdx ||\n (this.paging && slcA1.indexOf(colIdx) !== -1 &&\n activeIdx === colIdx) ||\n (!this.paging && (slcA3.indexOf(colIdx) !== -1 ||\n slcA2.indexOf(colIdx) !== -1)) ||\n slcSelectedValue === this.getClearFilterText(colIdx)) {\n\n //1st option needs to be inserted\n if (this.loadFltOnDemand) {\n let opt0 = createOpt(this.getClearFilterText(colIdx), '');\n curSlc.innerHTML = '';\n curSlc.appendChild(opt0);\n }\n\n if (slcA3.indexOf(colIdx) !== -1) {\n this.emitter.emit('build-checklist-filter', this, colIdx,\n true);\n } else {\n this.emitter.emit('build-select-filter', this, colIdx,\n true);\n }\n\n this.setFilterValue(colIdx, slcSelectedValue);\n }\n }\n }\n\n /**\n * Determines if passed filter column implements exact query match\n * @param {Number} colIndex Column index\n * @return {Boolean}\n */\n isExactMatch(colIndex) {\n let fltType = this.getFilterType(colIndex);\n return this.exactMatchByCol[colIndex] || this.exactMatch ||\n fltType !== INPUT;\n }\n\n /**\n * Checks if passed row is valid\n * @param {Number} rowIndex Row index\n * @returns {Boolean}\n */\n isRowValid(rowIndex) {\n return this.getValidRows().indexOf(rowIndex) !== -1;\n }\n\n /**\n * Checks if passed row is visible\n * @param {Number} rowIndex Row index\n * @returns {Boolean}\n */\n isRowDisplayed(rowIndex) {\n let row = this.tbl.rows[rowIndex];\n return this.getRowDisplay(row) === '';\n }\n\n /**\n * Checks if specified column filter ignores diacritics.\n * Note this is only valid for input filter types.\n * @param {Number} colIndex Column index\n * @returns {Boolean}\n */\n ignoresDiacritics(colIndex) {\n let ignoreDiac = this.ignoreDiacritics;\n if (isArray(ignoreDiac)) {\n return ignoreDiac[colIndex];\n }\n return Boolean(ignoreDiac);\n }\n\n /**\n * Returns clear all text for specified filter column\n * @param {Number} colIndex Column index\n * @returns {String}\n */\n getClearFilterText(colIndex) {\n let clearText = this.clearFilterText;\n if (isArray(clearText)) {\n return clearText[colIndex];\n }\n return clearText;\n }\n\n /**\n * Check if passed script or stylesheet is already imported\n * @param {String} filePath Ressource path\n * @param {String} type Possible values: 'script' or 'link'\n * @return {Boolean}\n */\n isImported(filePath, type = 'script') {\n let imported = false,\n attr = type === 'script' ? 'src' : 'href',\n files = tag(doc, type);\n for (let i = 0, len = files.length; i < len; i++) {\n if (isUndef(files[i][attr])) {\n continue;\n }\n if (files[i][attr].match(filePath)) {\n imported = true;\n break;\n }\n }\n return imported;\n }\n\n /**\n * Import script or stylesheet\n * @param {String} fileId Ressource ID\n * @param {String} filePath Ressource path\n * @param {Function} callback Callback\n * @param {String} type Possible values: 'script' or 'link'\n */\n import(fileId, filePath, callback, type = 'script') {\n if (this.isImported(filePath, type)) {\n return;\n }\n let o = this,\n isLoaded = false,\n file,\n head = tag(doc, 'head')[0];\n\n if (type.toLowerCase() === 'link') {\n file = createElm('link',\n ['id', fileId], ['type', 'text/css'],\n ['rel', 'stylesheet'], ['href', filePath]\n );\n } else {\n file = createElm('script',\n ['id', fileId],\n ['type', 'text/javascript'], ['src', filePath]\n );\n }\n\n //Browser <> IE onload event works only for scripts, not for stylesheets\n file.onload = file.onreadystatechange = () => {\n if (!isLoaded &&\n (!this.readyState || this.readyState === 'loaded' ||\n this.readyState === 'complete')) {\n isLoaded = true;\n if (typeof callback === 'function') {\n callback.call(null, o);\n }\n }\n };\n file.onerror = function () {\n throw new Error(`TableFilter could not load: ${filePath}`);\n };\n head.appendChild(file);\n }\n\n /**\n * Check if table has filters grid\n * @return {Boolean}\n */\n isInitialized() {\n return this.initialized;\n }\n\n /**\n * Get list of filter IDs\n * @return {[type]} [description]\n */\n getFiltersId() {\n return this.fltIds || [];\n }\n\n /**\n * Get filtered (valid) rows indexes\n * @param {Boolean} reCalc Force calculation of filtered rows list\n * @return {Array} List of row indexes\n */\n getValidRows(reCalc) {\n if (!reCalc) {\n return this.validRowsIndex;\n }\n\n let nbRows = this.getRowsNb(true);\n this.validRowsIndex = [];\n for (let k = this.refRow; k < nbRows; k++) {\n let r = this.tbl.rows[k];\n if (!this.paging) {\n if (this.getRowDisplay(r) !== NONE) {\n this.validRowsIndex.push(r.rowIndex);\n }\n } else {\n if (r.getAttribute('validRow') === 'true' ||\n r.getAttribute('validRow') === null) {\n this.validRowsIndex.push(r.rowIndex);\n }\n }\n }\n return this.validRowsIndex;\n }\n\n /**\n * Get the index of the row containing the filters\n * @return {Number}\n */\n getFiltersRowIndex() {\n return this.filtersRowIndex;\n }\n\n /**\n * Get the index of the headers row\n * @return {Number}\n */\n getHeadersRowIndex() {\n return this.headersRow;\n }\n\n /**\n * Get the row index from where the filtering process start (1st filterable\n * row)\n * @return {Number}\n */\n getStartRowIndex() {\n return this.refRow;\n }\n\n /**\n * Get the index of the last row\n * @return {Number}\n */\n getLastRowIndex() {\n let nbRows = this.getRowsNb(true);\n return (nbRows - 1);\n }\n\n /**\n * Determine whether the specified column has one of the passed types\n * @param {Number} colIndex Column index\n * @param {Array} [types=[]] List of column types\n * @returns {Boolean}\n */\n hasType(colIndex, types = []) {\n if (!this.hasColTypes) {\n return false;\n }\n let colType = this.colTypes[colIndex];\n if (isObj(colType)) {\n colType = colType.type;\n }\n return types.indexOf(colType) !== -1;\n }\n\n /**\n * Get the header DOM element for a given column index\n * @param {Number} colIndex Column index\n * @return {Element}\n */\n getHeaderElement(colIndex) {\n let table = this.gridLayout ? this.Mod.gridLayout.headTbl : this.tbl;\n let tHead = tag(table, 'thead');\n let headersRow = this.headersRow;\n let header;\n for (let i = 0; i < this.nbCells; i++) {\n if (i !== colIndex) {\n continue;\n }\n if (tHead.length === 0) {\n header = table.rows[headersRow].cells[i];\n }\n if (tHead.length === 1) {\n header = tHead[0].rows[headersRow].cells[i];\n }\n break;\n }\n return header;\n }\n\n /**\n * Return the list of headers' text\n * @param {Boolean} excludeHiddenCols Optional: exclude hidden columns\n * @return {Array} list of headers' text\n */\n getHeadersText(excludeHiddenCols = false) {\n let headers = [];\n for (let j = 0; j < this.nbCells; j++) {\n if (excludeHiddenCols && this.hasExtension('colsVisibility')) {\n if (this.extension('colsVisibility').isColHidden(j)) {\n continue;\n }\n }\n let header = this.getHeaderElement(j);\n let headerText = getFirstTextNode(header);\n headers.push(headerText);\n }\n return headers;\n }\n\n /**\n * Return the filter type for a specified column\n * @param {Number} colIndex Column's index\n * @return {String}\n */\n getFilterType(colIndex) {\n let colType = this.cfg['col_' + colIndex];\n return !colType ? INPUT : colType.toLowerCase();\n }\n\n /**\n * Get the total number of filterable rows\n * @return {Number}\n */\n getFilterableRowsNb() {\n return this.getRowsNb(false);\n }\n\n /**\n * Return the total number of valid rows\n * @param {Boolean} [reCalc=false] Forces calculation of filtered rows\n * @returns {Number}\n */\n getValidRowsNb(reCalc = false) {\n return this.getValidRows(reCalc).length;\n }\n\n /**\n * Get the configuration object (literal object)\n * @return {Object}\n */\n config() {\n return this.cfg;\n }\n}\n"
|
|
},
|
|
{
|
|
"__docId__": 783,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "doc",
|
|
"memberof": "src/tablefilter.js",
|
|
"longname": "src/tablefilter.js~doc",
|
|
"access": null,
|
|
"export": false,
|
|
"importPath": "tablefilter/src/tablefilter.js",
|
|
"importStyle": null,
|
|
"description": null,
|
|
"lineNumber": 37,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 784,
|
|
"kind": "class",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "TableFilter",
|
|
"memberof": "src/tablefilter.js",
|
|
"longname": "src/tablefilter.js~TableFilter",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/tablefilter.js",
|
|
"importStyle": "{TableFilter}",
|
|
"description": "Makes HTML tables filterable and a bit more :)",
|
|
"lineNumber": 45,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@export",
|
|
"tagValue": ""
|
|
},
|
|
{
|
|
"tagName": "@class",
|
|
"tagValue": "TableFilter"
|
|
}
|
|
],
|
|
"interface": false
|
|
},
|
|
{
|
|
"__docId__": 785,
|
|
"kind": "constructor",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "constructor",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#constructor",
|
|
"access": null,
|
|
"description": "Creates an instance of TableFilter\nrequires `table` or `id` arguments, `row` and `configuration` optional",
|
|
"lineNumber": 55,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"DOMElement"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "table",
|
|
"description": "Table DOM element"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "id",
|
|
"description": "Table id"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "row",
|
|
"description": "index indicating the 1st row"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Object"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "configuration",
|
|
"description": "object"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 786,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "id",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#id",
|
|
"access": "private",
|
|
"description": "ID of current instance",
|
|
"lineNumber": 61,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 787,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "version",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#version",
|
|
"access": null,
|
|
"description": "Current version",
|
|
"lineNumber": 67,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 788,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "year",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#year",
|
|
"access": "private",
|
|
"description": "Current year",
|
|
"lineNumber": 74,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 789,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "tbl",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#tbl",
|
|
"access": null,
|
|
"description": "HTML Table DOM element",
|
|
"lineNumber": 80,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"DOMElement"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 790,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "refRow",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#refRow",
|
|
"access": null,
|
|
"description": "Calculated row's index from which starts filtering once filters\nare generated",
|
|
"lineNumber": 87,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 791,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "headersRow",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#headersRow",
|
|
"access": "private",
|
|
"description": "Index of the headers row",
|
|
"lineNumber": 94,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 792,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "cfg",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#cfg",
|
|
"access": "private",
|
|
"description": "Configuration object",
|
|
"lineNumber": 101,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Object"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 793,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "nbFilterableRows",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#nbFilterableRows",
|
|
"access": "private",
|
|
"description": "Number of rows that can be filtered",
|
|
"lineNumber": 108,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 794,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "nbCells",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#nbCells",
|
|
"access": "private",
|
|
"description": "Number of cells in the reference row",
|
|
"lineNumber": 115,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 795,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "tbl",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#tbl",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 122,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 796,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "id",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#id",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 123,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 797,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "id",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#id",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 125,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 798,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "tbl",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#tbl",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 126,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 799,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "cfg",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#cfg",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 130,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 800,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "emitter",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#emitter",
|
|
"access": null,
|
|
"description": "Event emitter instance",
|
|
"lineNumber": 147,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Emitter"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 801,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "refRow",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#refRow",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 150,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 802,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "nbCells",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#nbCells",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 151,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 803,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "basePath",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#basePath",
|
|
"access": null,
|
|
"description": "Base path for static assets",
|
|
"lineNumber": 157,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 804,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "fltGrid",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#fltGrid",
|
|
"access": null,
|
|
"description": "Enable/disable filters",
|
|
"lineNumber": 165,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 805,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "gridLayout",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#gridLayout",
|
|
"access": null,
|
|
"description": "Enable/disable grid layout (fixed headers)",
|
|
"lineNumber": 171,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 806,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "filtersRowIndex",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#filtersRowIndex",
|
|
"access": null,
|
|
"description": "Filters row index",
|
|
"lineNumber": 177,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 807,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "headersRow",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#headersRow",
|
|
"access": null,
|
|
"description": "Headers row index",
|
|
"lineNumber": 184,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 808,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "fltCellTag",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#fltCellTag",
|
|
"access": null,
|
|
"description": "Define the type of cell containing a filter (td/th)",
|
|
"lineNumber": 191,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 809,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "fltIds",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#fltIds",
|
|
"access": "private",
|
|
"description": "List of filters IDs",
|
|
"lineNumber": 199,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 810,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "validRowsIndex",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#validRowsIndex",
|
|
"access": "private",
|
|
"description": "List of valid rows indexes (rows visible upon filtering)",
|
|
"lineNumber": 206,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 811,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "infDiv",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#infDiv",
|
|
"access": "private",
|
|
"description": "Toolbar's container DOM element",
|
|
"lineNumber": 213,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"DOMElement"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 812,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "lDiv",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#lDiv",
|
|
"access": "private",
|
|
"description": "Left-side inner container DOM element (rows counter in toolbar)",
|
|
"lineNumber": 220,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"DOMElement"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 813,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "rDiv",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#rDiv",
|
|
"access": "private",
|
|
"description": "Right-side inner container DOM element (reset button,\npage length selector in toolbar)",
|
|
"lineNumber": 228,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"DOMElement"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 814,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "mDiv",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#mDiv",
|
|
"access": "private",
|
|
"description": "Middle inner container DOM element (paging elements in toolbar)",
|
|
"lineNumber": 235,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"DOMElement"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 815,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "infDivCssClass",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#infDivCssClass",
|
|
"access": null,
|
|
"description": "Css class for toolbar's container DOM element",
|
|
"lineNumber": 241,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 816,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "lDivCssClass",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#lDivCssClass",
|
|
"access": null,
|
|
"description": "Css class for left-side inner container DOM element",
|
|
"lineNumber": 247,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 817,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "rDivCssClass",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#rDivCssClass",
|
|
"access": null,
|
|
"description": "Css class for right-side inner container DOM element",
|
|
"lineNumber": 253,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 818,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "mDivCssClass",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#mDivCssClass",
|
|
"access": null,
|
|
"description": "Css class for middle inner container DOM element",
|
|
"lineNumber": 259,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 819,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "stylePath",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#stylePath",
|
|
"access": null,
|
|
"description": "Path for stylesheets",
|
|
"lineNumber": 266,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 820,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "stylesheet",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#stylesheet",
|
|
"access": null,
|
|
"description": "Main stylesheet path",
|
|
"lineNumber": 272,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 821,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "stylesheetId",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#stylesheetId",
|
|
"access": "private",
|
|
"description": "Main stylesheet ID",
|
|
"lineNumber": 279,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 822,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "fltsRowCssClass",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#fltsRowCssClass",
|
|
"access": null,
|
|
"description": "Css class for the filters row",
|
|
"lineNumber": 285,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 823,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "enableIcons",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#enableIcons",
|
|
"access": null,
|
|
"description": "Enable/disable icons (paging, reset button)",
|
|
"lineNumber": 291,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 824,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "alternateRows",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#alternateRows",
|
|
"access": null,
|
|
"description": "Enable/disable alternating rows",
|
|
"lineNumber": 297,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 825,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "hasColWidths",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#hasColWidths",
|
|
"access": "private",
|
|
"description": "Indicate whether columns widths are set",
|
|
"lineNumber": 304,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 826,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "colWidths",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#colWidths",
|
|
"access": null,
|
|
"description": "Columns widths array",
|
|
"lineNumber": 310,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 827,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "fltCssClass",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#fltCssClass",
|
|
"access": null,
|
|
"description": "Css class for a filter element",
|
|
"lineNumber": 316,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 828,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "fltMultiCssClass",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#fltMultiCssClass",
|
|
"access": null,
|
|
"description": "Css class for multiple select filters",
|
|
"lineNumber": 322,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 829,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "fltSmallCssClass",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#fltSmallCssClass",
|
|
"access": null,
|
|
"description": "Css class for small filter (when submit button is active)",
|
|
"lineNumber": 328,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 830,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "singleFltCssClass",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#singleFltCssClass",
|
|
"access": null,
|
|
"description": "Css class for single filter type",
|
|
"lineNumber": 334,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 831,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "enterKey",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#enterKey",
|
|
"access": null,
|
|
"description": "Enable/disable enter key for input type filters",
|
|
"lineNumber": 342,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 832,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "onBeforeFilter",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#onBeforeFilter",
|
|
"access": null,
|
|
"description": "Callback fired before filtering process starts",
|
|
"lineNumber": 348,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Function"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 833,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "onAfterFilter",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#onAfterFilter",
|
|
"access": null,
|
|
"description": "Callback fired after filtering process is completed",
|
|
"lineNumber": 355,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Function"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 834,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "caseSensitive",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#caseSensitive",
|
|
"access": null,
|
|
"description": "Enable/disable case sensitivity filtering",
|
|
"lineNumber": 362,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 835,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "hasExactMatchByCol",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#hasExactMatchByCol",
|
|
"access": "private",
|
|
"description": "Indicate whether exact match filtering is enabled on a per column\nbasis",
|
|
"lineNumber": 370,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 836,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "exactMatchByCol",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#exactMatchByCol",
|
|
"access": null,
|
|
"description": "Exact match filtering per column array",
|
|
"lineNumber": 376,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 837,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "exactMatch",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#exactMatch",
|
|
"access": null,
|
|
"description": "Globally enable/disable exact match filtering",
|
|
"lineNumber": 383,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 838,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "ignoreDiacritics",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#ignoreDiacritics",
|
|
"access": null,
|
|
"description": "Ignore diacritics globally or on a column basis",
|
|
"lineNumber": 389,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean",
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 839,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "linkedFilters",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#linkedFilters",
|
|
"access": null,
|
|
"description": "Enable/disable linked filters filtering mode",
|
|
"lineNumber": 395,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 840,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "disableExcludedOptions",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#disableExcludedOptions",
|
|
"access": null,
|
|
"description": "Enable/disable readonly state for excluded options when\nlinked filters filtering mode is on",
|
|
"lineNumber": 402,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 841,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "activeFilterId",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#activeFilterId",
|
|
"access": "private",
|
|
"description": "Active filter ID",
|
|
"lineNumber": 409,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 842,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "hasVisibleRows",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#hasVisibleRows",
|
|
"access": null,
|
|
"description": "Enable/disable always visible rows, excluded from filtering",
|
|
"lineNumber": 415,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 843,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "visibleRows",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#visibleRows",
|
|
"access": null,
|
|
"description": "List of row indexes to be excluded from filtering",
|
|
"lineNumber": 421,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 844,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "isExternalFlt",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#isExternalFlt",
|
|
"access": null,
|
|
"description": "Enable/disable external filters generation",
|
|
"lineNumber": 427,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 845,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "externalFltTgtIds",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#externalFltTgtIds",
|
|
"access": null,
|
|
"description": "List of containers IDs where external filters will be generated",
|
|
"lineNumber": 433,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 846,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "onFiltersLoaded",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#onFiltersLoaded",
|
|
"access": null,
|
|
"description": "Callback fired after filters are generated",
|
|
"lineNumber": 439,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Function"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 847,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "singleSearchFlt",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#singleSearchFlt",
|
|
"access": null,
|
|
"description": "Enable/disable single filter filtering all columns",
|
|
"lineNumber": 446,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 848,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "onRowValidated",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#onRowValidated",
|
|
"access": null,
|
|
"description": "Callback fired after a row is validated during filtering",
|
|
"lineNumber": 452,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Function"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 849,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "customCellDataCols",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#customCellDataCols",
|
|
"access": null,
|
|
"description": "List of columns implementing custom filtering",
|
|
"lineNumber": 459,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 850,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "customCellData",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#customCellData",
|
|
"access": null,
|
|
"description": "Delegate function for retrieving cell data with custom logic",
|
|
"lineNumber": 466,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Function"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 851,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "watermark",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#watermark",
|
|
"access": null,
|
|
"description": "Global watermark text for input filter type or watermark for each\nfilter if an array is supplied",
|
|
"lineNumber": 474,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String",
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 852,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "isWatermarkArray",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#isWatermarkArray",
|
|
"access": "private",
|
|
"description": "Indicate whether watermark is on a per column basis",
|
|
"lineNumber": 481,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 853,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "toolBarTgtId",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#toolBarTgtId",
|
|
"access": null,
|
|
"description": "Toolbar's custom container ID",
|
|
"lineNumber": 487,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 854,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "help",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#help",
|
|
"access": null,
|
|
"description": "Indicate whether help UI component is disabled",
|
|
"lineNumber": 493,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 855,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "popupFilters",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#popupFilters",
|
|
"access": null,
|
|
"description": "Indicate whether pop-up filters UI is enabled",
|
|
"lineNumber": 500,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 856,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "markActiveColumns",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#markActiveColumns",
|
|
"access": null,
|
|
"description": "Indicate whether filtered (active) columns indicator is enabled",
|
|
"lineNumber": 506,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 857,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "activeColumnsCssClass",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#activeColumnsCssClass",
|
|
"access": null,
|
|
"description": "Css class for filtered (active) columns",
|
|
"lineNumber": 512,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 858,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "onBeforeActiveColumn",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#onBeforeActiveColumn",
|
|
"access": null,
|
|
"description": "Callback fired before a column is marked as filtered",
|
|
"lineNumber": 519,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Function"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 859,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "onAfterActiveColumn",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#onAfterActiveColumn",
|
|
"access": null,
|
|
"description": "Callback fired after a column is marked as filtered",
|
|
"lineNumber": 526,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Function"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 860,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "clearFilterText",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#clearFilterText",
|
|
"access": null,
|
|
"description": "Text for clear option in drop-down filter types (1st option)",
|
|
"lineNumber": 534,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String",
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 861,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "enableEmptyOption",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#enableEmptyOption",
|
|
"access": null,
|
|
"description": "Indicate whether empty option is enabled in drop-down filter types",
|
|
"lineNumber": 540,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 862,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "emptyText",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#emptyText",
|
|
"access": null,
|
|
"description": "Text for empty option in drop-down filter types",
|
|
"lineNumber": 546,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 863,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "enableNonEmptyOption",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#enableNonEmptyOption",
|
|
"access": null,
|
|
"description": "Indicate whether non-empty option is enabled in drop-down filter\ntypes",
|
|
"lineNumber": 553,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 864,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "nonEmptyText",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#nonEmptyText",
|
|
"access": null,
|
|
"description": "Text for non-empty option in drop-down filter types",
|
|
"lineNumber": 559,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 865,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "onSlcChange",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#onSlcChange",
|
|
"access": null,
|
|
"description": "Indicate whether drop-down filter types filter the table by default\non change event",
|
|
"lineNumber": 566,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 866,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "sortSlc",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#sortSlc",
|
|
"access": null,
|
|
"description": "Indicate whether options in drop-down filter types are sorted in a\nalpha-numeric manner by default",
|
|
"lineNumber": 573,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 867,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "isSortNumAsc",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#isSortNumAsc",
|
|
"access": "private",
|
|
"description": "Indicate whether options in drop-down filter types are sorted in a\nascending numeric manner",
|
|
"lineNumber": 581,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 868,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "sortNumAsc",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#sortNumAsc",
|
|
"access": null,
|
|
"description": "List of columns implementing options sorting in a ascending numeric\nmanner",
|
|
"lineNumber": 588,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 869,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "isSortNumDesc",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#isSortNumDesc",
|
|
"access": "private",
|
|
"description": "Indicate whether options in drop-down filter types are sorted in a\ndescending numeric manner",
|
|
"lineNumber": 596,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 870,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "sortNumDesc",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#sortNumDesc",
|
|
"access": null,
|
|
"description": "List of columns implementing options sorting in a descending numeric\nmanner",
|
|
"lineNumber": 603,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 871,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "loadFltOnDemand",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#loadFltOnDemand",
|
|
"access": null,
|
|
"description": "Indicate whether drop-down filter types are populated on demand at\nfirst usage",
|
|
"lineNumber": 610,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 872,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "hasCustomOptions",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#hasCustomOptions",
|
|
"access": null,
|
|
"description": "Indicate whether custom drop-down filter options are implemented",
|
|
"lineNumber": 616,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 873,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "customOptions",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#customOptions",
|
|
"access": null,
|
|
"description": "Custom options definition of a per column basis, ie:\ncustom_options: {\n cols:[0, 1],\n texts: [\n ['a0', 'b0', 'c0'],\n ['a1', 'b1', 'c1']\n ],\n values: [\n ['a0', 'b0', 'c0'],\n ['a1', 'b1', 'c1']\n ],\n sorts: [false, true]\n }",
|
|
"lineNumber": 635,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Object"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 874,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "rgxOperator",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#rgxOperator",
|
|
"access": null,
|
|
"description": "Regular expression operator for input filter. Defaults to 'rgx:'",
|
|
"lineNumber": 642,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 875,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "emOperator",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#emOperator",
|
|
"access": null,
|
|
"description": "Empty cells operator for input filter. Defaults to '[empty]'",
|
|
"lineNumber": 648,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 876,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "nmOperator",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#nmOperator",
|
|
"access": null,
|
|
"description": "Non-empty cells operator for input filter. Defaults to '[nonempty]'",
|
|
"lineNumber": 654,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 877,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "orOperator",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#orOperator",
|
|
"access": null,
|
|
"description": "Logical OR operator for input filter. Defaults to '||'",
|
|
"lineNumber": 660,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 878,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "anOperator",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#anOperator",
|
|
"access": null,
|
|
"description": "Logical AND operator for input filter. Defaults to '&&'",
|
|
"lineNumber": 666,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 879,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "grOperator",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#grOperator",
|
|
"access": null,
|
|
"description": "Greater than operator for input filter. Defaults to '>'",
|
|
"lineNumber": 672,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 880,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "lwOperator",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#lwOperator",
|
|
"access": null,
|
|
"description": "Lower than operator for input filter. Defaults to '<'",
|
|
"lineNumber": 678,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 881,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "leOperator",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#leOperator",
|
|
"access": null,
|
|
"description": "Lower than or equal operator for input filter. Defaults to '<='",
|
|
"lineNumber": 684,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 882,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "geOperator",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#geOperator",
|
|
"access": null,
|
|
"description": "Greater than or equal operator for input filter. Defaults to '>='",
|
|
"lineNumber": 690,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 883,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "dfOperator",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#dfOperator",
|
|
"access": null,
|
|
"description": "Inequality operator for input filter. Defaults to '!'",
|
|
"lineNumber": 696,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 884,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "lkOperator",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#lkOperator",
|
|
"access": null,
|
|
"description": "Like operator for input filter. Defaults to '!'",
|
|
"lineNumber": 702,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 885,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "eqOperator",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#eqOperator",
|
|
"access": null,
|
|
"description": "Strict equality operator for input filter. Defaults to '='",
|
|
"lineNumber": 708,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 886,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "stOperator",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#stOperator",
|
|
"access": null,
|
|
"description": "Starts with operator for input filter. Defaults to '='",
|
|
"lineNumber": 714,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 887,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "enOperator",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#enOperator",
|
|
"access": null,
|
|
"description": "Ends with operator for input filter. Defaults to '='",
|
|
"lineNumber": 720,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 888,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "separator",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#separator",
|
|
"access": null,
|
|
"description": "Stored values separator",
|
|
"lineNumber": 728,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 889,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "rowsCounter",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#rowsCounter",
|
|
"access": null,
|
|
"description": "Enable rows counter UI component",
|
|
"lineNumber": 734,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 890,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "statusBar",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#statusBar",
|
|
"access": null,
|
|
"description": "Enable status bar UI component",
|
|
"lineNumber": 740,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 891,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "loader",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#loader",
|
|
"access": null,
|
|
"description": "Enable activity/spinner indicator UI component",
|
|
"lineNumber": 746,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 892,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "displayBtn",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#displayBtn",
|
|
"access": null,
|
|
"description": "Enable filters submission button",
|
|
"lineNumber": 753,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 893,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "btnText",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#btnText",
|
|
"access": null,
|
|
"description": "Define filters submission button text",
|
|
"lineNumber": 759,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 894,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "btnCssClass",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#btnCssClass",
|
|
"access": null,
|
|
"description": "Css class for filters submission button",
|
|
"lineNumber": 765,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 895,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "btnReset",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#btnReset",
|
|
"access": null,
|
|
"description": "Enable clear button",
|
|
"lineNumber": 772,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 896,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "onBeforeReset",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#onBeforeReset",
|
|
"access": null,
|
|
"description": "Callback fired before filters are cleared",
|
|
"lineNumber": 778,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Function"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 897,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "onAfterReset",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#onAfterReset",
|
|
"access": null,
|
|
"description": "Callback fired after filters are cleared",
|
|
"lineNumber": 785,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Function"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 898,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "paging",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#paging",
|
|
"access": null,
|
|
"description": "Enable paging component",
|
|
"lineNumber": 792,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 899,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "nbHiddenRows",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#nbHiddenRows",
|
|
"access": "private",
|
|
"description": "Number of hidden rows",
|
|
"lineNumber": 799,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 900,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "autoFilter",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#autoFilter",
|
|
"access": null,
|
|
"description": "Enable auto-filter behaviour, table is filtered when a user\nstops typing",
|
|
"lineNumber": 806,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 901,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "autoFilterDelay",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#autoFilterDelay",
|
|
"access": null,
|
|
"description": "Auto-filter delay in msecs",
|
|
"lineNumber": 812,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 902,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "isUserTyping",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#isUserTyping",
|
|
"access": "private",
|
|
"description": "Indicate whether user is typing",
|
|
"lineNumber": 820,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 903,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "autoFilterTimer",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#autoFilterTimer",
|
|
"access": "private",
|
|
"description": "Auto-filter interval ID",
|
|
"lineNumber": 827,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 904,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "highlightKeywords",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#highlightKeywords",
|
|
"access": null,
|
|
"description": "Enable keyword highlighting behaviour",
|
|
"lineNumber": 833,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 905,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "noResults",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#noResults",
|
|
"access": null,
|
|
"description": "Enable no results message UI component",
|
|
"lineNumber": 839,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 906,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "state",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#state",
|
|
"access": null,
|
|
"description": "Enable state persistence",
|
|
"lineNumber": 846,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 907,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "locale",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#locale",
|
|
"access": null,
|
|
"description": "Define default locale, default to 'en' as per Sugar Date module:\nhttps://sugarjs.com/docs/#/DateLocales",
|
|
"lineNumber": 855,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 908,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "thousandsSeparator",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#thousandsSeparator",
|
|
"access": null,
|
|
"description": "Define thousands separator ',' or '.', defaults to ','",
|
|
"lineNumber": 861,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 909,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "decimalSeparator",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#decimalSeparator",
|
|
"access": null,
|
|
"description": "Define decimal separator ',' or '.', defaults to '.'",
|
|
"lineNumber": 867,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 910,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "hasColTypes",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#hasColTypes",
|
|
"access": "private",
|
|
"description": "Determine whether table has columns data types",
|
|
"lineNumber": 874,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 911,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "colTypes",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#colTypes",
|
|
"access": null,
|
|
"description": "Define data types on a column basis, possible values 'string',\n'number', 'formatted-number', 'date', 'ipaddress' ie:\ncol_types : [\n 'string', 'date', 'number',\n { type: 'formatted-number', decimal: ',', thousands: '.' },\n { type: 'date', locale: 'en-gb' },\n { type: 'date', format: ['{dd}-{months}-{yyyy|yy}'] }\n]\n\nRefer to https://sugarjs.com/docs/#/DateParsing for exhaustive\ninformation on date parsing formats supported by Sugar Date",
|
|
"lineNumber": 890,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 912,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "prfxTf",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#prfxTf",
|
|
"access": "private",
|
|
"description": "Main prefix",
|
|
"lineNumber": 897,
|
|
"type": {
|
|
"types": [
|
|
"string"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 913,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "prfxFlt",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#prfxFlt",
|
|
"access": "private",
|
|
"description": "Filter's ID prefix (inputs - selects)",
|
|
"lineNumber": 903,
|
|
"type": {
|
|
"types": [
|
|
"string"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 914,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "prfxValButton",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#prfxValButton",
|
|
"access": "private",
|
|
"description": "Button's ID prefix",
|
|
"lineNumber": 909,
|
|
"type": {
|
|
"types": [
|
|
"string"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 915,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "prfxInfDiv",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#prfxInfDiv",
|
|
"access": "private",
|
|
"description": "Toolbar container ID prefix",
|
|
"lineNumber": 915,
|
|
"type": {
|
|
"types": [
|
|
"string"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 916,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "prfxLDiv",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#prfxLDiv",
|
|
"access": "private",
|
|
"description": "Toolbar left element ID prefix",
|
|
"lineNumber": 921,
|
|
"type": {
|
|
"types": [
|
|
"string"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 917,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "prfxRDiv",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#prfxRDiv",
|
|
"access": "private",
|
|
"description": "Toolbar right element ID prefix",
|
|
"lineNumber": 927,
|
|
"type": {
|
|
"types": [
|
|
"string"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 918,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "prfxMDiv",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#prfxMDiv",
|
|
"access": "private",
|
|
"description": "Toolbar middle element ID prefix",
|
|
"lineNumber": 933,
|
|
"type": {
|
|
"types": [
|
|
"string"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 919,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "prfxResponsive",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#prfxResponsive",
|
|
"access": "private",
|
|
"description": "Responsive Css class",
|
|
"lineNumber": 939,
|
|
"type": {
|
|
"types": [
|
|
"string"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 920,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "extensions",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#extensions",
|
|
"access": "private",
|
|
"description": "List of loaded extensions",
|
|
"lineNumber": 947,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 921,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "hasExtensions",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#hasExtensions",
|
|
"access": "private",
|
|
"description": "Determine whether extensions are loaded",
|
|
"lineNumber": 954,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 922,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "enableDefaultTheme",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#enableDefaultTheme",
|
|
"access": null,
|
|
"description": "Enable default theme",
|
|
"lineNumber": 961,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 923,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "hasThemes",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#hasThemes",
|
|
"access": "private",
|
|
"description": "Determine whether themes are enables",
|
|
"lineNumber": 968,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 924,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "themes",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#themes",
|
|
"access": null,
|
|
"description": "List of themes, ie:\nthemes: [{ name: 'skyblue' }]",
|
|
"lineNumber": 975,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 925,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "themesPath",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#themesPath",
|
|
"access": null,
|
|
"description": "Define path to themes assets, defaults to\n'tablefilter/style/themes/'. Usage:\nthemes: [{ name: 'skyblue' }]",
|
|
"lineNumber": 983,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 926,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "responsive",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#responsive",
|
|
"access": null,
|
|
"description": "Enable responsive layout",
|
|
"lineNumber": 989,
|
|
"type": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": null
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 927,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "Mod",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#Mod",
|
|
"access": "private",
|
|
"description": "Features registry",
|
|
"lineNumber": 995,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 928,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "ExtRegistry",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#ExtRegistry",
|
|
"access": "private",
|
|
"description": "Extensions registry",
|
|
"lineNumber": 1001,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 929,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "init",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#init",
|
|
"access": null,
|
|
"description": "Initialise features and layout",
|
|
"lineNumber": 1007,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 930,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "nbFilterableRows",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#nbFilterableRows",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 1065,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 931,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "initialized",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#initialized",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 1183,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@inherited",
|
|
"tagValue": ""
|
|
}
|
|
],
|
|
"type": {
|
|
"types": [
|
|
"boolean"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 932,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "detectKey",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#detectKey",
|
|
"access": null,
|
|
"description": "Detect <enter> key",
|
|
"lineNumber": 1194,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Event"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "evt",
|
|
"description": ""
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 933,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "isUserTyping",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#isUserTyping",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 1205,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"boolean"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 934,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "autoFilterTimer",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#autoFilterTimer",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 1207,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 935,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "onKeyUp",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#onKeyUp",
|
|
"access": null,
|
|
"description": "Filter's keyup event: if auto-filter on, detect user is typing and filter\ncolumns",
|
|
"lineNumber": 1217,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Event"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "evt",
|
|
"description": ""
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 936,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "isUserTyping",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#isUserTyping",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 1222,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"boolean"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 937,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "autoFilterTimer",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#autoFilterTimer",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 1226,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 938,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "isUserTyping",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#isUserTyping",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 1229,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 939,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "autoFilterTimer",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#autoFilterTimer",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 1236,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 940,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "autoFilterTimer",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#autoFilterTimer",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 1241,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 941,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "onKeyDown",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#onKeyDown",
|
|
"access": null,
|
|
"description": "Filter's keydown event: if auto-filter on, detect user is typing",
|
|
"lineNumber": 1248,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 942,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "isUserTyping",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#isUserTyping",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 1250,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"boolean"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 943,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "onInpFocus",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#onInpFocus",
|
|
"access": null,
|
|
"description": "Filter's focus event",
|
|
"lineNumber": 1258,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Event"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "evt",
|
|
"description": ""
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 944,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "onInpBlur",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#onInpBlur",
|
|
"access": null,
|
|
"description": "Filter's blur event: if auto-filter on, clear interval on filter blur",
|
|
"lineNumber": 1266,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 945,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "isUserTyping",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#isUserTyping",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 1268,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"boolean"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 946,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "_insertFiltersRow",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#_insertFiltersRow",
|
|
"access": null,
|
|
"description": "Insert filters row at initialization",
|
|
"lineNumber": 1277,
|
|
"params": [],
|
|
"return": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 947,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "_initNoFilters",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#_initNoFilters",
|
|
"access": null,
|
|
"description": "Initialize filtersless table",
|
|
"lineNumber": 1306,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 948,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "refRow",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#refRow",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 1310,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 949,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "nbFilterableRows",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#nbFilterableRows",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 1311,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 950,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "_buildInputFilter",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#_buildInputFilter",
|
|
"access": null,
|
|
"description": "Build input filter type",
|
|
"lineNumber": 1320,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "colIndex",
|
|
"description": "Column index"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "cssClass",
|
|
"description": "Css class applied to filter"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"DOMElement"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "container",
|
|
"description": "Container DOM element"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 951,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "_buildSubmitButton",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#_buildSubmitButton",
|
|
"access": null,
|
|
"description": "Build submit button",
|
|
"lineNumber": 1358,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "colIndex",
|
|
"description": "Column index"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"DOMElement"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "container",
|
|
"description": "Container DOM element"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 952,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "feature",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#feature",
|
|
"access": null,
|
|
"description": "Return a feature instance for a given name",
|
|
"lineNumber": 1382,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "name",
|
|
"description": "Name of the feature"
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Object"
|
|
],
|
|
"spread": false,
|
|
"description": ""
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 953,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "initExtensions",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#initExtensions",
|
|
"access": null,
|
|
"description": "Initialise all the extensions defined in the configuration object",
|
|
"lineNumber": 1389,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 954,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "loadExtension",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#loadExtension",
|
|
"access": null,
|
|
"description": "Load an extension module",
|
|
"lineNumber": 1408,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Object"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "ext",
|
|
"description": "Extension config object"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 955,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "extension",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#extension",
|
|
"access": null,
|
|
"description": "Get an extension instance",
|
|
"lineNumber": 1439,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "name",
|
|
"description": "Name of the extension"
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Object"
|
|
],
|
|
"spread": false,
|
|
"description": "Extension instance"
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 956,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "hasExtension",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#hasExtension",
|
|
"access": null,
|
|
"description": "Check passed extension name exists",
|
|
"lineNumber": 1448,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "name",
|
|
"description": "Name of the extension"
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": ""
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 957,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "destroyExtensions",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#destroyExtensions",
|
|
"access": null,
|
|
"description": "Destroy all the extensions defined in the configuration object",
|
|
"lineNumber": 1455,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 958,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "loadThemes",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#loadThemes",
|
|
"access": null,
|
|
"description": "Load themes defined in the configuration object",
|
|
"lineNumber": 1471,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 959,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "loader",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#loader",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 1500,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"boolean"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 960,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "getStylesheet",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#getStylesheet",
|
|
"access": null,
|
|
"description": "Return stylesheet DOM element for a given theme name",
|
|
"lineNumber": 1509,
|
|
"params": [
|
|
{
|
|
"name": "name",
|
|
"optional": true,
|
|
"types": [
|
|
"string"
|
|
],
|
|
"defaultRaw": "default",
|
|
"defaultValue": "default"
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"DOMElement"
|
|
],
|
|
"spread": false,
|
|
"description": "stylesheet element"
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 961,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "destroy",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#destroy",
|
|
"access": null,
|
|
"description": "Destroy filter grid",
|
|
"lineNumber": 1516,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 962,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "nbHiddenRows",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#nbHiddenRows",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 1561,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"number"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 963,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "validRowsIndex",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#validRowsIndex",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 1562,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 964,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "fltIds",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#fltIds",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 1563,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 965,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "initialized",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#initialized",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 1564,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"boolean"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 966,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "setToolbar",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#setToolbar",
|
|
"access": null,
|
|
"description": "Generate container element for paging, reset button, rows counter etc.",
|
|
"lineNumber": 1570,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 967,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "infDiv",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#infDiv",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 1595,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 968,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "lDiv",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#lDiv",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 1601,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 969,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "rDiv",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#rDiv",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 1608,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 970,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "mDiv",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#mDiv",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 1614,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 971,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "removeToolbar",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#removeToolbar",
|
|
"access": null,
|
|
"description": "Remove toolbar container element",
|
|
"lineNumber": 1628,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 972,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "infDiv",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#infDiv",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 1633,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 973,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "removeExternalFlts",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#removeExternalFlts",
|
|
"access": null,
|
|
"description": "Remove all the external column filters",
|
|
"lineNumber": 1645,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 974,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "isCustomOptions",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#isCustomOptions",
|
|
"access": null,
|
|
"description": "Check if given column implements a filter with custom options",
|
|
"lineNumber": 1665,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "colIndex",
|
|
"description": "Column's index"
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": ""
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 975,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "getCustomOptions",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#getCustomOptions",
|
|
"access": null,
|
|
"description": "Returns an array [[value0, value1 ...],[text0, text1 ...]] with the\ncustom options values and texts",
|
|
"lineNumber": 1676,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "colIndex",
|
|
"description": "Column's index"
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"description": ""
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 976,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "filter",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#filter",
|
|
"access": null,
|
|
"description": "Filter the table by retrieving the data from each cell in every single\nrow and comparing it to the search term for current column. A row is\nhidden when all the search terms are not found in inspected row.",
|
|
"lineNumber": 1709,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 977,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "validRowsIndex",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#validRowsIndex",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 1721,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 978,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "nbHiddenRows",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#nbHiddenRows",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 1825,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 979,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "_testTerm",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#_testTerm",
|
|
"access": null,
|
|
"description": "Test for a match of search term in cell data",
|
|
"lineNumber": 1840,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@returns",
|
|
"tagValue": "{Boolean}"
|
|
}
|
|
],
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "term",
|
|
"description": "Search term"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "cellData",
|
|
"description": "Cell data"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "colIdx",
|
|
"description": "Column index"
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": ""
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 980,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "getColValues",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#getColValues",
|
|
"access": null,
|
|
"description": "Return the data of a specified column",
|
|
"lineNumber": 2081,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "colIndex",
|
|
"description": "Column index"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "includeHeaders",
|
|
"description": "Optional: include headers row"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "num",
|
|
"description": "Optional: return unformatted number"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "exclude",
|
|
"description": "Optional: list of row indexes to be excluded"
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"description": "Flat list of data for a column"
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 981,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "getFilterValue",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#getFilterValue",
|
|
"access": null,
|
|
"description": "Return the filter's value of a specified column",
|
|
"lineNumber": 2132,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "index",
|
|
"description": "Column index"
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": "Filter value"
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 982,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "getFiltersValue",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#getFiltersValue",
|
|
"access": null,
|
|
"description": "Return the filters' values",
|
|
"lineNumber": 2168,
|
|
"params": [],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"description": "List of filters' values"
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 983,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "getFilterId",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#getFilterId",
|
|
"access": null,
|
|
"description": "Return the ID of a specified column's filter",
|
|
"lineNumber": 2189,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "index",
|
|
"description": "Column's index"
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": "ID of the filter element"
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 984,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "getFiltersByType",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#getFiltersByType",
|
|
"access": null,
|
|
"description": "Return the list of ids of filters matching a specified type.\nNote: hidden filters are also returned",
|
|
"lineNumber": 2205,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "type",
|
|
"description": "Filter type string ('input', 'select', 'multiple',\n 'checklist')"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "bool",
|
|
"description": "If true returns columns indexes instead of IDs"
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"[type]"
|
|
],
|
|
"spread": false,
|
|
"description": "List of element IDs or column indexes"
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 985,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "getFilterElement",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#getFilterElement",
|
|
"access": null,
|
|
"description": "Return the filter's DOM element for a given column",
|
|
"lineNumber": 2225,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "index",
|
|
"description": "Column's index"
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"DOMElement"
|
|
],
|
|
"spread": false,
|
|
"description": ""
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 986,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "getCellsNb",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#getCellsNb",
|
|
"access": null,
|
|
"description": "Return the number of cells for a given row index",
|
|
"lineNumber": 2235,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "rowIndex",
|
|
"description": "Index of the row"
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"description": "Number of cells"
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 987,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "getRowsNb",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#getRowsNb",
|
|
"access": null,
|
|
"description": "Return the number of filterable rows starting from reference row if\ndefined",
|
|
"lineNumber": 2246,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "includeHeaders",
|
|
"description": "Include the headers row"
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"description": "Number of filterable rows"
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 988,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "getCellData",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#getCellData",
|
|
"access": null,
|
|
"description": "Return the data of a given cell",
|
|
"lineNumber": 2260,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"DOMElement"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "cell",
|
|
"description": "Cell's DOM object"
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": ""
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 989,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "getTableData",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#getTableData",
|
|
"access": null,
|
|
"description": "Return the table data with following format:\n[\n [rowIndex, [value0, value1...]],\n [rowIndex, [value0, value1...]]\n]",
|
|
"lineNumber": 2282,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "includeHeaders",
|
|
"description": "Optional: include headers row"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "excludeHiddenCols",
|
|
"description": "Optional: exclude hidden columns"
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"description": "TODO: provide an API returning data in JSON format"
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 990,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "getFilteredData",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#getFilteredData",
|
|
"access": null,
|
|
"description": "Return the filtered data with following format:\n[\n [rowIndex, [value0, value1...]],\n [rowIndex, [value0, value1...]]\n]",
|
|
"lineNumber": 2319,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "includeHeaders",
|
|
"description": "Optional: include headers row"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "excludeHiddenCols",
|
|
"description": "Optional: exclude hidden columns"
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"description": "TODO: provide an API returning data in JSON format"
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 991,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "getFilteredDataCol",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#getFilteredDataCol",
|
|
"access": null,
|
|
"description": "Return the filtered data for a given column index",
|
|
"lineNumber": 2356,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "colIndex",
|
|
"description": "Colmun's index"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "includeHeaders",
|
|
"description": "Optional: include headers row"
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"description": "Flat list of values ['val0','val1','val2'...]\n\nTODO: provide an API returning data in JSON format"
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 992,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "getRowDisplay",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#getRowDisplay",
|
|
"access": null,
|
|
"description": "Get the display value of a row",
|
|
"lineNumber": 2381,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"HTMLTableRowElement"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "row",
|
|
"description": "DOM element of the row"
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": "Usually 'none' or ''"
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 993,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "validateRow",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#validateRow",
|
|
"access": null,
|
|
"description": "Validate/invalidate row by setting the 'validRow' attribute on the row",
|
|
"lineNumber": 2390,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "rowIndex",
|
|
"description": "Index of the row"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "isValid",
|
|
"description": ""
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 994,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "validateAllRows",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#validateAllRows",
|
|
"access": null,
|
|
"description": "Validate all filterable rows",
|
|
"lineNumber": 2423,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 995,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "validRowsIndex",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#validRowsIndex",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 2427,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 996,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "setFilterValue",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#setFilterValue",
|
|
"access": null,
|
|
"description": "Set search value to a given filter",
|
|
"lineNumber": 2438,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "index",
|
|
"description": "Column's index"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"String or Array"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "query",
|
|
"description": "searcharg Search term"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 997,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "setColWidths",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#setColWidths",
|
|
"access": null,
|
|
"description": "Set them columns' widths as per configuration",
|
|
"lineNumber": 2486,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Element"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "tbl",
|
|
"description": "DOM element"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 998,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "enforceVisibility",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#enforceVisibility",
|
|
"access": null,
|
|
"description": "Makes defined rows always visible",
|
|
"lineNumber": 2515,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 999,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "clearFilters",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#clearFilters",
|
|
"access": null,
|
|
"description": "Clear all the filters' values",
|
|
"lineNumber": 2532,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 1000,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "clearActiveColumns",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#clearActiveColumns",
|
|
"access": null,
|
|
"description": "Clears filtered columns visual indicator (background color)",
|
|
"lineNumber": 2553,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 1001,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "markActiveColumn",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#markActiveColumn",
|
|
"access": null,
|
|
"description": "Mark currently filtered column",
|
|
"lineNumber": 2563,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "colIndex",
|
|
"description": "Column index"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 1002,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "getActiveFilterId",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#getActiveFilterId",
|
|
"access": null,
|
|
"description": "Return the ID of the current active filter",
|
|
"lineNumber": 2579,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@returns",
|
|
"tagValue": "{String}"
|
|
}
|
|
],
|
|
"params": [],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": ""
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 1003,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "setActiveFilterId",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#setActiveFilterId",
|
|
"access": null,
|
|
"description": "Set the ID of the current active filter",
|
|
"lineNumber": 2587,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "filterId",
|
|
"description": "Element ID"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 1004,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "activeFilterId",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#activeFilterId",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 2588,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 1005,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "getColumnIndexFromFilterId",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#getColumnIndexFromFilterId",
|
|
"access": null,
|
|
"description": "Return the column index for a given filter ID",
|
|
"lineNumber": 2596,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@returns",
|
|
"tagValue": "{Number} Column index"
|
|
}
|
|
],
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"string"
|
|
],
|
|
"spread": false,
|
|
"optional": true,
|
|
"defaultValue": "''",
|
|
"defaultRaw": "''",
|
|
"name": "filterId",
|
|
"description": "Filter ID"
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"description": "Column index"
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 1006,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "buildFilterId",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#buildFilterId",
|
|
"access": "private",
|
|
"description": "Builds filter element ID for a given column index",
|
|
"lineNumber": 2608,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@returns",
|
|
"tagValue": "{String} Filter element ID string"
|
|
}
|
|
],
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"any"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "colIndex",
|
|
"description": ""
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": "Filter element ID string"
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 1007,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "activateFilter",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#activateFilter",
|
|
"access": null,
|
|
"description": "Make specified column's filter active",
|
|
"lineNumber": 2616,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"*"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "colIndex",
|
|
"description": "Index of a column"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 1008,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "linkFilters",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#linkFilters",
|
|
"access": null,
|
|
"description": "Refresh the filters subject to linking ('select', 'multiple',\n'checklist' type)",
|
|
"lineNumber": 2627,
|
|
"params": [],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 1009,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "isExactMatch",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#isExactMatch",
|
|
"access": null,
|
|
"description": "Determines if passed filter column implements exact query match",
|
|
"lineNumber": 2678,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "colIndex",
|
|
"description": "Column index"
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": ""
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 1010,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "isRowValid",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#isRowValid",
|
|
"access": null,
|
|
"description": "Checks if passed row is valid",
|
|
"lineNumber": 2689,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@returns",
|
|
"tagValue": "{Boolean}"
|
|
}
|
|
],
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "rowIndex",
|
|
"description": "Row index"
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": ""
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 1011,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "isRowDisplayed",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#isRowDisplayed",
|
|
"access": null,
|
|
"description": "Checks if passed row is visible",
|
|
"lineNumber": 2698,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@returns",
|
|
"tagValue": "{Boolean}"
|
|
}
|
|
],
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "rowIndex",
|
|
"description": "Row index"
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": ""
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 1012,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "ignoresDiacritics",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#ignoresDiacritics",
|
|
"access": null,
|
|
"description": "Checks if specified column filter ignores diacritics.\nNote this is only valid for input filter types.",
|
|
"lineNumber": 2709,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@returns",
|
|
"tagValue": "{Boolean}"
|
|
}
|
|
],
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "colIndex",
|
|
"description": "Column index"
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": ""
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 1013,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "getClearFilterText",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#getClearFilterText",
|
|
"access": null,
|
|
"description": "Returns clear all text for specified filter column",
|
|
"lineNumber": 2722,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@returns",
|
|
"tagValue": "{String}"
|
|
}
|
|
],
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "colIndex",
|
|
"description": "Column index"
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": ""
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 1014,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "isImported",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#isImported",
|
|
"access": null,
|
|
"description": "Check if passed script or stylesheet is already imported",
|
|
"lineNumber": 2736,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "filePath",
|
|
"description": "Ressource path"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "type",
|
|
"description": "Possible values: 'script' or 'link'"
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": ""
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 1015,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "import",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#import",
|
|
"access": null,
|
|
"description": "Import script or stylesheet",
|
|
"lineNumber": 2759,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "fileId",
|
|
"description": "Ressource ID"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "filePath",
|
|
"description": "Ressource path"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Function"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "callback",
|
|
"description": "Callback"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "type",
|
|
"description": "Possible values: 'script' or 'link'"
|
|
}
|
|
],
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 1016,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "isInitialized",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#isInitialized",
|
|
"access": null,
|
|
"description": "Check if table has filters grid",
|
|
"lineNumber": 2801,
|
|
"params": [],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": ""
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 1017,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "getFiltersId",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#getFiltersId",
|
|
"access": null,
|
|
"description": "Get list of filter IDs",
|
|
"lineNumber": 2809,
|
|
"params": [],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"[type]"
|
|
],
|
|
"spread": false,
|
|
"description": "[description]"
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 1018,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "getValidRows",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#getValidRows",
|
|
"access": null,
|
|
"description": "Get filtered (valid) rows indexes",
|
|
"lineNumber": 2818,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "reCalc",
|
|
"description": "Force calculation of filtered rows list"
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"description": "List of row indexes"
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 1019,
|
|
"kind": "member",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "validRowsIndex",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#validRowsIndex",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 2824,
|
|
"undocument": true,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 1020,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "getFiltersRowIndex",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#getFiltersRowIndex",
|
|
"access": null,
|
|
"description": "Get the index of the row containing the filters",
|
|
"lineNumber": 2845,
|
|
"params": [],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"description": ""
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 1021,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "getHeadersRowIndex",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#getHeadersRowIndex",
|
|
"access": null,
|
|
"description": "Get the index of the headers row",
|
|
"lineNumber": 2853,
|
|
"params": [],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"description": ""
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 1022,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "getStartRowIndex",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#getStartRowIndex",
|
|
"access": null,
|
|
"description": "Get the row index from where the filtering process start (1st filterable\nrow)",
|
|
"lineNumber": 2862,
|
|
"params": [],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"description": ""
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 1023,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "getLastRowIndex",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#getLastRowIndex",
|
|
"access": null,
|
|
"description": "Get the index of the last row",
|
|
"lineNumber": 2870,
|
|
"params": [],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"description": ""
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 1024,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "hasType",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#hasType",
|
|
"access": null,
|
|
"description": "Determine whether the specified column has one of the passed types",
|
|
"lineNumber": 2881,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@returns",
|
|
"tagValue": "{Boolean}"
|
|
}
|
|
],
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "colIndex",
|
|
"description": "Column index"
|
|
},
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"optional": true,
|
|
"defaultValue": "[]",
|
|
"defaultRaw": [],
|
|
"name": "types",
|
|
"description": "List of column types"
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": ""
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 1025,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "getHeaderElement",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#getHeaderElement",
|
|
"access": null,
|
|
"description": "Get the header DOM element for a given column index",
|
|
"lineNumber": 2897,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "colIndex",
|
|
"description": "Column index"
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Element"
|
|
],
|
|
"spread": false,
|
|
"description": ""
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 1026,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "getHeadersText",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#getHeadersText",
|
|
"access": null,
|
|
"description": "Return the list of headers' text",
|
|
"lineNumber": 2922,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "excludeHiddenCols",
|
|
"description": "Optional: exclude hidden columns"
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"description": "list of headers' text"
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 1027,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "getFilterType",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#getFilterType",
|
|
"access": null,
|
|
"description": "Return the filter type for a specified column",
|
|
"lineNumber": 2942,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "colIndex",
|
|
"description": "Column's index"
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"description": ""
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 1028,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "getFilterableRowsNb",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#getFilterableRowsNb",
|
|
"access": null,
|
|
"description": "Get the total number of filterable rows",
|
|
"lineNumber": 2951,
|
|
"params": [],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"description": ""
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 1029,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "getValidRowsNb",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#getValidRowsNb",
|
|
"access": null,
|
|
"description": "Return the total number of valid rows",
|
|
"lineNumber": 2960,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@returns",
|
|
"tagValue": "{Number}"
|
|
}
|
|
],
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"optional": true,
|
|
"defaultValue": "false",
|
|
"defaultRaw": false,
|
|
"name": "reCalc",
|
|
"description": "Forces calculation of filtered rows"
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"description": ""
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 1030,
|
|
"kind": "method",
|
|
"static": false,
|
|
"variation": null,
|
|
"name": "config",
|
|
"memberof": "src/tablefilter.js~TableFilter",
|
|
"longname": "src/tablefilter.js~TableFilter#config",
|
|
"access": null,
|
|
"description": "Get the configuration object (literal object)",
|
|
"lineNumber": 2968,
|
|
"params": [],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Object"
|
|
],
|
|
"spread": false,
|
|
"description": ""
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 1031,
|
|
"kind": "file",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "src/types.js",
|
|
"memberof": null,
|
|
"longname": "src/types.js",
|
|
"access": null,
|
|
"description": null,
|
|
"lineNumber": 6,
|
|
"content": "\n/**\n * Types utilities\n */\n\nconst UNDEFINED = void 0;\n\n/**\n * Return an empty function\n * @return {Function}\n */\nexport const EMPTY_FN = function() {};\n\n/**\n * Check passed argument is an object\n * @param {Object} obj\n * @return {Boolean}\n */\nexport const isObj =\n (obj) => Object.prototype.toString.call(obj) === '[object Object]';\n\n/**\n * Check passed argument is a function\n * @param {Function} obj\n * @return {Boolean}\n */\nexport const isFn =\n (obj) => Object.prototype.toString.call(obj) === '[object Function]';\n\n/**\n * Check passed argument is an array\n * @param {Array} obj\n * @return {Boolean}\n */\nexport const isArray =\n (obj) => Object.prototype.toString.call(obj) === '[object Array]';\n\n/**\n * Check passed argument is a string\n * @param {String} obj objue\n * @returns {Boolean}\n */\nexport const isString =\n (obj) => Object.prototype.toString.call(obj) === '[object String]';\n\n/**\n * Check passed argument is a number\n * @param {Number} obj\n * @returns {Boolean}\n */\nexport const isNumber =\n (obj) => Object.prototype.toString.call(obj) === '[object Number]';\n\n/**\n * Check passed argument is undefined\n * @param {Any} obj\n * @return {Boolean}\n */\nexport const isUndef = (obj) => obj === UNDEFINED;\n\n/**\n * Check passed argument is null\n * @param {Any} obj\n * @return {Boolean}\n */\nexport const isNull = obj => obj === null;\n\n/**\n * Check passed argument is empty (undefined, null or empty string)\n * @param {Any} obj\n * @return {Boolean}\n */\nexport const isEmpty = (obj) => isUndef(obj) || isNull(obj) || obj.length === 0;\n"
|
|
},
|
|
{
|
|
"__docId__": 1032,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "UNDEFINED",
|
|
"memberof": "src/types.js",
|
|
"longname": "src/types.js~UNDEFINED",
|
|
"access": null,
|
|
"export": false,
|
|
"importPath": "tablefilter/src/types.js",
|
|
"importStyle": null,
|
|
"description": "Types utilities",
|
|
"lineNumber": 6,
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 1033,
|
|
"kind": "function",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "EMPTY_FN",
|
|
"memberof": "src/types.js",
|
|
"longname": "src/types.js~EMPTY_FN",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/types.js",
|
|
"importStyle": "{EMPTY_FN}",
|
|
"description": "Return an empty function",
|
|
"lineNumber": 12,
|
|
"params": [],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Function"
|
|
],
|
|
"spread": false,
|
|
"description": ""
|
|
},
|
|
"generator": false
|
|
},
|
|
{
|
|
"__docId__": 1034,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "isObj",
|
|
"memberof": "src/types.js",
|
|
"longname": "src/types.js~isObj",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/types.js",
|
|
"importStyle": "{isObj}",
|
|
"description": "Check passed argument is an object",
|
|
"lineNumber": 19,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Object"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "obj",
|
|
"description": ""
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": ""
|
|
},
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 1035,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "isFn",
|
|
"memberof": "src/types.js",
|
|
"longname": "src/types.js~isFn",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/types.js",
|
|
"importStyle": "{isFn}",
|
|
"description": "Check passed argument is a function",
|
|
"lineNumber": 27,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Function"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "obj",
|
|
"description": ""
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": ""
|
|
},
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 1036,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "isArray",
|
|
"memberof": "src/types.js",
|
|
"longname": "src/types.js~isArray",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/types.js",
|
|
"importStyle": "{isArray}",
|
|
"description": "Check passed argument is an array",
|
|
"lineNumber": 35,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Array"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "obj",
|
|
"description": ""
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": ""
|
|
},
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 1037,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "isString",
|
|
"memberof": "src/types.js",
|
|
"longname": "src/types.js~isString",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/types.js",
|
|
"importStyle": "{isString}",
|
|
"description": "Check passed argument is a string",
|
|
"lineNumber": 43,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@returns",
|
|
"tagValue": "{Boolean}"
|
|
}
|
|
],
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"String"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "obj",
|
|
"description": "objue"
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": ""
|
|
},
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 1038,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "isNumber",
|
|
"memberof": "src/types.js",
|
|
"longname": "src/types.js~isNumber",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/types.js",
|
|
"importStyle": "{isNumber}",
|
|
"description": "Check passed argument is a number",
|
|
"lineNumber": 51,
|
|
"unknown": [
|
|
{
|
|
"tagName": "@returns",
|
|
"tagValue": "{Boolean}"
|
|
}
|
|
],
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "obj",
|
|
"description": ""
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": ""
|
|
},
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 1039,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "isUndef",
|
|
"memberof": "src/types.js",
|
|
"longname": "src/types.js~isUndef",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/types.js",
|
|
"importStyle": "{isUndef}",
|
|
"description": "Check passed argument is undefined",
|
|
"lineNumber": 59,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Any"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "obj",
|
|
"description": ""
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": ""
|
|
},
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 1040,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "isNull",
|
|
"memberof": "src/types.js",
|
|
"longname": "src/types.js~isNull",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/types.js",
|
|
"importStyle": "{isNull}",
|
|
"description": "Check passed argument is null",
|
|
"lineNumber": 66,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Any"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "obj",
|
|
"description": ""
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": ""
|
|
},
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 1041,
|
|
"kind": "variable",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "isEmpty",
|
|
"memberof": "src/types.js",
|
|
"longname": "src/types.js~isEmpty",
|
|
"access": null,
|
|
"export": true,
|
|
"importPath": "tablefilter/src/types.js",
|
|
"importStyle": "{isEmpty}",
|
|
"description": "Check passed argument is empty (undefined, null or empty string)",
|
|
"lineNumber": 73,
|
|
"params": [
|
|
{
|
|
"nullable": null,
|
|
"types": [
|
|
"Any"
|
|
],
|
|
"spread": false,
|
|
"optional": false,
|
|
"name": "obj",
|
|
"description": ""
|
|
}
|
|
],
|
|
"return": {
|
|
"nullable": null,
|
|
"types": [
|
|
"Boolean"
|
|
],
|
|
"spread": false,
|
|
"description": ""
|
|
},
|
|
"type": {
|
|
"types": [
|
|
"*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"__docId__": 1043,
|
|
"kind": "external",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "Infinity",
|
|
"externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Infinity",
|
|
"memberof": "BuiltinExternal/ECMAScriptExternal.js",
|
|
"longname": "BuiltinExternal/ECMAScriptExternal.js~Infinity",
|
|
"access": null,
|
|
"description": "",
|
|
"builtinExternal": true
|
|
},
|
|
{
|
|
"__docId__": 1044,
|
|
"kind": "external",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "NaN",
|
|
"externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NaN",
|
|
"memberof": "BuiltinExternal/ECMAScriptExternal.js",
|
|
"longname": "BuiltinExternal/ECMAScriptExternal.js~NaN",
|
|
"access": null,
|
|
"description": "",
|
|
"builtinExternal": true
|
|
},
|
|
{
|
|
"__docId__": 1045,
|
|
"kind": "external",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "undefined",
|
|
"externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined",
|
|
"memberof": "BuiltinExternal/ECMAScriptExternal.js",
|
|
"longname": "BuiltinExternal/ECMAScriptExternal.js~undefined",
|
|
"access": null,
|
|
"description": "",
|
|
"builtinExternal": true
|
|
},
|
|
{
|
|
"__docId__": 1046,
|
|
"kind": "external",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "null",
|
|
"externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/null",
|
|
"memberof": "BuiltinExternal/ECMAScriptExternal.js",
|
|
"longname": "BuiltinExternal/ECMAScriptExternal.js~null",
|
|
"access": null,
|
|
"description": "",
|
|
"builtinExternal": true
|
|
},
|
|
{
|
|
"__docId__": 1047,
|
|
"kind": "external",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "Object",
|
|
"externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object",
|
|
"memberof": "BuiltinExternal/ECMAScriptExternal.js",
|
|
"longname": "BuiltinExternal/ECMAScriptExternal.js~Object",
|
|
"access": null,
|
|
"description": "",
|
|
"builtinExternal": true
|
|
},
|
|
{
|
|
"__docId__": 1048,
|
|
"kind": "external",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "object",
|
|
"externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object",
|
|
"memberof": "BuiltinExternal/ECMAScriptExternal.js",
|
|
"longname": "BuiltinExternal/ECMAScriptExternal.js~object",
|
|
"access": null,
|
|
"description": "",
|
|
"builtinExternal": true
|
|
},
|
|
{
|
|
"__docId__": 1049,
|
|
"kind": "external",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "Function",
|
|
"externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function",
|
|
"memberof": "BuiltinExternal/ECMAScriptExternal.js",
|
|
"longname": "BuiltinExternal/ECMAScriptExternal.js~Function",
|
|
"access": null,
|
|
"description": "",
|
|
"builtinExternal": true
|
|
},
|
|
{
|
|
"__docId__": 1050,
|
|
"kind": "external",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "function",
|
|
"externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function",
|
|
"memberof": "BuiltinExternal/ECMAScriptExternal.js",
|
|
"longname": "BuiltinExternal/ECMAScriptExternal.js~function",
|
|
"access": null,
|
|
"description": "",
|
|
"builtinExternal": true
|
|
},
|
|
{
|
|
"__docId__": 1051,
|
|
"kind": "external",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "Boolean",
|
|
"externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean",
|
|
"memberof": "BuiltinExternal/ECMAScriptExternal.js",
|
|
"longname": "BuiltinExternal/ECMAScriptExternal.js~Boolean",
|
|
"access": null,
|
|
"description": "",
|
|
"builtinExternal": true
|
|
},
|
|
{
|
|
"__docId__": 1052,
|
|
"kind": "external",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "boolean",
|
|
"externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean",
|
|
"memberof": "BuiltinExternal/ECMAScriptExternal.js",
|
|
"longname": "BuiltinExternal/ECMAScriptExternal.js~boolean",
|
|
"access": null,
|
|
"description": "",
|
|
"builtinExternal": true
|
|
},
|
|
{
|
|
"__docId__": 1053,
|
|
"kind": "external",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "Symbol",
|
|
"externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol",
|
|
"memberof": "BuiltinExternal/ECMAScriptExternal.js",
|
|
"longname": "BuiltinExternal/ECMAScriptExternal.js~Symbol",
|
|
"access": null,
|
|
"description": "",
|
|
"builtinExternal": true
|
|
},
|
|
{
|
|
"__docId__": 1054,
|
|
"kind": "external",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "Error",
|
|
"externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error",
|
|
"memberof": "BuiltinExternal/ECMAScriptExternal.js",
|
|
"longname": "BuiltinExternal/ECMAScriptExternal.js~Error",
|
|
"access": null,
|
|
"description": "",
|
|
"builtinExternal": true
|
|
},
|
|
{
|
|
"__docId__": 1055,
|
|
"kind": "external",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "EvalError",
|
|
"externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/EvalError",
|
|
"memberof": "BuiltinExternal/ECMAScriptExternal.js",
|
|
"longname": "BuiltinExternal/ECMAScriptExternal.js~EvalError",
|
|
"access": null,
|
|
"description": "",
|
|
"builtinExternal": true
|
|
},
|
|
{
|
|
"__docId__": 1056,
|
|
"kind": "external",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "InternalError",
|
|
"externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/InternalError",
|
|
"memberof": "BuiltinExternal/ECMAScriptExternal.js",
|
|
"longname": "BuiltinExternal/ECMAScriptExternal.js~InternalError",
|
|
"access": null,
|
|
"description": "",
|
|
"builtinExternal": true
|
|
},
|
|
{
|
|
"__docId__": 1057,
|
|
"kind": "external",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "RangeError",
|
|
"externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RangeError",
|
|
"memberof": "BuiltinExternal/ECMAScriptExternal.js",
|
|
"longname": "BuiltinExternal/ECMAScriptExternal.js~RangeError",
|
|
"access": null,
|
|
"description": "",
|
|
"builtinExternal": true
|
|
},
|
|
{
|
|
"__docId__": 1058,
|
|
"kind": "external",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "ReferenceError",
|
|
"externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ReferenceError",
|
|
"memberof": "BuiltinExternal/ECMAScriptExternal.js",
|
|
"longname": "BuiltinExternal/ECMAScriptExternal.js~ReferenceError",
|
|
"access": null,
|
|
"description": "",
|
|
"builtinExternal": true
|
|
},
|
|
{
|
|
"__docId__": 1059,
|
|
"kind": "external",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "SyntaxError",
|
|
"externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError",
|
|
"memberof": "BuiltinExternal/ECMAScriptExternal.js",
|
|
"longname": "BuiltinExternal/ECMAScriptExternal.js~SyntaxError",
|
|
"access": null,
|
|
"description": "",
|
|
"builtinExternal": true
|
|
},
|
|
{
|
|
"__docId__": 1060,
|
|
"kind": "external",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "TypeError",
|
|
"externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypeError",
|
|
"memberof": "BuiltinExternal/ECMAScriptExternal.js",
|
|
"longname": "BuiltinExternal/ECMAScriptExternal.js~TypeError",
|
|
"access": null,
|
|
"description": "",
|
|
"builtinExternal": true
|
|
},
|
|
{
|
|
"__docId__": 1061,
|
|
"kind": "external",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "URIError",
|
|
"externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/URIError",
|
|
"memberof": "BuiltinExternal/ECMAScriptExternal.js",
|
|
"longname": "BuiltinExternal/ECMAScriptExternal.js~URIError",
|
|
"access": null,
|
|
"description": "",
|
|
"builtinExternal": true
|
|
},
|
|
{
|
|
"__docId__": 1062,
|
|
"kind": "external",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "Number",
|
|
"externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number",
|
|
"memberof": "BuiltinExternal/ECMAScriptExternal.js",
|
|
"longname": "BuiltinExternal/ECMAScriptExternal.js~Number",
|
|
"access": null,
|
|
"description": "",
|
|
"builtinExternal": true
|
|
},
|
|
{
|
|
"__docId__": 1063,
|
|
"kind": "external",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "number",
|
|
"externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number",
|
|
"memberof": "BuiltinExternal/ECMAScriptExternal.js",
|
|
"longname": "BuiltinExternal/ECMAScriptExternal.js~number",
|
|
"access": null,
|
|
"description": "",
|
|
"builtinExternal": true
|
|
},
|
|
{
|
|
"__docId__": 1064,
|
|
"kind": "external",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "Date",
|
|
"externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date",
|
|
"memberof": "BuiltinExternal/ECMAScriptExternal.js",
|
|
"longname": "BuiltinExternal/ECMAScriptExternal.js~Date",
|
|
"access": null,
|
|
"description": "",
|
|
"builtinExternal": true
|
|
},
|
|
{
|
|
"__docId__": 1065,
|
|
"kind": "external",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "String",
|
|
"externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String",
|
|
"memberof": "BuiltinExternal/ECMAScriptExternal.js",
|
|
"longname": "BuiltinExternal/ECMAScriptExternal.js~String",
|
|
"access": null,
|
|
"description": "",
|
|
"builtinExternal": true
|
|
},
|
|
{
|
|
"__docId__": 1066,
|
|
"kind": "external",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "string",
|
|
"externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String",
|
|
"memberof": "BuiltinExternal/ECMAScriptExternal.js",
|
|
"longname": "BuiltinExternal/ECMAScriptExternal.js~string",
|
|
"access": null,
|
|
"description": "",
|
|
"builtinExternal": true
|
|
},
|
|
{
|
|
"__docId__": 1067,
|
|
"kind": "external",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "RegExp",
|
|
"externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp",
|
|
"memberof": "BuiltinExternal/ECMAScriptExternal.js",
|
|
"longname": "BuiltinExternal/ECMAScriptExternal.js~RegExp",
|
|
"access": null,
|
|
"description": "",
|
|
"builtinExternal": true
|
|
},
|
|
{
|
|
"__docId__": 1068,
|
|
"kind": "external",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "Array",
|
|
"externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array",
|
|
"memberof": "BuiltinExternal/ECMAScriptExternal.js",
|
|
"longname": "BuiltinExternal/ECMAScriptExternal.js~Array",
|
|
"access": null,
|
|
"description": "",
|
|
"builtinExternal": true
|
|
},
|
|
{
|
|
"__docId__": 1069,
|
|
"kind": "external",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "Int8Array",
|
|
"externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int8Array",
|
|
"memberof": "BuiltinExternal/ECMAScriptExternal.js",
|
|
"longname": "BuiltinExternal/ECMAScriptExternal.js~Int8Array",
|
|
"access": null,
|
|
"description": "",
|
|
"builtinExternal": true
|
|
},
|
|
{
|
|
"__docId__": 1070,
|
|
"kind": "external",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "Uint8Array",
|
|
"externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array",
|
|
"memberof": "BuiltinExternal/ECMAScriptExternal.js",
|
|
"longname": "BuiltinExternal/ECMAScriptExternal.js~Uint8Array",
|
|
"access": null,
|
|
"description": "",
|
|
"builtinExternal": true
|
|
},
|
|
{
|
|
"__docId__": 1071,
|
|
"kind": "external",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "Uint8ClampedArray",
|
|
"externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8ClampedArray",
|
|
"memberof": "BuiltinExternal/ECMAScriptExternal.js",
|
|
"longname": "BuiltinExternal/ECMAScriptExternal.js~Uint8ClampedArray",
|
|
"access": null,
|
|
"description": "",
|
|
"builtinExternal": true
|
|
},
|
|
{
|
|
"__docId__": 1072,
|
|
"kind": "external",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "Int16Array",
|
|
"externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int16Array",
|
|
"memberof": "BuiltinExternal/ECMAScriptExternal.js",
|
|
"longname": "BuiltinExternal/ECMAScriptExternal.js~Int16Array",
|
|
"access": null,
|
|
"description": "",
|
|
"builtinExternal": true
|
|
},
|
|
{
|
|
"__docId__": 1073,
|
|
"kind": "external",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "Uint16Array",
|
|
"externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint16Array",
|
|
"memberof": "BuiltinExternal/ECMAScriptExternal.js",
|
|
"longname": "BuiltinExternal/ECMAScriptExternal.js~Uint16Array",
|
|
"access": null,
|
|
"description": "",
|
|
"builtinExternal": true
|
|
},
|
|
{
|
|
"__docId__": 1074,
|
|
"kind": "external",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "Int32Array",
|
|
"externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int32Array",
|
|
"memberof": "BuiltinExternal/ECMAScriptExternal.js",
|
|
"longname": "BuiltinExternal/ECMAScriptExternal.js~Int32Array",
|
|
"access": null,
|
|
"description": "",
|
|
"builtinExternal": true
|
|
},
|
|
{
|
|
"__docId__": 1075,
|
|
"kind": "external",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "Uint32Array",
|
|
"externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint32Array",
|
|
"memberof": "BuiltinExternal/ECMAScriptExternal.js",
|
|
"longname": "BuiltinExternal/ECMAScriptExternal.js~Uint32Array",
|
|
"access": null,
|
|
"description": "",
|
|
"builtinExternal": true
|
|
},
|
|
{
|
|
"__docId__": 1076,
|
|
"kind": "external",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "Float32Array",
|
|
"externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array",
|
|
"memberof": "BuiltinExternal/ECMAScriptExternal.js",
|
|
"longname": "BuiltinExternal/ECMAScriptExternal.js~Float32Array",
|
|
"access": null,
|
|
"description": "",
|
|
"builtinExternal": true
|
|
},
|
|
{
|
|
"__docId__": 1077,
|
|
"kind": "external",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "Float64Array",
|
|
"externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float64Array",
|
|
"memberof": "BuiltinExternal/ECMAScriptExternal.js",
|
|
"longname": "BuiltinExternal/ECMAScriptExternal.js~Float64Array",
|
|
"access": null,
|
|
"description": "",
|
|
"builtinExternal": true
|
|
},
|
|
{
|
|
"__docId__": 1078,
|
|
"kind": "external",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "Map",
|
|
"externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map",
|
|
"memberof": "BuiltinExternal/ECMAScriptExternal.js",
|
|
"longname": "BuiltinExternal/ECMAScriptExternal.js~Map",
|
|
"access": null,
|
|
"description": "",
|
|
"builtinExternal": true
|
|
},
|
|
{
|
|
"__docId__": 1079,
|
|
"kind": "external",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "Set",
|
|
"externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set",
|
|
"memberof": "BuiltinExternal/ECMAScriptExternal.js",
|
|
"longname": "BuiltinExternal/ECMAScriptExternal.js~Set",
|
|
"access": null,
|
|
"description": "",
|
|
"builtinExternal": true
|
|
},
|
|
{
|
|
"__docId__": 1080,
|
|
"kind": "external",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "WeakMap",
|
|
"externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap",
|
|
"memberof": "BuiltinExternal/ECMAScriptExternal.js",
|
|
"longname": "BuiltinExternal/ECMAScriptExternal.js~WeakMap",
|
|
"access": null,
|
|
"description": "",
|
|
"builtinExternal": true
|
|
},
|
|
{
|
|
"__docId__": 1081,
|
|
"kind": "external",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "WeakSet",
|
|
"externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakSet",
|
|
"memberof": "BuiltinExternal/ECMAScriptExternal.js",
|
|
"longname": "BuiltinExternal/ECMAScriptExternal.js~WeakSet",
|
|
"access": null,
|
|
"description": "",
|
|
"builtinExternal": true
|
|
},
|
|
{
|
|
"__docId__": 1082,
|
|
"kind": "external",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "ArrayBuffer",
|
|
"externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer",
|
|
"memberof": "BuiltinExternal/ECMAScriptExternal.js",
|
|
"longname": "BuiltinExternal/ECMAScriptExternal.js~ArrayBuffer",
|
|
"access": null,
|
|
"description": "",
|
|
"builtinExternal": true
|
|
},
|
|
{
|
|
"__docId__": 1083,
|
|
"kind": "external",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "DataView",
|
|
"externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView",
|
|
"memberof": "BuiltinExternal/ECMAScriptExternal.js",
|
|
"longname": "BuiltinExternal/ECMAScriptExternal.js~DataView",
|
|
"access": null,
|
|
"description": "",
|
|
"builtinExternal": true
|
|
},
|
|
{
|
|
"__docId__": 1084,
|
|
"kind": "external",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "JSON",
|
|
"externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON",
|
|
"memberof": "BuiltinExternal/ECMAScriptExternal.js",
|
|
"longname": "BuiltinExternal/ECMAScriptExternal.js~JSON",
|
|
"access": null,
|
|
"description": "",
|
|
"builtinExternal": true
|
|
},
|
|
{
|
|
"__docId__": 1085,
|
|
"kind": "external",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "Promise",
|
|
"externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise",
|
|
"memberof": "BuiltinExternal/ECMAScriptExternal.js",
|
|
"longname": "BuiltinExternal/ECMAScriptExternal.js~Promise",
|
|
"access": null,
|
|
"description": "",
|
|
"builtinExternal": true
|
|
},
|
|
{
|
|
"__docId__": 1086,
|
|
"kind": "external",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "Generator",
|
|
"externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Generator",
|
|
"memberof": "BuiltinExternal/ECMAScriptExternal.js",
|
|
"longname": "BuiltinExternal/ECMAScriptExternal.js~Generator",
|
|
"access": null,
|
|
"description": "",
|
|
"builtinExternal": true
|
|
},
|
|
{
|
|
"__docId__": 1087,
|
|
"kind": "external",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "GeneratorFunction",
|
|
"externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/GeneratorFunction",
|
|
"memberof": "BuiltinExternal/ECMAScriptExternal.js",
|
|
"longname": "BuiltinExternal/ECMAScriptExternal.js~GeneratorFunction",
|
|
"access": null,
|
|
"description": "",
|
|
"builtinExternal": true
|
|
},
|
|
{
|
|
"__docId__": 1088,
|
|
"kind": "external",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "Reflect",
|
|
"externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect",
|
|
"memberof": "BuiltinExternal/ECMAScriptExternal.js",
|
|
"longname": "BuiltinExternal/ECMAScriptExternal.js~Reflect",
|
|
"access": null,
|
|
"description": "",
|
|
"builtinExternal": true
|
|
},
|
|
{
|
|
"__docId__": 1089,
|
|
"kind": "external",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "Proxy",
|
|
"externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy",
|
|
"memberof": "BuiltinExternal/ECMAScriptExternal.js",
|
|
"longname": "BuiltinExternal/ECMAScriptExternal.js~Proxy",
|
|
"access": null,
|
|
"description": "",
|
|
"builtinExternal": true
|
|
},
|
|
{
|
|
"__docId__": 1091,
|
|
"kind": "external",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "CanvasRenderingContext2D",
|
|
"externalLink": "https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D",
|
|
"memberof": "BuiltinExternal/WebAPIExternal.js",
|
|
"longname": "BuiltinExternal/WebAPIExternal.js~CanvasRenderingContext2D",
|
|
"access": null,
|
|
"description": "",
|
|
"builtinExternal": true
|
|
},
|
|
{
|
|
"__docId__": 1092,
|
|
"kind": "external",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "DocumentFragment",
|
|
"externalLink": "https://developer.mozilla.org/en-US/docs/Web/API/DocumentFragment",
|
|
"memberof": "BuiltinExternal/WebAPIExternal.js",
|
|
"longname": "BuiltinExternal/WebAPIExternal.js~DocumentFragment",
|
|
"access": null,
|
|
"description": "",
|
|
"builtinExternal": true
|
|
},
|
|
{
|
|
"__docId__": 1093,
|
|
"kind": "external",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "Element",
|
|
"externalLink": "https://developer.mozilla.org/en-US/docs/Web/API/Element",
|
|
"memberof": "BuiltinExternal/WebAPIExternal.js",
|
|
"longname": "BuiltinExternal/WebAPIExternal.js~Element",
|
|
"access": null,
|
|
"description": "",
|
|
"builtinExternal": true
|
|
},
|
|
{
|
|
"__docId__": 1094,
|
|
"kind": "external",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "Event",
|
|
"externalLink": "https://developer.mozilla.org/en-US/docs/Web/API/Event",
|
|
"memberof": "BuiltinExternal/WebAPIExternal.js",
|
|
"longname": "BuiltinExternal/WebAPIExternal.js~Event",
|
|
"access": null,
|
|
"description": "",
|
|
"builtinExternal": true
|
|
},
|
|
{
|
|
"__docId__": 1095,
|
|
"kind": "external",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "Node",
|
|
"externalLink": "https://developer.mozilla.org/en-US/docs/Web/API/Node",
|
|
"memberof": "BuiltinExternal/WebAPIExternal.js",
|
|
"longname": "BuiltinExternal/WebAPIExternal.js~Node",
|
|
"access": null,
|
|
"description": "",
|
|
"builtinExternal": true
|
|
},
|
|
{
|
|
"__docId__": 1096,
|
|
"kind": "external",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "NodeList",
|
|
"externalLink": "https://developer.mozilla.org/en-US/docs/Web/API/NodeList",
|
|
"memberof": "BuiltinExternal/WebAPIExternal.js",
|
|
"longname": "BuiltinExternal/WebAPIExternal.js~NodeList",
|
|
"access": null,
|
|
"description": "",
|
|
"builtinExternal": true
|
|
},
|
|
{
|
|
"__docId__": 1097,
|
|
"kind": "external",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "XMLHttpRequest",
|
|
"externalLink": "https://developer.mozilla.org/en/docs/Web/API/XMLHttpRequest",
|
|
"memberof": "BuiltinExternal/WebAPIExternal.js",
|
|
"longname": "BuiltinExternal/WebAPIExternal.js~XMLHttpRequest",
|
|
"access": null,
|
|
"description": "",
|
|
"builtinExternal": true
|
|
},
|
|
{
|
|
"__docId__": 1098,
|
|
"kind": "external",
|
|
"static": true,
|
|
"variation": null,
|
|
"name": "AudioContext",
|
|
"externalLink": "https://developer.mozilla.org/en/docs/Web/API/AudioContext",
|
|
"memberof": "BuiltinExternal/WebAPIExternal.js",
|
|
"longname": "BuiltinExternal/WebAPIExternal.js~AudioContext",
|
|
"access": null,
|
|
"description": "",
|
|
"builtinExternal": true
|
|
}
|
|
] |