From e9181f19d7b61daca90564dc8bddead548ad22ae Mon Sep 17 00:00:00 2001 From: Laurent Nguyen Date: Wed, 3 Jan 2024 13:52:34 +0000 Subject: [PATCH] Fix datatables issue and indicator not loading for Table API > Entities. Upgrade jquery. Fix right panel resize issue. (#1713) * Fix datatables issue and indicator not loading for Table API > Entities * Fix jquery and datatables compile issues. Add patch for datatables.net-colreorder error in types * Fix side panel size. Fix bug resizing side panel. * Update PanelContainerComponent unit test snapshot * Fix commented code --- package-lock.json | 1406 ++++-------- package.json | 17 +- patches/datatables.net-colreorder+1.7.0.patch | 22 + src/Definitions/datatables.d.ts | 1954 ----------------- src/Definitions/jquery-typescript.d.ts | 2 +- src/Definitions/jquery-ui.d.ts | 2 +- src/Definitions/jquery.d.ts | 1890 ---------------- .../GraphExplorerComponent/GraphExplorer.tsx | 15 +- .../Panes/PanelContainerComponent.tsx | 8 +- .../PanelContainerComponent.test.tsx.snap | 12 +- .../DataTable/DataTableBindingManager.ts | 8 +- .../Tables/DataTable/DataTableBuilder.ts | 15 +- .../DataTable/DataTableOperationManager.ts | 28 +- .../Tables/DataTable/DataTableOperations.ts | 41 +- .../Tables/DataTable/DataTableViewModel.ts | 13 +- .../DataTable/TableEntityListViewModel.ts | 5 +- .../QueryBuilder/QueryBuilderViewModel.ts | 3 +- .../Tables/QueryBuilder/QueryViewModel.tsx | 7 +- src/Explorer/Tables/TableDataClient.ts | 8 +- 19 files changed, 506 insertions(+), 4950 deletions(-) create mode 100644 patches/datatables.net-colreorder+1.7.0.patch delete mode 100644 src/Definitions/datatables.d.ts delete mode 100644 src/Definitions/jquery.d.ts diff --git a/package-lock.json b/package-lock.json index 46580ca79..fd4ba95b8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,6 +7,7 @@ "": { "name": "cosmos-explorer", "version": "1.0.0", + "hasInstallScript": true, "dependencies": { "@azure/arm-cosmosdb": "9.1.0", "@azure/cosmos": "4.0.0", @@ -59,8 +60,8 @@ "crossroads": "0.12.2", "css-element-queries": "1.1.1", "d3": "6.1.1", - "datatables.net-colreorder-dt": "1.5.1", - "datatables.net-dt": "1.10.19", + "datatables.net-colreorder-dt": "1.7.0", + "datatables.net-dt": "1.13.8", "date-fns": "1.29.0", "dayjs": "1.8.19", "dom-to-image": "2.6.0", @@ -75,14 +76,15 @@ "iframe-resizer-react": "1.1.0", "immutable": "4.0.0-rc.12", "is-ci": "2.0.0", - "jquery": "3.5.1", - "jquery-typeahead": "2.10.6", - "jquery-ui-dist": "1.12.1", + "jquery": "3.7.1", + "jquery-typeahead": "2.11.1", + "jquery-ui-dist": "1.13.2", "knockout": "3.5.1", "mkdirp": "1.0.4", "monaco-editor": "0.44.0", "ms": "2.1.3", "p-retry": "4.6.2", + "patch-package": "8.0.0", "plotly.js-cartesian-dist-min": "1.52.3", "post-robot": "10.0.42", "q": "1.5.1", @@ -118,11 +120,14 @@ "@types/codemirror": "0.0.56", "@types/crossroads": "0.0.30", "@types/d3": "5.9.2", + "@types/datatables.net": "1.10.28", + "@types/datatables.net-colreorder": "1.4.5", "@types/dom-to-image": "2.6.2", "@types/enzyme": "3.10.7", "@types/enzyme-adapter-react-16": "1.0.6", "@types/hasher": "0.0.31", "@types/jest": "26.0.20", + "@types/jquery": "3.5.29", "@types/node": "12.11.1", "@types/post-robot": "10.0.1", "@types/q": "1.5.1", @@ -2308,8 +2313,6 @@ "version": "7.22.15", "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.22.15.tgz", "integrity": "sha512-V3Q3EqoQdn65RCgTLwauZaTfd1ShhwPmbBv+1dkZV/HpCGMKVyn6oFcRlI7RaKqiDQjX2Qd3AuoEguBgdjIKlg==", - "dev": true, - "peer": true, "dependencies": { "clone-deep": "^4.0.1", "find-cache-dir": "^2.0.0", @@ -12553,6 +12556,25 @@ "@types/d3-selection": "*" } }, + "node_modules/@types/datatables.net": { + "version": "1.10.28", + "resolved": "https://registry.npmjs.org/@types/datatables.net/-/datatables.net-1.10.28.tgz", + "integrity": "sha512-Y6SZZCdJt7vXROaTBc/ifwhAqSBg7V0urM+RqZt3Tj9JN1U8KSgQ7EKpFG88g/j4MVrlYDfSH+yqSnK0MaIwMw==", + "dev": true, + "dependencies": { + "@types/jquery": "*" + } + }, + "node_modules/@types/datatables.net-colreorder": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/@types/datatables.net-colreorder/-/datatables.net-colreorder-1.4.5.tgz", + "integrity": "sha512-EDWfmjmy2lMh5ZZQH1zVGhdHSN6d03EGx7aaEhVoRFXHYWwZvpkrNpxDKY/jAWkBbVKWFWM/nZCAl57+DQfNMg==", + "dev": true, + "dependencies": { + "@types/datatables.net": "*", + "@types/jquery": "*" + } + }, "node_modules/@types/dom-to-image": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/@types/dom-to-image/-/dom-to-image-2.6.2.tgz", @@ -12732,6 +12754,15 @@ "pretty-format": "^26.0.0" } }, + "node_modules/@types/jquery": { + "version": "3.5.29", + "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.29.tgz", + "integrity": "sha512-oXQQC9X9MOPRrMhPHHOsXqeQDnWeCDT3PelUIg/Oy8FAbzSZtFHRjc7IpbfFVmpLtJ+UOoywpRsuO5Jxjybyeg==", + "dev": true, + "dependencies": { + "@types/sizzle": "*" + } + }, "node_modules/@types/json-schema": { "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", @@ -13561,6 +13592,12 @@ "integrity": "sha512-bnoHhhCsx0p0yhLOywFg6T7Le37JjtnzLcWal6cuSPvIZUBzKRIsqM6E5OsKUIRVErCaBCghHIZmqtyGk5uXyA==", "dev": true }, + "node_modules/@types/sizzle": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.8.tgz", + "integrity": "sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg==", + "dev": true + }, "node_modules/@types/sockjs": { "version": "0.3.36", "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", @@ -14156,6 +14193,11 @@ "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" }, + "node_modules/@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==" + }, "node_modules/abab": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", @@ -14436,17 +14478,6 @@ "resolved": "https://registry.npmjs.org/anser/-/anser-1.4.10.tgz", "integrity": "sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==" }, - "node_modules/ansi-colors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", - "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", - "dependencies": { - "ansi-wrap": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/ansi-escapes": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", @@ -14504,17 +14535,6 @@ "node": ">=6" } }, - "node_modules/ansi-gray": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", - "integrity": "sha512-HrgGIZUl8h2EHuZaU9hTR/cU5nhKxpVE1V6kdGsQ8e4zirElJ5fvtfc8N7Q1oq1aatO275i8pUFUCpNWCAnVWw==", - "dependencies": { - "ansi-wrap": "0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/ansi-html-community": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", @@ -14559,14 +14579,6 @@ "react-dom": "^16.3.2 || ^17.0.0" } }, - "node_modules/ansi-wrap": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", - "integrity": "sha512-ZyznvL8k/FZeQHr2T6LzcJ/+vBApDnMNZvfVFy3At0knswWd6rJ3/0Hhmpu8oqa6C92npmozs890sX9Dl6q+Qw==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/antlr4": { "version": "4.7.1", "resolved": "https://registry.npmjs.org/antlr4/-/antlr4-4.7.1.tgz", @@ -14631,7 +14643,8 @@ "node_modules/archy": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==" + "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==", + "dev": true }, "node_modules/are-we-there-yet": { "version": "1.1.7", @@ -14696,14 +14709,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/array-each": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", - "integrity": "sha512-zHjL5SZa68hkKHBFBK6DJCTtr9sfTCPCaph/L7tMSLcTFgy+zX7E+6q5UArbtOtMBCtxdICpfTCspRse+ywyXA==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/array-equal": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.2.tgz", @@ -14742,27 +14747,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/array-slice": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", - "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-sort": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-sort/-/array-sort-1.0.0.tgz", - "integrity": "sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg==", - "dependencies": { - "default-compare": "^1.0.0", - "get-value": "^2.0.6", - "kind-of": "^5.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/array-union": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", @@ -14998,6 +14982,14 @@ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "engines": { + "node": ">= 4.0.0" + } + }, "node_modules/atob": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", @@ -16372,7 +16364,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, "dependencies": { "is-plain-object": "^2.0.4", "kind-of": "^6.0.2", @@ -16386,7 +16377,6 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, "dependencies": { "isobject": "^3.0.1" }, @@ -16398,7 +16388,6 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -16429,6 +16418,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", + "optional": true, "engines": { "node": ">=0.10.0" } @@ -16482,6 +16472,9 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true, + "optional": true, + "peer": true, "bin": { "color-support": "bin.js" } @@ -16527,8 +16520,7 @@ "node_modules/commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "dev": true + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" }, "node_modules/component-emitter": { "version": "1.3.1", @@ -16615,20 +16607,6 @@ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, - "node_modules/concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "engines": [ - "node >= 0.8" - ], - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, "node_modules/connect": { "version": "3.7.0", "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", @@ -16777,15 +16755,6 @@ "node": ">=0.10.0" } }, - "node_modules/copy-props": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/copy-props/-/copy-props-2.0.5.tgz", - "integrity": "sha512-XBlx8HSqrT0ObQwmSzM7WE5k8FxTV75h1DX1Z3n6NhQ/UYYAvInWYmG06vFt7hQZArE2fuO62aihiWIVQwh1sw==", - "dependencies": { - "each-props": "^1.3.2", - "is-plain-object": "^5.0.0" - } - }, "node_modules/copy-webpack-plugin": { "version": "11.0.0", "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", @@ -16999,7 +16968,8 @@ "node_modules/core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "devOptional": true }, "node_modules/cosmiconfig": { "version": "5.2.1", @@ -17346,15 +17316,6 @@ "node": ">=0.8" } }, - "node_modules/d": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", - "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", - "dependencies": { - "es5-ext": "^0.10.50", - "type": "^1.0.1" - } - }, "node_modules/d3": { "version": "6.1.1", "resolved": "https://registry.npmjs.org/d3/-/d3-6.1.1.tgz", @@ -17752,38 +17713,30 @@ } }, "node_modules/datatables.net-colreorder": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/datatables.net-colreorder/-/datatables.net-colreorder-1.5.1.tgz", - "integrity": "sha512-nKV0ZBOdOG+CCrtDZZlTOvhu9NC53pr4rYR8Xhd3KIKipLZohWWdBoOFGMu+VKDvllg2Xj79oS/wicYSiNyteA==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/datatables.net-colreorder/-/datatables.net-colreorder-1.7.0.tgz", + "integrity": "sha512-Vyysfxe2kfjeuPJJMGRQ2jHVOfoadyBYKzizbOHzR2bhTVsIYjrbEhUA1H24TISE17SdR77X0RmcUvS/h/Bifw==", "dependencies": { - "datatables.net": "^1.10.15", + "datatables.net": ">=1.13.4", "jquery": ">=1.7" } }, "node_modules/datatables.net-colreorder-dt": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/datatables.net-colreorder-dt/-/datatables.net-colreorder-dt-1.5.1.tgz", - "integrity": "sha512-V8WXOBZbaNCYz7TApHkox746RX96JMPykfn3I2M2v605BrfyqiGet2bTxrdHieLVea1uyAyqyc00Od/dZ67HjQ==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/datatables.net-colreorder-dt/-/datatables.net-colreorder-dt-1.7.0.tgz", + "integrity": "sha512-MvLGtux73Fpvy38a3Hx0TnG56XEtHxR21mJZSAIcpBikEndHQIskTC1FuR0wypnvjAyaw7WFWhKmeyMUlq7FQw==", "dependencies": { - "datatables.net-colreorder": "1.5.1", - "datatables.net-dt": "^1.10.15", + "datatables.net-colreorder": ">=1.6.2", + "datatables.net-dt": ">=1.13.4", "jquery": ">=1.7" } }, "node_modules/datatables.net-dt": { - "version": "1.10.19", - "resolved": "https://registry.npmjs.org/datatables.net-dt/-/datatables.net-dt-1.10.19.tgz", - "integrity": "sha512-joFHYjLYvr9VnC9Fx3e+8jtXnQ/fP/mPFWt9p0NhZ3Zm5N0jlYyWhJQbnLkihOLuDcDFMaGdBQSvmIdTVdgGyw==", - "dependencies": { - "datatables.net": "1.10.19", - "jquery": ">=1.7" - } - }, - "node_modules/datatables.net-dt/node_modules/datatables.net": { - "version": "1.10.19", - "resolved": "https://registry.npmjs.org/datatables.net/-/datatables.net-1.10.19.tgz", - "integrity": "sha512-+ljXcI6Pj3PTGy5pesp3E5Dr3x3AV45EZe0o1r0gKENN2gafBKXodVnk2ypKwl2tTmivjxbkiqoWnipTefyBTA==", + "version": "1.13.8", + "resolved": "https://registry.npmjs.org/datatables.net-dt/-/datatables.net-dt-1.13.8.tgz", + "integrity": "sha512-/ZPzr1hQ+domerlg/MbcQHqeeqxK9fsZmpRs1YeKxsdfr+UyHQTUiiOO7RqekppSLc7MPqxGnzKkCX9vAgqm0w==", "dependencies": { + "datatables.net": "1.13.8", "jquery": ">=1.7" } }, @@ -17917,17 +17870,6 @@ "node": ">=0.10.0" } }, - "node_modules/default-compare": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/default-compare/-/default-compare-1.0.0.tgz", - "integrity": "sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ==", - "dependencies": { - "kind-of": "^5.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/default-gateway": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", @@ -18210,14 +18152,6 @@ "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/detect-file": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", - "integrity": "sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/detect-libc": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", @@ -18518,26 +18452,6 @@ "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", "dev": true }, - "node_modules/each-props": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/each-props/-/each-props-1.3.2.tgz", - "integrity": "sha512-vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA==", - "dependencies": { - "is-plain-object": "^2.0.1", - "object.defaults": "^1.1.0" - } - }, - "node_modules/each-props/node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", @@ -18937,45 +18851,12 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/es5-ext": { - "version": "0.10.62", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz", - "integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==", - "hasInstallScript": true, - "dependencies": { - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.3", - "next-tick": "^1.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, "node_modules/es6-error": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", "dev": true }, - "node_modules/es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", - "dependencies": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" - } - }, - "node_modules/es6-symbol": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", - "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", - "dependencies": { - "d": "^1.0.1", - "ext": "^1.1.2" - } - }, "node_modules/es6-templates": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/es6-templates/-/es6-templates-0.2.3.tgz", @@ -19865,17 +19746,6 @@ "node": ">=6" } }, - "node_modules/expand-tilde": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", - "integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==", - "dependencies": { - "homedir-polyfill": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/expect": { "version": "26.6.2", "resolved": "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz", @@ -20099,19 +19969,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/ext": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", - "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", - "dependencies": { - "type": "^2.7.2" - } - }, - "node_modules/ext/node_modules/type": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", - "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==" - }, "node_modules/extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", @@ -20205,20 +20062,6 @@ "node >=0.6.0" ] }, - "node_modules/fancy-log": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz", - "integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==", - "dependencies": { - "ansi-gray": "^0.1.1", - "color-support": "^1.1.3", - "parse-node-version": "^1.0.0", - "time-stamp": "^1.0.0" - }, - "engines": { - "node": ">= 0.10" - } - }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -20517,7 +20360,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, "dependencies": { "commondir": "^1.0.1", "make-dir": "^2.0.0", @@ -20656,103 +20498,65 @@ "node": ">=6" } }, - "node_modules/findup-sync": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", - "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", + "node_modules/find-yarn-workspace-root": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz", + "integrity": "sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==", "dependencies": { - "detect-file": "^1.0.0", - "is-glob": "^4.0.0", - "micromatch": "^3.0.4", - "resolve-dir": "^1.0.1" - }, - "engines": { - "node": ">= 0.10" + "micromatch": "^4.0.2" } }, - "node_modules/findup-sync/node_modules/global-modules": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", - "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "node_modules/find-yarn-workspace-root/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dependencies": { - "global-prefix": "^1.0.1", - "is-windows": "^1.0.1", - "resolve-dir": "^1.0.0" + "fill-range": "^7.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/findup-sync/node_modules/global-prefix": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", - "integrity": "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==", + "node_modules/find-yarn-workspace-root/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dependencies": { - "expand-tilde": "^2.0.2", - "homedir-polyfill": "^1.0.1", - "ini": "^1.3.4", - "is-windows": "^1.0.1", - "which": "^1.2.14" + "to-regex-range": "^5.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/findup-sync/node_modules/resolve-dir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", - "integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==", + "node_modules/find-yarn-workspace-root/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/find-yarn-workspace-root/node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dependencies": { - "expand-tilde": "^2.0.0", - "global-modules": "^1.0.0" + "braces": "^3.0.2", + "picomatch": "^2.3.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=8.6" } }, - "node_modules/findup-sync/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "node_modules/find-yarn-workspace-root/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/fined": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz", - "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==", - "dependencies": { - "expand-tilde": "^2.0.2", - "is-plain-object": "^2.0.3", - "object.defaults": "^1.1.0", - "object.pick": "^1.2.0", - "parse-filepath": "^1.0.1" + "is-number": "^7.0.0" }, "engines": { - "node": ">= 0.10" - } - }, - "node_modules/fined/node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/flagged-respawn": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz", - "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==", - "engines": { - "node": ">= 0.10" + "node": ">=8.0" } }, "node_modules/flat": { @@ -20848,17 +20652,6 @@ "node": ">=0.10.0" } }, - "node_modules/for-own": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", - "integrity": "sha512-0OABksIGrxKK8K4kynWkQ7y1zounQxP+CWnyclVwj81KW3vlLlGUx57DKGcP/LH216GzqnstnPocF16Nxs0Ycg==", - "dependencies": { - "for-in": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/foreground-child": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", @@ -21490,17 +21283,6 @@ "node": ">=8.0" } }, - "node_modules/glogg": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.2.tgz", - "integrity": "sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==", - "dependencies": { - "sparkles": "^1.0.0" - }, - "engines": { - "node": ">= 0.10" - } - }, "node_modules/good-listener": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz", @@ -21541,215 +21323,6 @@ "resolved": "https://registry.npmjs.org/gud/-/gud-1.0.0.tgz", "integrity": "sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw==" }, - "node_modules/gulp-cli": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-2.3.0.tgz", - "integrity": "sha512-zzGBl5fHo0EKSXsHzjspp3y5CONegCm8ErO5Qh0UzFzk2y4tMvzLWhoDokADbarfZRL2pGpRp7yt6gfJX4ph7A==", - "dependencies": { - "ansi-colors": "^1.0.1", - "archy": "^1.0.0", - "array-sort": "^1.0.0", - "color-support": "^1.1.3", - "concat-stream": "^1.6.0", - "copy-props": "^2.0.1", - "fancy-log": "^1.3.2", - "gulplog": "^1.0.0", - "interpret": "^1.4.0", - "isobject": "^3.0.1", - "liftoff": "^3.1.0", - "matchdep": "^2.0.0", - "mute-stdout": "^1.0.0", - "pretty-hrtime": "^1.0.0", - "replace-homedir": "^1.0.0", - "semver-greatest-satisfied-range": "^1.1.0", - "v8flags": "^3.2.0", - "yargs": "^7.1.0" - }, - "bin": { - "gulp": "bin/gulp.js" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/gulp-cli/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gulp-cli/node_modules/camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha512-4nhGqUkc4BqbBBB4Q6zLuD7lzzrHYrjKGeYaEji/3tFR5VdJu9v+LilhGIVe8wxEJPPOeWo7eg8dwY13TZ1BNg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gulp-cli/node_modules/cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha512-0yayqDxWQbqk3ojkYqUKqaAQ6AfNKeKWRNA8kR0WXzAsdHpP4BIaOmMAG87JGuO6qcobyW4GjxHd9PmhEd+T9w==", - "dependencies": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" - } - }, - "node_modules/gulp-cli/node_modules/find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==", - "dependencies": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gulp-cli/node_modules/get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" - }, - "node_modules/gulp-cli/node_modules/path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==", - "dependencies": { - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gulp-cli/node_modules/path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==", - "dependencies": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gulp-cli/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gulp-cli/node_modules/read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==", - "dependencies": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gulp-cli/node_modules/read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==", - "dependencies": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gulp-cli/node_modules/require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug==" - }, - "node_modules/gulp-cli/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gulp-cli/node_modules/which-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha512-F6+WgncZi/mJDrammbTuHe1q0R5hOXv/mBaiNA2TCNT/LTHusX0V+CJnj9XT8ki5ln2UZyyddDgHfCzyrOH7MQ==" - }, - "node_modules/gulp-cli/node_modules/wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw==", - "dependencies": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gulp-cli/node_modules/y18n": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", - "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==" - }, - "node_modules/gulp-cli/node_modules/yargs": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.2.tgz", - "integrity": "sha512-ZEjj/dQYQy0Zx0lgLMLR8QuaqTihnxirir7EwUHp1Axq4e3+k8jXU5K0VLbNvedv1f4EWtBonDIZm0NUr+jCcA==", - "dependencies": { - "camelcase": "^3.0.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^1.0.2", - "which-module": "^1.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^5.0.1" - } - }, - "node_modules/gulp-cli/node_modules/yargs-parser": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.1.tgz", - "integrity": "sha512-wpav5XYiddjXxirPoCTUPbqM0PXvJ9hiBMvuJgInvo4/lAOTZzUprArw17q2O1P2+GHhbBr18/iQwjL5Z9BqfA==", - "dependencies": { - "camelcase": "^3.0.0", - "object.assign": "^4.1.0" - } - }, - "node_modules/gulplog": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", - "integrity": "sha512-hm6N8nrm3Y08jXie48jsC55eCZz9mnb4OirAStEk2deqeyhXU3C1otDVh+ccttMuc1sBi6RX6ZJ720hs9RCvgw==", - "dependencies": { - "glogg": "^1.0.0" - }, - "engines": { - "node": ">= 0.10" - } - }, "node_modules/gzip-size": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz", @@ -22077,6 +21650,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, "dependencies": { "parse-passwd": "^1.0.0" }, @@ -22897,7 +22471,8 @@ "node_modules/ini": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "devOptional": true }, "node_modules/internal-slot": { "version": "1.0.6", @@ -22917,14 +22492,6 @@ "resolved": "https://registry.npmjs.org/internmap/-/internmap-1.0.1.tgz", "integrity": "sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==" }, - "node_modules/interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "engines": { - "node": ">= 0.10" - } - }, "node_modules/invariant": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", @@ -22933,14 +22500,6 @@ "loose-envify": "^1.0.0" } }, - "node_modules/invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/ip": { "version": "1.1.8", "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", @@ -22957,18 +22516,6 @@ "node": ">= 10" } }, - "node_modules/is-absolute": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", - "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", - "dependencies": { - "is-relative": "^1.0.0", - "is-windows": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-accessor-descriptor": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz", @@ -23240,6 +22787,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "optional": true, "dependencies": { "number-is-nan": "^1.0.0" }, @@ -23429,17 +22977,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-relative": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", - "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", - "dependencies": { - "is-unc-path": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-root": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", @@ -23533,17 +23070,6 @@ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" }, - "node_modules/is-unc-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", - "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", - "dependencies": { - "unc-path-regex": "^0.1.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-unicode-supported": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", @@ -23557,11 +23083,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==" - }, "node_modules/is-weakmap": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", @@ -28693,25 +28214,27 @@ "dev": true }, "node_modules/jquery": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.5.1.tgz", - "integrity": "sha512-XwIBPqcMn57FxfT+Go5pzySnm4KWkT1Tv7gjrpT1srtf8Weynl6R273VJ5GjkRb51IzMp5nbaPjJXMWeju2MKg==" + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz", + "integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==" }, "node_modules/jquery-typeahead": { - "version": "2.10.6", - "resolved": "https://registry.npmjs.org/jquery-typeahead/-/jquery-typeahead-2.10.6.tgz", - "integrity": "sha512-pi1qjx31Y0FfRXU/NrgIQ552x07pY4T+UsMe5T+gwmdENWcKAtxhxkkjy/B/GZaqDv2tBtWK1qNew5s8Y94tXw==", + "version": "2.11.1", + "resolved": "https://registry.npmjs.org/jquery-typeahead/-/jquery-typeahead-2.11.1.tgz", + "integrity": "sha512-iuNRruN5bWtck+VPxdCTijD6BD9bVuBj3NCD25vITOdMb7P3fYlkBWcmnLEazD8O+VAtbcJ9aLxRi+qrpopNZA==", "dependencies": { - "gulp-cli": "^2.0.1", + "@babel/register": "^7.6.2", "jquery": ">=1.7.2", - "lz-string": "^1.4.4", - "uglify-save-license": "^0.4.1" + "lz-string": "^1.4.4" } }, "node_modules/jquery-ui-dist": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/jquery-ui-dist/-/jquery-ui-dist-1.12.1.tgz", - "integrity": "sha512-UnQQWIvxaP7s13FLx37WufEwDYLSXKpp9JHrqEYTP6GqQNM+RMVEwsJMoc163QlzEaAV5YVfWlgQU5FPjKBtSw==" + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/jquery-ui-dist/-/jquery-ui-dist-1.13.2.tgz", + "integrity": "sha512-oVDRd1NLtTbBwpRKAYdIRgpWVDzeBhfy7Gu0RmY6JEaZtmBq6kDn1pm5SgDiAotrnDS+RoTRXO6xvcNTxA9tOA==", + "dependencies": { + "jquery": ">=1.8.0 <4.0.0" + } }, "node_modules/js-cookie": { "version": "2.2.1", @@ -29223,11 +28746,33 @@ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, + "node_modules/json-stable-stringify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.1.0.tgz", + "integrity": "sha512-zfA+5SuwYN2VWqN1/5HZaDzQKLJHaBVMZIIM+wuYjdptkaQsqzDdqjqf+lZZJUuJq1aanHiY8LhH8LmH+qBYJA==", + "dependencies": { + "call-bind": "^1.0.5", + "isarray": "^2.0.5", + "jsonify": "^0.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" }, + "node_modules/json-stable-stringify/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + }, "node_modules/json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", @@ -29259,6 +28804,14 @@ "graceful-fs": "^4.1.6" } }, + "node_modules/jsonify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", + "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/jsonpointer": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", @@ -29390,12 +28943,12 @@ "json-buffer": "3.0.1" } }, - "node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "engines": { - "node": ">=0.10.0" + "node_modules/klaw-sync": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz", + "integrity": "sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==", + "dependencies": { + "graceful-fs": "^4.1.11" } }, "node_modules/kleur": { @@ -29443,17 +28996,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw==", - "dependencies": { - "invert-kv": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/leaflet": { "version": "1.9.4", "resolved": "https://registry.npmjs.org/leaflet/-/leaflet-1.9.4.tgz", @@ -29646,86 +29188,12 @@ "node": ">= 0.8.0" } }, - "node_modules/liftoff": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-3.1.0.tgz", - "integrity": "sha512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog==", - "dependencies": { - "extend": "^3.0.0", - "findup-sync": "^3.0.0", - "fined": "^1.0.1", - "flagged-respawn": "^1.0.0", - "is-plain-object": "^2.0.4", - "object.map": "^1.0.0", - "rechoir": "^0.6.2", - "resolve": "^1.1.7" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/liftoff/node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "devOptional": true }, - "node_modules/load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==", - "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/load-json-file/node_modules/parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", - "dependencies": { - "error-ex": "^1.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/load-json-file/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/load-json-file/node_modules/strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==", - "dependencies": { - "is-utf8": "^0.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/load-script": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/load-script/-/load-script-1.0.0.tgz", @@ -30107,25 +29575,6 @@ "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" }, - "node_modules/make-iterator": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", - "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", - "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/make-iterator/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/makeerror": { "version": "1.0.12", "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", @@ -30183,96 +29632,6 @@ "tinyqueue": "^1.1.0" } }, - "node_modules/matchdep": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/matchdep/-/matchdep-2.0.0.tgz", - "integrity": "sha512-LFgVbaHIHMqCRuCZyfCtUOq9/Lnzhi7Z0KFUE2fhD54+JN2jLh3hC02RLkqauJ3U4soU6H1J3tfj/Byk7GoEjA==", - "dependencies": { - "findup-sync": "^2.0.0", - "micromatch": "^3.0.4", - "resolve": "^1.4.0", - "stack-trace": "0.0.10" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/matchdep/node_modules/findup-sync": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", - "integrity": "sha512-vs+3unmJT45eczmcAZ6zMJtxN3l/QXeccaXQx5cu/MeJMhewVfoWZqibRkOxPnmoR59+Zy5hjabfQc6JLSah4g==", - "dependencies": { - "detect-file": "^1.0.0", - "is-glob": "^3.1.0", - "micromatch": "^3.0.4", - "resolve-dir": "^1.0.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/matchdep/node_modules/global-modules": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", - "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", - "dependencies": { - "global-prefix": "^1.0.1", - "is-windows": "^1.0.1", - "resolve-dir": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/matchdep/node_modules/global-prefix": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", - "integrity": "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==", - "dependencies": { - "expand-tilde": "^2.0.2", - "homedir-polyfill": "^1.0.1", - "ini": "^1.3.4", - "is-windows": "^1.0.1", - "which": "^1.2.14" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/matchdep/node_modules/is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", - "dependencies": { - "is-extglob": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/matchdep/node_modules/resolve-dir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", - "integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==", - "dependencies": { - "expand-tilde": "^2.0.0", - "global-modules": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/matchdep/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, "node_modules/material-colors": { "version": "1.2.6", "resolved": "https://registry.npmjs.org/material-colors/-/material-colors-1.2.6.tgz", @@ -32311,14 +31670,6 @@ "multicast-dns": "cli.js" } }, - "node_modules/mute-stdout": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-1.0.1.tgz", - "integrity": "sha512-kDcwXR4PS7caBpuRYYBUz9iVixUk3anO3f5OYFiIPwK/20vCzKCHyKoulbiDY1S53zD2bxUpxN/IJ+TnXjfvxg==", - "engines": { - "node": ">= 0.10" - } - }, "node_modules/nan": { "version": "2.18.0", "resolved": "https://registry.npmjs.org/nan/-/nan-2.18.0.tgz", @@ -32424,11 +31775,6 @@ "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" }, - "node_modules/next-tick": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", - "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" - }, "node_modules/nice-try": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", @@ -32699,6 +32045,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", + "optional": true, "engines": { "node": ">=0.10.0" } @@ -33047,20 +32394,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object.defaults": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", - "integrity": "sha512-c/K0mw/F11k4dEUBMW8naXUuBuhxRCfG7W+yFy8EcijU/rSmazOUd1XAEEe6bC0OuXY4HUKjTJv7xbxIMqdxrA==", - "dependencies": { - "array-each": "^1.0.1", - "array-slice": "^1.0.0", - "for-own": "^1.0.0", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/object.entries": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.7.tgz", @@ -33120,18 +32453,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object.map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", - "integrity": "sha512-3+mAJu2PLfnSVGHwIWubpOFLscJANBKuB/6A4CxBstc4aqwQY0FWcsppuy4jU5GSB95yES5JHSI+33AWuS4k6w==", - "dependencies": { - "for-own": "^1.0.0", - "make-iterator": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/object.pick": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", @@ -33358,17 +32679,6 @@ "node": ">=0.10.0" } }, - "node_modules/os-locale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha512-PRT7ZORmwu2MEFt4/fv3Q+mEfN4zetKxufQrkShY2oGvUms9r8otu5HfdyIFHkYXjO7laNsoVGmM2MANfuTA8g==", - "dependencies": { - "lcid": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/os-name": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/os-name/-/os-name-3.1.0.tgz", @@ -33381,6 +32691,14 @@ "node": ">=6" } }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/p-each-series": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", @@ -33510,19 +32828,6 @@ "is-hexadecimal": "^1.0.0" } }, - "node_modules/parse-filepath": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", - "integrity": "sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==", - "dependencies": { - "is-absolute": "^1.0.0", - "map-cache": "^0.2.0", - "path-root": "^0.1.1" - }, - "engines": { - "node": ">=0.8" - } - }, "node_modules/parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -33541,18 +32846,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/parse-node-version": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", - "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", - "engines": { - "node": ">= 0.10" - } - }, "node_modules/parse-passwd": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -33639,6 +32937,187 @@ "node": ">=0.10.0" } }, + "node_modules/patch-package": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/patch-package/-/patch-package-8.0.0.tgz", + "integrity": "sha512-da8BVIhzjtgScwDJ2TtKsfT5JFWz1hYoBl9rUQ1f38MC2HwnEIkK8VN3dKMKcP7P7bvvgzNDbfNHtx3MsQb5vA==", + "dependencies": { + "@yarnpkg/lockfile": "^1.1.0", + "chalk": "^4.1.2", + "ci-info": "^3.7.0", + "cross-spawn": "^7.0.3", + "find-yarn-workspace-root": "^2.0.0", + "fs-extra": "^9.0.0", + "json-stable-stringify": "^1.0.2", + "klaw-sync": "^6.0.0", + "minimist": "^1.2.6", + "open": "^7.4.2", + "rimraf": "^2.6.3", + "semver": "^7.5.3", + "slash": "^2.0.0", + "tmp": "^0.0.33", + "yaml": "^2.2.2" + }, + "bin": { + "patch-package": "index.js" + }, + "engines": { + "node": ">=14", + "npm": ">5" + } + }, + "node_modules/patch-package/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/patch-package/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/patch-package/node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/patch-package/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/patch-package/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/patch-package/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/patch-package/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/patch-package/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/patch-package/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/patch-package/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/patch-package/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/patch-package/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/patch-package/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/patch-package/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, "node_modules/path": { "version": "0.12.7", "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz", @@ -33688,25 +33167,6 @@ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, - "node_modules/path-root": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", - "integrity": "sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==", - "dependencies": { - "path-root-regex": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-root-regex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", - "integrity": "sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/path-to-regexp": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", @@ -34246,14 +33706,6 @@ "node": ">=8" } }, - "node_modules/pretty-hrtime": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", - "integrity": "sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/priorityqueuejs": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/priorityqueuejs/-/priorityqueuejs-1.0.0.tgz", @@ -34287,7 +33739,8 @@ "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "devOptional": true }, "node_modules/process-on-spawn": { "version": "1.0.0", @@ -35424,6 +34877,7 @@ "version": "2.3.8", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "devOptional": true, "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -35437,7 +34891,8 @@ "node_modules/readable-stream/node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "devOptional": true }, "node_modules/readdirp": { "version": "3.6.0", @@ -35484,17 +34939,6 @@ "node": ">= 0.8" } }, - "node_modules/rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", - "dependencies": { - "resolve": "^1.1.6" - }, - "engines": { - "node": ">= 0.10" - } - }, "node_modules/recursive-readdir": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz", @@ -35907,19 +35351,6 @@ "node": ">= 0.10" } }, - "node_modules/replace-homedir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/replace-homedir/-/replace-homedir-1.0.0.tgz", - "integrity": "sha512-CHPV/GAglbIB1tnQgaiysb8H2yCy8WQ7lcEwQ/eT+kLj0QHV8LnJW0zpqpE7RSkrMSRoa+EBoag86clf7WAgSg==", - "dependencies": { - "homedir-polyfill": "^1.0.1", - "is-absolute": "^1.0.0", - "remove-trailing-separator": "^1.1.0" - }, - "engines": { - "node": ">= 0.10" - } - }, "node_modules/request": { "version": "2.88.2", "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", @@ -36702,17 +36133,6 @@ "semver": "bin/semver" } }, - "node_modules/semver-greatest-satisfied-range": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz", - "integrity": "sha512-Ny/iyOzSSa8M5ML46IAx3iXc6tfOsYU2R4AXi2UpHk60Zrgyq6eqPj/xiOfS0rRl/iiQ/rdJkVjw/5cdUyCntQ==", - "dependencies": { - "sver-compat": "^1.5.0" - }, - "engines": { - "node": ">= 0.10" - } - }, "node_modules/send": { "version": "0.18.0", "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", @@ -36949,7 +36369,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dev": true, "dependencies": { "kind-of": "^6.0.2" }, @@ -36961,7 +36380,6 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -37350,14 +36768,6 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/sparkles": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz", - "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==", - "engines": { - "node": ">= 0.10" - } - }, "node_modules/spawn-wrap": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", @@ -37529,14 +36939,6 @@ "resolved": "https://registry.npmjs.org/stack-chain/-/stack-chain-1.3.7.tgz", "integrity": "sha512-D8cWtWVdIe/jBA7v5p5Hwl5yOSOrmZPWDPe2KxQ5UAGD+nxbxU0lKXA4h85Ta6+qgdKVL3vUxsbIZjc1kBG7ug==" }, - "node_modules/stack-trace": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", - "integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==", - "engines": { - "node": "*" - } - }, "node_modules/stack-utils": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", @@ -37653,6 +37055,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "devOptional": true, "dependencies": { "safe-buffer": "~5.1.0" } @@ -37660,7 +37063,8 @@ "node_modules/string_decoder/node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "devOptional": true }, "node_modules/string-length": { "version": "4.0.2", @@ -37679,6 +37083,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", + "optional": true, "dependencies": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -37692,6 +37097,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "optional": true, "engines": { "node": ">=0.10.0" } @@ -37700,6 +37106,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "optional": true, "dependencies": { "ansi-regex": "^2.0.0" }, @@ -37954,15 +37361,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/sver-compat": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/sver-compat/-/sver-compat-1.5.0.tgz", - "integrity": "sha512-aFTHfmjwizMNlNE6dsGmoAM4lHjL0CyiobWaFiXWSlD7cIxshW422Nb8KbXCmR6z+0ZEPY+daXJrDyh/vuwTyg==", - "dependencies": { - "es6-iterator": "^2.0.1", - "es6-symbol": "^3.1.1" - } - }, "node_modules/svg-path-bounding-box": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/svg-path-bounding-box/-/svg-path-bounding-box-1.0.4.tgz", @@ -38377,14 +37775,6 @@ "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", "dev": true }, - "node_modules/time-stamp": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", - "integrity": "sha512-gLCeArryy2yNTRzTGKbZbloctj64jkZ57hj5zdraXue6aFgd6PmvVtEyiUU+hvU0v7q08oVv8r8ev0tRo6bvgw==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/tiny-emitter": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz", @@ -38401,6 +37791,17 @@ "resolved": "https://registry.npmjs.org/tinyqueue/-/tinyqueue-1.2.3.tgz", "integrity": "sha512-Qz9RgWuO9l8lT+Y9xvbzhPT2efIUIFd69N7eF7tJ9lnQl0iLj1M7peK7IoUGZL9DJHw9XftqLreccfxcQgYLxA==" }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, "node_modules/tmpl": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", @@ -38775,11 +38176,6 @@ "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" }, - "node_modules/type": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", - "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" - }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -38891,11 +38287,6 @@ "resolved": "https://registry.npmjs.org/typed-styles/-/typed-styles-0.0.7.tgz", "integrity": "sha512-pzP0PWoZUhsECYjABgCGQlRGL1n7tOHsgwYv3oIiEpJwGhFTuty/YNeduxQYzXXa3Ge5BdT6sHYIQYpl4uJ+5Q==" }, - "node_modules/typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" - }, "node_modules/typedarray-to-buffer": { "version": "3.1.5", "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", @@ -39031,11 +38422,6 @@ "node": ">=0.10.0" } }, - "node_modules/uglify-save-license": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/uglify-save-license/-/uglify-save-license-0.4.1.tgz", - "integrity": "sha512-ErJczQkCvQKoEk7xxIfJTGp2JHtbKr8lEPtTgeJqm3PVCdF930Ba7x+wwtj3dZKwVu7lDy2nTOwncm3qCD+RMw==" - }, "node_modules/unbox-primitive": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", @@ -39050,14 +38436,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/unc-path-regex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", - "integrity": "sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/underscore": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", @@ -39448,7 +38826,8 @@ "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "devOptional": true }, "node_modules/util.promisify": { "version": "1.1.2", @@ -39527,17 +38906,6 @@ "node": ">= 8" } }, - "node_modules/v8flags": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz", - "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==", - "dependencies": { - "homedir-polyfill": "^1.0.1" - }, - "engines": { - "node": ">= 0.10" - } - }, "node_modules/validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", @@ -40827,8 +40195,6 @@ "version": "2.3.4", "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz", "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==", - "dev": true, - "peer": true, "engines": { "node": ">= 14" } diff --git a/package.json b/package.json index 7f82b3ec3..3f4252d56 100644 --- a/package.json +++ b/package.json @@ -55,8 +55,8 @@ "crossroads": "0.12.2", "css-element-queries": "1.1.1", "d3": "6.1.1", - "datatables.net-colreorder-dt": "1.5.1", - "datatables.net-dt": "1.10.19", + "datatables.net-colreorder-dt": "1.7.0", + "datatables.net-dt": "1.13.8", "date-fns": "1.29.0", "dayjs": "1.8.19", "dom-to-image": "2.6.0", @@ -71,13 +71,14 @@ "iframe-resizer-react": "1.1.0", "immutable": "4.0.0-rc.12", "is-ci": "2.0.0", - "jquery": "3.5.1", - "jquery-typeahead": "2.10.6", - "jquery-ui-dist": "1.12.1", + "jquery": "3.7.1", + "jquery-typeahead": "2.11.1", + "jquery-ui-dist": "1.13.2", "knockout": "3.5.1", "mkdirp": "1.0.4", "monaco-editor": "0.44.0", "ms": "2.1.3", + "patch-package": "8.0.0", "p-retry": "4.6.2", "plotly.js-cartesian-dist-min": "1.52.3", "post-robot": "10.0.42", @@ -114,11 +115,14 @@ "@types/codemirror": "0.0.56", "@types/crossroads": "0.0.30", "@types/d3": "5.9.2", + "@types/datatables.net": "1.10.28", + "@types/datatables.net-colreorder": "1.4.5", "@types/dom-to-image": "2.6.2", "@types/enzyme": "3.10.7", "@types/enzyme-adapter-react-16": "1.0.6", "@types/hasher": "0.0.31", "@types/jest": "26.0.20", + "@types/jquery": "3.5.29", "@types/node": "12.11.1", "@types/post-robot": "10.0.1", "@types/q": "1.5.1", @@ -187,6 +191,7 @@ "webpack-dev-server": "4.15.1" }, "scripts": { + "postinstall": "patch-package", "start": "webpack serve --mode development", "dev": "echo \"WARNING: npm run dev has been deprecated\" && npm run build", "build:dataExplorer:ci": "npm run build:ci", @@ -233,4 +238,4 @@ "printWidth": 120, "endOfLine": "auto" } -} +} \ No newline at end of file diff --git a/patches/datatables.net-colreorder+1.7.0.patch b/patches/datatables.net-colreorder+1.7.0.patch new file mode 100644 index 000000000..b207f5446 --- /dev/null +++ b/patches/datatables.net-colreorder+1.7.0.patch @@ -0,0 +1,22 @@ +diff --git a/node_modules/datatables.net-colreorder/types/types.d.ts b/node_modules/datatables.net-colreorder/types/types.d.ts +index e5dc283..1930c2b 100644 +--- a/node_modules/datatables.net-colreorder/types/types.d.ts ++++ b/node_modules/datatables.net-colreorder/types/types.d.ts +@@ -7,7 +7,7 @@ + + /// + +-import DataTables, {Api} from 'datatables.net'; ++import DataTables, { Api } from 'datatables.net'; + + export default DataTables; + +@@ -40,6 +40,8 @@ declare module 'datatables.net' { + /** + * Create a new ColReorder instance for the target DataTable + */ ++ // Ignore this error: error TS7013: Construct signature, which lacks return-type annotation, implicitly has an 'any' return type. ++ // @ts-ignore + new (dt: Api, settings: boolean | ConfigColReorder); + + /** diff --git a/src/Definitions/datatables.d.ts b/src/Definitions/datatables.d.ts deleted file mode 100644 index fea145dda..000000000 --- a/src/Definitions/datatables.d.ts +++ /dev/null @@ -1,1954 +0,0 @@ -// Type definitions for JQuery DataTables 1.10.9 -// Project: http://www.datatables.net -// Definitions by: Kiarash Ghiaseddin , Omid Rad , Armin Sander -// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped - -// missing: -// - Static methods that are defined in JQueryStatic.fn are not typed. -// - Plugin and extension definitions are not typed. -// - Some return types are not fully wokring - -/// - -interface JQuery { - DataTable(param?: DataTables.Settings): DataTables.DataTable; -} - -//TODO: Wrong, as jquery.d.ts has no interface for fn -//interface JQueryStatic { -// dataTable: DataTables.StaticFunctions; -//} - -declare namespace DataTables { - export interface DataTable extends DataTableCore { - /** - * Get the data for the whole table. - */ - data(): DataTable; - - /** - * Order Methods / Object - */ - order: OrderMethods; - - //#region "Cell/Cells" - - /** - * Select the cell found by a cell selector - * - * @param cellSelector Cell selector. - * @param Option used to specify how the cells should be ordered, and if paging or filtering in the table should be taken into account. - */ - cell( - cellSelector: (string | Node | Function | JQuery | Object) | (string | Node | Function | JQuery | Object)[], - modifier?: ObjectSelectorModifier, - ): CellMethods; - - /** - * Select the cell found by a cell selector - * - * @param rowSelector Row selector. - * @param cellSelector Cell selector. - * @param Option used to specify how the cells should be ordered, and if paging or filtering in the table should be taken into account. - */ - cell( - rowSelector: (string | Node | Function | JQuery | Object) | (string | Node | Function | JQuery | Object)[], - cellSelector: (string | Node | Function | JQuery | Object) | (string | Node | Function | JQuery | Object)[], - modifier?: ObjectSelectorModifier, - ): CellMethods; - - /** - * Select all cells - * - * @param Option used to specify how the cells should be ordered, and if paging or filtering in the table should be taken into account. - */ - cells(modifier?: ObjectSelectorModifier): CellsMethods; - - /** - * Select cells found by a cell selector - * - * @param cellSelector Cell selector. - * @param Option used to specify how the cells should be ordered, and if paging or filtering in the table should be taken into account. - */ - cells( - cellSelector: (string | Node | Function | JQuery | Object) | (string | Node | Function | JQuery | Object)[], - modifier?: ObjectSelectorModifier, - ): CellsMethods; - - /** - * Select cells found by both row and column selectors - * - * @param rowSelector Row selector. - * @param cellSelector Cell selector. - * @param Option used to specify how the cells should be ordered, and if paging or filtering in the table should be taken into account. - */ - cells( - rowSelector: (string | Node | Function | JQuery | Object) | (string | Node | Function | JQuery | Object)[], - cellSelector: (string | Node | Function | JQuery | Object) | (string | Node | Function | JQuery | Object)[], - modifier?: ObjectSelectorModifier, - ): CellsMethods; - //#endregion "Cell/Cells" - - //#region "Column/Columns" - - /** - * Column Methods / Object - */ - column: ColumnMethodsModel; - - /** - * Columns Methods / Object - */ - columns: ColumnsMethodsModel; - - //#endregion "Column/Columns" - - //#region "Row/Rows" - - /** - * Row Methode / Object - */ - row: RowMethodsModel; - - /** - * Rows Methods / Object - */ - rows: RowsMethodsModel; - - //#endregion "Row/Rows" - - //#region "Table/Tables" - - /** - * Select a table based on a selector from the API's context - * - * @param tableSelector Table selector. - */ - table( - tableSelector: (string | Node | Function | JQuery | Object) | (string | Node | Function | JQuery | Object)[], - ): TableMethods; - - /** - * Select all tables - */ - tables(): TablesMethods; - - /** - * Select tables based on the given selector - * - * @param tableSelector Table selector. - */ - tables( - tableSelector: (string | Node | Function | JQuery | Object) | (string | Node | Function | JQuery | Object)[], - ): TablesMethods; - - //#endregion "Table/Tables" - } - - export interface DataTables extends DataTableCore { - [index: number]: DataTable; - } - - interface ObjectSelectorModifier { - /** - * The order modifier provides the ability to control which order the rows are processed in. - * Values: 'current', 'applied', 'index', 'original' - */ - order?: string; - - /** - * The search modifier provides the ability to govern which rows are used by the selector using the search options that are applied to the table. - * Values: 'none', 'applied', 'removed' - */ - search?: string; - - /** - * The page modifier allows you to control if the selector should consider all data in the table, regardless of paging, or if only the rows in the currently disabled page should be used. - * Values: 'all', 'current' - */ - page?: string; - } - - //#region "Namespaces" - - //#region "core-methods" - - interface DataTableCore extends UtilityMethods { - /** - * Get jquery object - */ - $(selector: string | Node | Node[] | JQuery, modifier?: ObjectSelectorModifier): JQuery; - - ///// Almost identical to $ in operation, but in this case returns the data for the matched rows. - //_(selector: string | Node | Node[] | JQuery, modifier?: ObjectSelectorModifier): JQuery; - - /** - * Ajax Methods - */ - ajax: AjaxMethodModel; - - /** - * Clear the table of all data. - */ - clear(): DataTable; - - /** - * Destroy the DataTables in the current context. - * - * @param remove Completely remove the table from the DOM (true) or leave it in the DOM in its original plain un-enhanced HTML state (default, false). - */ - destroy(remove?: boolean): DataTable; - - /** - * Redraw the DataTables in the current context, optionally updating ordering, searching and paging as required. - * - * @param paging This parameter is used to determine what kind of draw DataTables will perform. - */ - draw(paging?: boolean | string): DataTable; - - /* - * Look up a language token that was defined in the DataTables' language initialisation object. - * - * @param token The language token to lookup from the language object. - * @param def The default value to use if the DataTables initialisation has not specified a value. - * @param numeric If handling numeric output, the number to be presented should be given in this parameter. If not numeric operator is required (for example button label text) this parameter is not required. - * - * @returns Resulting internationalised string. - */ - i18n(token: string, def: any | string, numeric?: number): string; - - /* - * Get the initialisation options used for the table. Since: DataTables 1.10.6 - */ - init(): Settings; - - /** - * Table events removal. - * - * @param event Event name to remove. - * @param callback Specific callback function to remove if you want to unbind a single event listener. - */ - off(event: string, callback?: Function): DataTable; - - /** - * Table events listener. - * - * @param event Event to listen for. - * @param callback Specific callback function to remove if you want to unbind a single event listener. - */ - on(event: string, callback: Function): DataTable; - - /** - * Listen for a table event once and then remove the listener. - * - * @param event Event to listen for. - * @param callback Specific callback function to remove if you want to unbind a single event listener. - */ - one(event: string, callback: Function): DataTable; - - /** - * Page Methods / Object - */ - page: PageMethods; - - /** - * Get current search - */ - search(): string; - - /** - * Search for data in the table. - * - * @param input Search string to apply to the table. - * @param regex Treat as a regular expression (true) or not (default, false). - * @param smart Perform smart search. - * @param caseInsen Do case-insensitive matching (default, true) or not (false). - */ - search(input: string, regex?: boolean, smart?: boolean, caseInsen?: boolean): DataTable; - - /** - * Obtain the table's settings object - */ - settings(): DataTable; - - /** - * Page Methods / Object - */ - state: StateMethods; - } - - //#region "ajax-methods" - - interface AjaxMethods extends DataTable { - /** - * Reload the table data from the Ajax data source. - * - * @param callback Function which is executed when the data as been reloaded and the table fully redrawn. - * @param resetPaging Reset (default action or true) or hold the current paging position (false). - */ - load(callback?: Function, resetPaging?: boolean): DataTable; - } - - interface AjaxMethodModel { - /** - * Get the latest JSON data obtained from the last Ajax request DataTables made - */ - json(): Object; - - /** - * Get the data submitted by DataTables to the server in the last Ajax request - */ - params(): Object; - - /** - * Reload the table data from the Ajax data source. - * - * @param callback Function which is executed when the data as been reloaded and the table fully redrawn. - * @param resetPaging Reset (default action or true) or hold the current paging position (false). - */ - reload(callback?: Function, resetPaging?: boolean): DataTable; - - /** - * Reload the table data from the Ajax data source - */ - url(): string; - - /** - * Reload the table data from the Ajax data source - * - * @param url URL to set to be the Ajax data source for the table. - */ - url(url: string): AjaxMethods; - } - - //#endregion "ajax-methods" - - //#region "order-methods" - - interface OrderMethods { - /** - * Get the ordering applied to the table. - */ - (): (string | number)[][]; - - /** - * Set the ordering applied to the table. - * - * @param order Order Model - */ - (order?: (string | number)[]): DataTable; - (order?: (string | number)[][]): DataTable; - (order: (string | number)[], ...args: any[]): DataTable; - - /** - * Add an ordering listener to an element, for a given column. - * - * @param node Selector - * @param column Column index - * @param callback Callback function - */ - listener(node: string | Node | JQuery, column: number, callback: Function): DataTable; - } - //#endregion "order-methods" - - //#region "page-methods" - - interface PageMethods { - /** - * Get the current page of the table. - */ - (): number; - - /** - * Set the current page of the table. - * - * @param page Index or 'first', 'next', 'previous', 'last' - */ - (page: number | string): DataTable; - - /** - * Get paging information about the table - */ - info(): PageMethodeModelInfoReturn; - - /** - * Get the table's page length. - */ - len(): number; - - /** - * Set the table's page length. - * - * @param length Page length to set. use -1 to show all records. - */ - len(length: number): DataTable; - } - - interface PageMethodeModelInfoReturn { - page: number; - pages: number; - start: number; - end: number; - length: number; - recordsTotal: number; - recordsDisplay: number; - serverSide: boolean; - } - - //#endregion "page-methods" - - //#region "state-methods" - - interface StateMethods { - /** - * Get the last saved state of the table - */ - (): StateReturnModel; - - /** - * Clear the saved state of the table. - */ - clear(): DataTable; - - /** - * Get the table state that was loaded during initialisation. - */ - loaded(): StateReturnModel; - - /** - * Trigger a state save. - */ - save(): DataTable; - } - - interface StateReturnModel { - time: number; - start: number; - length: number; - order: (string | number)[][]; - search: SearchSettings; - columns: StateReturnModelColumns[]; - } - - interface StateReturnModelColumns { - search: SearchSettings; - visible: boolean; - } - - //#endregion "state-methods" - - //#endregion "core-methods" - - //#region "util-methods" - - interface UtilityMethods { - /* - * Get a boolean value to indicate if there are any entries in the API instance's result set (i.e. any data, selected rows, etc). - */ - any(): boolean; - - /** - * Concatenate two or more API instances together - * - * @param a API instance to concatenate to the initial instance. - * @param b Additional API instance(s) to concatenate to the initial instance. - */ - concat(a: Object, ...b: Object[]): DataTable; - - /** - * Get the number of entries in an API instance's result set, regardless of multi-table grouping (e.g. any data, selected rows, etc). Since: 1.10.8 - */ - count(): number; - - /** - * Iterate over the contents of the API result set. - * - * @param fn Callback function which is called for each item in the API instance result set. The callback is called with three parameters - */ - each(fn: Function): DataTable; - - /** - * Reduce an Api instance to a single context and result set. - * - * @param idx Index to select - */ - eq(idx: number): DataTable; - - /** - * Iterate over the result set of an API instance and test each item, creating a new instance from those items which pass. - * - * @param fn Callback function which is called for each item in the API instance result set. The callback is called with three parameters. - */ - filter(fn: Function): DataTable; - - /** - * Flatten a 2D array structured API instance to a 1D array structure. - */ - flatten(): DataTable; - - /** - * Find the first instance of a value in the API instance's result set. - * - * @param value Value to find in the instance's result set. - */ - indexOf(value: any): number; - - /** - * Join the elements in the result set into a string. - * - * @param separator The string that will be used to separate each element of the result set. - */ - join(separator: string): string; - - /** - * Find the last instance of a value in the API instance's result set. - * - * @param value Value to find in the instance's result set. - */ - lastIndexOf(value: any): number; - - /** - * Number of elements in an API instance's result set. - */ - length: number; - - /** - * Iterate over the result set of an API instance, creating a new API instance from the values returned by the callback. - * - * @param fn Callback function which is called for each item in the API instance result set. The callback is called with three parameters. - */ - map(fn: Function): DataTable; - - /** - * Iterate over the result set of an API instance, creating a new API instance from the values retrieved from the original elements. - * - * @param property Object property name to use from the element in the original result set for the new result set. - */ - pluck(property: number | string): DataTable; - - /** - * Remove the last item from an API instance's result set. - */ - pop(): any; - - /** - * Add one or more items to the end of an API instance's result set. - * - * @param value_1 Item to add to the API instance's result set. - */ - push(value_1: any | any[], ...value_2: any[]): number; - - /** - * Apply a callback function against and accumulator and each element in the Api's result set (left-to-right). - * - * @param fn Callback function which is called for each item in the API instance result set. The callback is called with four parameters. - * @param initialValue Value to use as the first argument of the first call to the fn callback. - */ - reduce(fn: Function, initialValue?: any): any; - - /** - * Apply a callback function against and accumulator and each element in the Api's result set (right-to-left). - * - * @param fn Callback function which is called for each item in the API instance result set. The callback is called with four parameters. - * @param initialValue Value to use as the first argument of the first call to the fn callback. - */ - reduceRight(fn: Function, initialValue?: any): any; - - /** - * Reverse the result set of the API instance and return the original array. - */ - reverse(): DataTable; - - /** - * Remove the first item from an API instance's result set. - */ - shift(): any; - - /** - * Sort the elements of the API instance's result set. - * - * @param fn This is a standard Javascript sort comparison function. It accepts two parameters. - */ - sort(fn?: Function): DataTable; - - /** - * Modify the contents of an Api instance's result set, adding or removing items from it as required. - * - * @param index Index at which to start modifying the Api instance's result set. - * @param howMany Number of elements to remove from the result set. - * @param value_1 Item to add to the result set at the index specified by the first parameter. - */ - splice(index: number, howMany: number, value_1?: any | any[], ...value_2: any[]): any[]; - - /** - * Convert the API instance to a jQuery object, with the objects from the instance's result set in the jQuery result set. - */ - to$(): JQuery; - - /** - * Create a native Javascript array object from an API instance. - */ - toArray(): any[]; - - /** - * Convert the API instance to a jQuery object, with the objects from the instance's result set in the jQuery result set. - */ - toJQuery(): JQuery; - - /** - * Create a new API instance containing only the unique items from a the elements in an instance's result set. - */ - unique(): DataTable; - - /** - * Add one or more items to the start of an API instance's result set. - * - * @param value_1 Item to add to the API instance's result set. - */ - unshift(value_1: any | any[], ...value_2: any[]): number; - } - - //#endregion "util-methods" - - interface CommonSubMethods { - /** - * Get the DataTables cached data for the selected cell - * - * @param t Specify which cache the data should be read from. Can take one of two values: search or order - */ - cache(t: string): DataTable; - } - - //#region "cell-methods" - - interface CommonCellMethods extends CommonSubMethods { - /** - * Invalidate the data held in DataTables for the selected cells - * - * @param source Data source to read the new data from. - */ - invalidate(source?: string): DataTable; - - /** - * Get data for the selected cell - * - * @param f Data type to get. This can be one of: 'display', 'filter', 'sort', 'type' - */ - render(t: string): any; - } - - interface CellMethods extends DataTableCore, CommonCellMethods { - /** - * Get data for the selected cell - */ - data(): any; - - /** - * Get data for the selected cell - * - * @param data Value to assign to the data for the cell - */ - data(data: any): DataTable; - - /** - * Get index information about the selected cell - */ - index(): CellIndexReturn; - - /** - * Get the DOM element for the selected cell - */ - node(): Node; - } - - interface CellIndexReturn { - row: number; - column: number; - columnVisible: number; - } - - interface CellsMethods extends DataTableCore, CommonCellMethods { - /** - * Get data for the selected cells - */ - data(): DataTable; - - /** - * Iterate over each selected cell, with the function context set to be the cell in question. Since: DataTables 1.10.6 - * - * @param fn Function to execute for every cell selected. - */ - every(fn: (cellRowIdx: number, cellColIdx: number, tableLoop: number, cellLoop: number) => void): DataTable; - - /** - * Get index information about the selected cells - */ - indexes(): DataTable; - - /** - * Get the DOM elements for the selected cells - */ - nodes(): DataTable; - } - //#endregion "cell-methods" - - //#region "column-methods" - - interface CommonColumnMethod extends CommonSubMethods { - /** - * Get the footer th / td cell for the selected column. - */ - footer(): any; - - /** - * Get the header th / td cell for a column. - */ - header(): Node; - - /** - * Order the table, in the direction specified, by the column selected by the column()DT selector. - * - * @param direction Direction of sort to apply to the selected column - desc (descending) or asc (ascending). - */ - order(direction: string): DataTable; - - /** - * Get the visibility of the selected column. - */ - visible(): boolean; - - /** - * Set the visibility of the selected column. - * - * @param show Specify if the column should be visible (true) or not (false). - * @param redrawCalculations Indicate if DataTables should recalculate the column layout (true - default) or not (false). Typically this would be left as the default value, but it can be useful to disable when using the method in a loop - so the calculations are performed on every call as they can hamper performance. - */ - visible(show: boolean, redrawCalculations?: boolean): DataTable; - } - - interface ColumnMethodsModel { - /** - * Select the column found by a column selector - * - * @param cellSelector Cell selector. - * @param Option used to specify how the cells should be ordered, and if paging or filtering in the table should be taken into account. - */ - (columnSelector: any, modifier?: ObjectSelectorModifier): ColumnMethods; - - /** - * Convert from the input column index type to that required. - * - * @param t The type on conversion that should take place: 'fromVisible', 'toData', 'fromData', 'toVisible' - * @param index The index to be converted - */ - index(t: string, index: number): number; - } - - interface ColumnMethods extends DataTableCore, CommonColumnMethod { - /** - * Get the data for the cells in the selected column. - */ - data(): DataTable; - - /** - * Get the data source property for the selected column - */ - dataSrc(): number | string | Function; - - /** - * Get index information about the selected cell - * - * @param t Specify if you want to get the column data index (default) or the visible index (visible). - */ - index(t?: string): DataTable; - - /** - * Obtain the th / td nodes for the selected column - */ - nodes(): DataTable[]; - } - - interface ColumnsMethodsModel { - /** - * Select all columns - * - * @param Option used to specify how the cells should be ordered, and if paging or filtering in the table should be taken into account. - */ - (modifier?: ObjectSelectorModifier): ColumnsMethods; - - /** - * Select columns found by a cell selector - * - * @param cellSelector Cell selector. - * @param Option used to specify how the cells should be ordered, and if paging or filtering in the table should be taken into account. - */ - (columnSelector: any, modifier?: ObjectSelectorModifier): ColumnsMethods; - - /** - * Recalculate the column widths for layout. - */ - adjust(): DataTable; - } - - interface ColumnsMethods extends DataTableCore, CommonColumnMethod { - /** - * Obtain the data for the columns from the selector - */ - data(): DataTable; - - /** - * Get the data source property for the selected columns. - */ - dataSrc(): DataTable; - - /** - * Iterate over each selected column, with the function context set to be the column in question. Since: DataTables 1.10.6 - * - * @param fn Function to execute for every column selected. - */ - every(fn: (colIdx: number, tableLoop: number, colLoop: number) => void): DataTable; - - /** - * Get the column indexes of the selected columns. - * - * @param t Specify if you want to get the column data index (default) or the visible index (visible). - */ - indexes(t?: string): DataTable; - - /** - * Obtain the th / td nodes for the selected columns - */ - nodes(): DataTable[][]; - } - //#endregion "column-methods" - - //#region "row-methods" - - interface CommonRowMethod extends CommonSubMethods { - /** - * Obtain the th / td nodes for the selected column - * - * @param source Data source to read the new data from. Values: 'auto', 'data', 'dom' - */ - invalidate(source?: string): DataTable; - } - - interface RowChildMethodModel { - /** - * Get the child row(s) that have been set for a parent row - */ - (): JQuery; - - /** - * Get the child row(s) that have been set for a parent row - * - * @param showRemove This parameter can be given as true or false - */ - (showRemove: boolean): RowChildMethods; - - /** - * Set the data to show in the child row(s). Note that calling this method will replace any child rows which are already attached to the parent row. - * - * @param data The data to be shown in the child row can be given in multiple different ways. - * @param className Class name that is added to the td cell node(s) of the child row(s). As of 1.10.1 it is also added to the tr row node of the child row(s). - */ - (data: (string | Node | JQuery) | (string | Node | JQuery)[], className?: string): RowChildMethods; - - /** - * Hide the child row(s) of a parent row - */ - hide(): DataTable; - - /** - * Check if the child rows of a parent row are visible - */ - isShown(): DataTable; - - /** - * Remove child row(s) from display and release any allocated memory - */ - remove(): DataTable; - - /** - * Show the child row(s) of a parent row - */ - show(): DataTable; - } - - interface RowChildMethods extends DataTableCore { - /** - * Hide the child row(s) of a parent row - */ - hide(): DataTable; - - /** - * Remove child row(s) from display and release any allocated memory - */ - remove(): DataTable; - - /** - * Make newly defined child rows visible - */ - show(): DataTable; - } - - interface RowMethodsModel { - /** - * Select a row found by a row selector - * - * @param rowSelector Row selector. - * @param Option used to specify how the cells should be ordered, and if paging or filtering in the table should be taken into account. - */ - (rowSelector: any, modifier?: ObjectSelectorModifier): RowMethods; - - /** - * Add a new row to the table using the given data - * - * @param data Data to use for the new row. This may be an array, object or Javascript object instance, but must be in the same format as the other data in the table - */ - add(data: any[] | Object): DataTable; - } - - interface RowMethods extends DataTableCore, CommonRowMethod { - /** - * Order Methods / Object - */ - child: RowChildMethodModel; - - /** - * Get the data for the selected row - */ - data(): any[] | Object; - - /** - * Set the data for the selected row - * - * @param d Data to use for the row. - */ - data(d: any[] | Object): DataTable; - - /** - - * Get the id of the selected row. Since: 1.10.8 - * - * @param hash true - Append a hash (#) to the start of the row id. This can be useful for then using the id as a selector - * false - Do not modify the id value. - * @returns Row id. If the row does not have an id available 'undefined' will be returned. - */ - id(hash?: boolean): string; - - /** - * Get the row index of the row column. - */ - index(): number; - - /** - * Obtain the tr node for the selected row - */ - node(): Node; - - /** - * Delete the selected row from the DataTable. - */ - remove(): Node; - } - - interface RowsMethodsModel { - /** - * Select all rows - * - * @param Option used to specify how the cells should be ordered, and if paging or filtering in the table should be taken into account. - */ - (modifier?: ObjectSelectorModifier): RowsMethods; - - /** - * Select rows found by a row selector - * - * @param cellSelector Row selector. - * @param Option used to specify how the cells should be ordered, and if paging or filtering in the table should be taken into account. - */ - (rowSelector: any, modifier?: ObjectSelectorModifier): RowsMethods; - - /** - * Add new rows to the table using the data given - * - * @param data Array of data elements, with each one describing a new row to be added to the table - */ - add(data: any[]): DataTable; - } - - interface RowsMethods extends DataTableCore, CommonRowMethod { - /** - * Get the data for the rows from the selector - */ - data(): DataTable; - - /** - * Set the data for the selected row - * - * @param d Data to use for the row. - */ - data(d: any[] | Object): DataTable; - - /** - * Iterate over each selected row, with the function context set to be the row in question. Since: DataTables 1.10.6 - * - * @param fn Function to execute for every row selected. - */ - every(fn: (rowIdx: number, tableLoop: number, rowLoop: number) => void): DataTable; - - /** - * Get the ids of the selected rows. Since: 1.10.8 - * - * @param hash true - Append a hash (#) to the start of each row id. This can be useful for then using the ids as selectors - * false - Do not modify the id value. - * @returns Api instance with the selected rows in its result set. If a row does not have an id available 'undefined' will be returned as the value. - */ - ids(hash?: boolean): DataTable; - - /** - * Get the row indexes of the selected rows. - */ - indexes(): DataTable; - - /** - * Obtain the tr nodes for the selected rows - */ - nodes(): DataTable; - - /** - * Delete the selected rows from the DataTable. - */ - remove(): DataTable; - } - //#endregion "row-methods" - - //#region "table-methods" - - interface TableMethods extends DataTableCore { - /** - * Get the tfoot node for the table in the API's context - */ - footer(): Node; - - /** - * Get the thead node for the table in the API's context - */ - header(): Node; - - /** - * Get the tbody node for the table in the API's context - */ - body(): Node; - - /** - * Get the div container node for the table in the API's context - */ - container(): Node; - - /** - * Get the table node for the table in the API's context - */ - node(): Node; - } - - interface TablesMethods extends DataTableCore { - /** - * Get the tfoot nodes for the tables in the API's context - */ - footer(): DataTable; - - /** - * Get the thead nodes for the tables in the API's context - */ - header(): DataTable; - - /** - * Get the tbody nodes for the tables in the API's context - */ - body(): DataTable; - - /** - * Get the div container nodes for the tables in the API's context - */ - containers(): DataTable; - - /** - * Get the table nodes for the tables in the API's context - */ - nodes(): DataTable; - } - //#endregion "table-methods" - - //#endregion "Namespaces" - - //#region "Static-Methods" - - export interface StaticFunctions { - /** - * Check is a table node is a DataTable or not - * - * @param table Selector string for table - */ - isDataTable(table: string): boolean; - - /** - * Get all DataTable tables that have been initialised - optionally you can select to get only currently visible tables and / or retrieve the tables as API instances. - * - * @param visible As a boolean value this options is used to indicate if you want all tables on the page should be returned (false), or visible tables only (true). - * Since 1.10.8 this option can also be given as an object. - */ - tables(visible?: boolean | ObjectTablesStatic): DataTables.DataTable[] | DataTables.DataTable; - - /** - * Version number compatibility check function - * - * @param version Version string - */ - versionCheck(version: string): boolean; - - /** - * Utils - */ - util: StaticUtilFunctions; - - /** - * Check is a table node is a DataTable or not - * - * @param table Selector string for table - */ - Api(selector: string | Node | Node[] | JQuery): DataTables.DataTable; - } - - export interface StaticUtilFunctions { - /** - * Escape special characters in a regular expression string. Since: 1.10.4 - * - * @param str String to escape - */ - escapeRegex(str: string): string; - - /** - * Throttle the calls to a method to reduce call frequency. Since: 1.10.3 - * - * @param fn Function - * @param period ms - */ - throttle(fn: Function, period?: number): Function; - } - - interface ObjectTablesStatic { - /** - * Get only visible tables (true) or all tables regardless of visibility (false). - */ - visible: boolean; - - /** - * Return a DataTables API instance for the selected tables (true) or an array (false). - */ - api: boolean; - } - - //#endregion "Static-Methods" - - //#region "Settings" - - export interface Settings { - //#region "Features" - - /** - * Feature control DataTables' smart column width handling. Since: 1.10 - */ - autoWidth?: boolean; - - /** - * Feature control deferred rendering for additional speed of initialisation. Since: 1.10 - */ - deferRender?: boolean; - - /** - * Feature control table information display field. Since: 1.10 - */ - info?: boolean; - - /** - * Use markup and classes for the table to be themed by jQuery UI ThemeRoller. Since: 1.10 - */ - jQueryUI?: boolean; - - /** - * Feature control the end user's ability to change the paging display length of the table. Since: 1.10 - */ - lengthChange?: boolean; - - /** - * Feature control ordering (sorting) abilities in DataTables. Since: 1.10 - */ - ordering?: boolean; - - /** - * Enable or disable table pagination. Since: 1.10 - */ - paging?: boolean; - - /** - * Feature control the processing indicator. Since: 1.10 - */ - processing?: boolean; - - /** - * Horizontal scrolling. Since: 1.10 - */ - scrollX?: boolean; - - /** - * Vertical scrolling. Since: 1.10 Exp: "200px" - */ - scrollY?: string; - - /** - * Feature control search (filtering) abilities Since: 1.10 - */ - searching?: boolean; - - /** - * Feature control DataTables' server-side processing mode. Since: 1.10 - */ - serverSide?: boolean; - - /** - * State saving - restore table state on page reload. Since: 1.10 - */ - stateSave?: boolean; - - //#endregion "Features" - - //#region "Data" - - /** - * Load data for the table's content from an Ajax source. Since: 1.10 - */ - ajax?: string | AjaxSettings | FunctionAjax; - - /** - * Data to use as the display data for the table. Since: 1.10 - */ - data?: Object; - - //#endregion "Data" - - //#region "Options" - - /** - * Data to use as the display data for the table. Since: 1.10 - */ - columns?: ColumnSettings[]; - - /** - * Assign a column definition to one or more columns.. Since: 1.10 - */ - columnDefs?: ColumnDefsSettings[]; - - /** - * Delay the loading of server-side data until second draw - */ - deferLoading?: number | number[]; - - /** - * Destroy any existing table matching the selector and replace with the new options. Since: 1.10 - */ - destroy?: boolean; - - /** - * Initial paging start point. Since: 1.10 - */ - displayStart?: number; - - /** - * Define the table control elements to appear on the page and in what order. Since: 1.10 - */ - dom?: string; - - /** - * Change the options in the page length select list. Since: 1.10 - */ - lengthMenu?: (number | string)[] | (number | string)[][]; - - /** - * Control which cell the order event handler will be applied to in a column. Since: 1.10 - */ - orderCellsTop?: boolean; - - /** - * Highlight the columns being ordered in the table's body. Since: 1.10 - */ - orderClasses?: boolean; - - /** - * Initial order (sort) to apply to the table. Since: 1.10 - */ - order?: (string | number)[] | (string | number)[][]; - - /** - * Ordering to always be applied to the table. Since: 1.10 - */ - orderFixed?: (string | number)[] | (string | number)[][] | Object; - - /** - * Multiple column ordering ability control. Since: 1.10 - */ - orderMulti?: boolean; - - /** - * Change the initial page length (number of rows per page). Since: 1.10 - */ - pageLength?: number; - - /** - * Pagination button display options. Basic Types: numbers (1.10.8) simple, simple_numbers, full, full_numbers - */ - pagingType?: string; - - /** - * Retrieve an existing DataTables instance. Since: 1.10 - */ - retrieve?: boolean; - - /** - * Display component renderer types. Since: 1.10 - */ - renderer?: string | RendererSettings; - - /** - * Data property name that DataTables will use to set element DOM IDs. Since: 1.10.8 - */ - rowId?: string; - - /** - * Allow the table to reduce in height when a limited number of rows are shown. Since: 1.10 - */ - scrollCollapse?: boolean; - - /** - * Set an initial filter in DataTables and / or filtering options. Since: 1.10 - */ - search?: SearchSettings; - - /** - * Define an initial search for individual columns. Since: 1.10 - */ - searchCols?: SearchSettings[]; - - /** - * Set a throttle frequency for searching. Since: 1.10 - */ - searchDelay?: number; - - /** - * Saved state validity duration. Since: 1.10 - */ - stateDuration?: number; - - /** - * Set the zebra stripe class names for the rows in the table. Since: 1.10 - */ - stripeClasses?: string[]; - - /** - * Tab index control for keyboard navigation. Since: 1.10 - */ - tabIndex?: number; - - //#endregion "Options" - - //#region "Callbacks" - - /** - * Callback for whenever a TR element is created for the table's body. Since: 1.10 - */ - createdRow?: FunctionCreateRow; - - /** - * Function that is called every time DataTables performs a draw. Since: 1.10 - */ - drawCallback?: FunctionDrawCallback; - - /** - * Footer display callback function. Since: 1.10 - */ - footerCallback?: FunctionFooterCallback; - - /** - * Number formatting callback function. Since: 1.10 - */ - formatNumber?: FunctionFormatNumber; - - /** - * Header display callback function. Since: 1.10 - */ - headerCallback?: FunctionHeaderCallback; - - /** - * Table summary information display callback. Since: 1.10 - */ - infoCallback?: FunctionInfoCallback; - - /** - * Initialisation complete callback. Since: 1.10 - */ - initComplete?: FunctionInitComplete; - - /** - * Pre-draw callback. Since: 1.10 - */ - preDrawCallback?: FunctionPreDrawCallback; - - /** - * Row draw callback.. Since: 1.10 - */ - rowCallback?: FunctionRowCallback; - - /** - * Callback that defines where and how a saved state should be loaded. Since: 1.10 - */ - stateLoadCallback?: FunctionStateLoadCallback; - - /** - * State loaded callback. Since: 1.10 - */ - stateLoaded?: FunctionStateLoaded; - - /** - * State loaded - data manipulation callback. Since: 1.10 - */ - stateLoadParams?: FunctionStateLoadParams; - - /** - * Callback that defines how the table state is stored and where. Since: 1.10 - */ - stateSaveCallback?: FunctionStateSaveCallback; - - /** - * State save - data manipulation callback. Since: 1.10 - */ - stateSaveParams?: FunctionStateSaveParams; - - //#endregion "Callbacks" - - //#region "Language" - - language?: LanguageSettings; - - //#endregion "Language" - } - - //#region "ajax-settings" - - export interface AjaxDataRequest { - draw: number; - start: number; - length: number; - data: any; - order: AjaxDataRequestOrder[]; - columns: AjaxDataRequestColumn[]; - search: AjaxDataRequestSearch; - } - - export interface AjaxDataRequestSearch { - value: string; - regex: boolean; - } - - export interface AjaxDataRequestOrder { - column: number; - dir: string; - } - - export interface AjaxDataRequestColumn { - data: string | number; - name: string; - searchable: boolean; - orderable: boolean; - search: AjaxDataRequestSearch; - } - - export interface AjaxData { - draw?: number; - recordsTotal?: number; - recordsFiltered?: number; - data: any; - error?: string; - } - - interface AjaxSettings extends JQueryAjaxSettings { - /** - * Add or modify data submitted to the server upon an Ajax request. Since: 1.10 - */ - data?: Object | FunctionAjaxData; - - /** - * Data property or manipulation method for table data. Since: 1.10 - */ - dataSrc?: string | Function; - } - - interface FunctionAjax { - (data: Object, callback: Function, settings: SettingsLegacy): void; - } - - interface FunctionAjaxData { - /* - * @param data Data that DataTables has constructed for the request. - * @param settings DataTables settings object. Since 1.10.6 - */ - (data: Object, settings: Settings): string | Object; - } - - //#endregion "ajax-settings" - - //#region "colunm-settings" - - export interface ColumnSettings { - /** - * Cell type to be created for a column. th/td Since: 1.10 - */ - cellType?: string; - - /** - * Class to assign to each cell in the column. Since: 1.10 - */ - className?: string; - - /** - * Add padding to the text content used when calculating the optimal with for a table. Since: 1.10 - */ - contentPadding?: string; - - /** - * Cell created callback to allow DOM manipulation. Since: 1.10 - */ - createdCell?: FunctionColumnCreatedCell; - - /** - * Class to assign to each cell in the column. Since: 1.10 - */ - data?: number | string | ObjectColumnData | FunctionColumnData; - - /** - * Set default, static, content for a column. Since: 1.10 - */ - defaultContent?: string; - - /** - * Set a descriptive name for a column. Since: 1.10 - */ - name?: string; - - /** - * Enable or disable ordering on this column. Since: 1.10 - */ - orderable?: boolean; - - /** - * Define multiple column ordering as the default order for a column. Since: 1.10 - */ - orderData?: number | number[]; - - /** - * Live DOM sorting type assignment. Since: 1.10 - */ - orderDataType?: string; - - /** - * Order direction application sequence. Since: 1.10 - */ - orderSequence?: string[]; - - /** - * Render (process) the data for use in the table. Since: 1.10 - */ - render?: number | string | ObjectColumnRender | FunctionColumnRender; - - /** - * Enable or disable filtering on the data in this column. Since: 1.10 - */ - searchable?: boolean; - - /** - * Set the column title. Since: 1.10 - */ - title?: string; - - /** - * Set the column type - used for filtering and sorting string processing. Since: 1.10 - */ - type?: string; - - /** - * Enable or disable the display of this column. Since: 1.10 - */ - visible?: boolean; - - /** - * Column width assignment. Since: 1.10 - */ - width?: string; - } - - interface ColumnDefsSettings extends ColumnSettings { - targets: string | number | (number | string)[]; - } - - interface FunctionColumnCreatedCell { - (cell: Node, cellData: any, rowData: any, row: number, col: number): void; - } - - interface FunctionColumnData { - (row: any, t: "set", s: any, meta: CellMetaSettings): void; - (row: any, t: "display" | "sort" | "filter" | "type", s: undefined, meta: CellMetaSettings): any; - } - - interface ObjectColumnData { - _: string; - filter?: string; - display?: string; - type?: string; - sort?: string; - } - - interface ObjectColumnRender extends ObjectColumnData {} - - interface FunctionColumnRender { - (data: any, t: string, row: any, meta: CellMetaSettings): void; - } - - interface CellMetaSettings { - row: number; - col: number; - settings: DataTables.Settings; - } - - //#endregion "colunm-settings" - - //#region "other-settings" - - export interface RendererSettings { - header?: string; - pageButton?: string; - } - - export interface SearchSettings { - /** - * Control case-sensitive filtering option. Since: 1.10 - */ - caseInsensitive?: boolean; - - /** - * Enable / disable escaping of regular expression characters in the search term. Since: 1.10 - */ - regex?: boolean; - - /** - * Enable / disable DataTables' smart filtering. Since: 1.10 - */ - smart?: boolean; - - /** - * Set an initial filtering condition on the table. Since: 1.10 - */ - search?: string; - } - - //#endregion "other-settings" - - //#region "callback-functions" - - interface FunctionCreateRow { - (row: Node, data: any[] | Object, dataIndex: number): void; - } - - interface FunctionDrawCallback { - (settings: SettingsLegacy): void; - } - - interface FunctionFooterCallback { - (tfoot: Node, data: any[], start: number, end: number, display: any[]): void; - } - - interface FunctionFormatNumber { - (formatNumber: number): void; - } - - interface FunctionHeaderCallback { - (thead: Node, data: any[], start: number, end: number, display: any[]): void; - } - - interface FunctionInfoCallback { - (settings: SettingsLegacy, start: number, end: number, mnax: number, total: number, pre: string): void; - } - - interface FunctionInitComplete { - (settings: SettingsLegacy, json: Object): void; - } - - interface FunctionPreDrawCallback { - (settings: SettingsLegacy): void; - } - - interface FunctionRowCallback { - (row: Node, data: any[] | Object, index: number): void; - } - - interface FunctionStateLoadCallback { - (settings: SettingsLegacy): void; - } - - interface FunctionStateLoaded { - (settings: SettingsLegacy, data: Object): void; - } - - interface FunctionStateLoadParams { - (settings: SettingsLegacy, data: Object): void; - } - - interface FunctionStateSaveCallback { - (settings: SettingsLegacy, data: Object): void; - } - - interface FunctionStateSaveParams { - (settings: SettingsLegacy, data: Object): void; - } - - //#endregion "callback-functions" - - //#region "language-settings" - - // these are all optional - interface LanguageSettings { - emptyTable?: string; - info?: string; - infoEmpty?: string; - infoFiltered?: string; - infoPostFix?: string; - thousands?: string; - lengthMenu?: string; - loadingRecords?: string; - processing?: string; - search?: string; - zeroRecords?: string; - paginate?: LanguagePaginateSettings; - aria?: LanguageAriaSettings; - url?: string; - } - - interface LanguagePaginateSettings { - first: string; - last: string; - next: string; - previous: string; - } - - interface LanguageAriaSettings { - sortAscending: string; - sortDescending: string; - } - - //#endregion "language-settings" - - //#endregion "Settings" - - //#region "SettingsLegacy" - - interface ArrayStringNode { - [index: string]: Node; - } - - export interface SettingsLegacy { - ajax: any; - oApi: any; - oFeatures: FeaturesLegacy; - oScroll: ScrollingLegacy; - oLanguage: LanguageLegacy; // | { fnInfoCallback: FunctionInfoCallback; }; - oBrowser: BrowserLegacy; - aanFeatures: ArrayStringNode[][]; - aoData: RowLegacy[]; - aIds: any; - aiDisplay: number[]; - aiDisplayMaster: number[]; - aoColumns: ColumnLegacy[]; - aoHeader: any[]; - aoFooter: any[]; - asDataSearch: string[]; - oPreviousSearch: any; - aoPreSearchCols: any[]; - aaSorting: any[][]; - aaSortingFixed: any[][]; - asStripeClasses: string[]; - asDestroyStripes: string[]; - sDestroyWidth: number; - aoRowCallback: FunctionRowCallback[]; - aoHeaderCallback: FunctionHeaderCallback[]; - aoFooterCallback: FunctionFooterCallback[]; - aoDrawCallback: FunctionDrawCallback[]; - aoRowCreatedCallback: FunctionCreateRow[]; - aoPreDrawCallback: FunctionPreDrawCallback[]; - aoInitComplete: FunctionInitComplete[]; - aoStateSaveParams: FunctionStateSaveParams[]; - aoStateLoadParams: FunctionStateLoadParams[]; - aoStateLoaded: FunctionStateLoaded[]; - sTableId: string; - nTable: Node; - nTHead: Node; - nTFoot: Node; - nTBody: Node; - nTableWrapper: Node; - bDeferLoading: boolean; - bInitialized: boolean; - aoOpenRows: any[]; - sDom: string; - sPaginationType: string; - iCookieDuration: number; - sCookiePrefix: string; - fnCookieCallback: CookieCallbackLegacy; - aoStateSave: FunctionStateSaveCallback[]; - aoStateLoad: FunctionStateLoadCallback[]; - oLoadedState: any; - sAjaxSource: string; - sAjaxDataProp: string; - bAjaxDataGet: boolean; - jqXHR: any; - fnServerData: any; - aoServerParams: any[]; - sServerMethod: string; - fnFormatNumber: FunctionFormatNumber; - aLengthMenu: any[]; - iDraw: number; - bDrawing: boolean; - iDrawError: number; - _iDisplayLength: number; - _iDisplayStart: number; - _iDisplayEnd: number; - _iRecordsTotal: number; - _iRecordsDisplay: number; - bJUI: boolean; - oClasses: any; - bFiltered: boolean; - bSorted: boolean; - bSortCellsTop: boolean; - oInit: any; - aoDestroyCallback: any[]; - fnRecordsTotal: () => number; - fnRecordsDisplay: () => number; - fnDisplayEnd: () => number; - oInstance: any; - sInstance: string; - iTabIndex: number; - nScrollHead: Node; - nScrollFoot: Node; - rowIdFn: (mSource: string | number | Function) => Function; - } - - export interface BrowserLegacy { - barWidth: number; - bBounding: boolean; - bScrollbarLeft: boolean; - bScrollOversize: boolean; - } - - export interface FeaturesLegacy { - bAutoWidth: boolean; - bDeferRender: boolean; - bFilter: boolean; - bInfo: boolean; - bLengthChange: boolean; - bPaginate: boolean; - bProcessing: boolean; - bServerSide: boolean; - bSort: boolean; - bSortClasses: boolean; - bStateSave: boolean; - } - - export interface ScrollingLegacy { - bAutoCss: boolean; - bCollapse: boolean; - bInfinite: boolean; - iBarWidth: number; - iLoadGap: number; - sX: string; - sY: string; - } - - export interface RowLegacy { - nTr: Node; - _aData: any; - _aSortData: any[]; - _anHidden: Node[]; - _sRowStripe: string; - } - - export interface ColumnLegacy { - aDataSort: any; - asSorting: string[]; - bSearchable: boolean; - bSortable: boolean; - bVisible: boolean; - _bAutoType: boolean; - fnCreatedCell: FunctionColumnCreatedCell; - fnGetData: (data: any, specific: string) => any; - fnSetData: (data: any, value: any) => void; - mData: any; - mRender: any; - nTh: Node; - nIf: Node; - sClass: string; - sContentPadding: string; - sDefaultContent: string; - sName: string; - sSortDataType: string; - sSortingClass: string; - sSortingClassJUI: string; - sTitle: string; - sType: string; - sWidth: string; - sWidthOrig: string; - } - - export interface CookieCallbackLegacy { - (name: string, data: any, expires: string, path: string, cookie: string): void; - } - - export interface LanguageLegacy { - oAria?: LanguageAriaLegacy; - oPaginate?: LanguagePaginateLegacy; - sEmptyTable?: string; - sInfo?: string; - sInfoEmpty?: string; - sInfoFiltered?: string; - sInfoPostFix?: string; - sInfoThousands?: string; - sLengthMenu?: string; - sLoadingRecords?: string; - sProcessing?: string; - sSearch?: string; - sUrl?: string; - sZeroRecords?: string; - } - - export interface LanguageAriaLegacy { - sSortAscending?: string; - sSortDescending?: string; - } - - export interface LanguagePaginateLegacy { - sFirst?: string; - sLast?: string; - sNext?: string; - sPrevious?: string; - } - //#endregion "SettingsLegacy" -} - -declare module "datatables" { - export = DataTables; -} diff --git a/src/Definitions/jquery-typescript.d.ts b/src/Definitions/jquery-typescript.d.ts index ebcd22447..64721e77d 100644 --- a/src/Definitions/jquery-typescript.d.ts +++ b/src/Definitions/jquery-typescript.d.ts @@ -5,7 +5,7 @@ * https://github.com/running-coder/jquery-typeahead/issues/156 * TODO: Replace this minimum definition by the official one when it comes out. */ -/// +/// interface JQueryTypeaheadParam { input: string; diff --git a/src/Definitions/jquery-ui.d.ts b/src/Definitions/jquery-ui.d.ts index e68b2af52..d25eeb9b2 100644 --- a/src/Definitions/jquery-ui.d.ts +++ b/src/Definitions/jquery-ui.d.ts @@ -3,7 +3,7 @@ // Definitions by: Boris Yankov , John Reilly // Definitions: https://github.com/borisyankov/DefinitelyTyped -/// +/// declare namespace JQueryUI { // Accordion ////////////////////////////////////////////////// diff --git a/src/Definitions/jquery.d.ts b/src/Definitions/jquery.d.ts deleted file mode 100644 index 5c979a053..000000000 --- a/src/Definitions/jquery.d.ts +++ /dev/null @@ -1,1890 +0,0 @@ -/* ***************************************************************************** -Copyright (c) Microsoft Corporation. All rights reserved. -Licensed under the Apache License, Version 2.0 (the "License"); you may not use -this file except in compliance with the License. You may obtain a copy of the -License at http://www.apache.org/licenses/LICENSE-2.0 - -THIS CODE IS PROVIDED *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED -WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, -MERCHANTABLITY OR NON-INFRINGEMENT. - -See the Apache Version 2.0 License for specific language governing permissions -and limitations under the License. -***************************************************************************** */ - -// Typing for the jQuery library - -/* - Interface for the AJAX setting that will configure the AJAX request -*/ -interface JQueryAjaxSettings { - accepts?: any; - async?: boolean; - beforeSend?(jqXHR: JQueryXHR, settings: JQueryAjaxSettings): boolean; - cache?: boolean; - complete?(jqXHR: JQueryXHR, textStatus: string): any; - contents?: { [key: string]: any }; - // JQuery in the code compares contentType with a boolean value false - // to check, whether to add default "Content-Type" or not. - // Correct use: - // contentType: "text/plain" - // contentType: false - contentType?: any; - context?: any; - converters?: { [key: string]: any }; - crossDomain?: boolean; - data?: any; - dataFilter?(data: any, ty: any): any; - dataType?: string; - error?(jqXHR: JQueryXHR, textStatus: string, errorThrow: string): any; - global?: boolean; - headers?: { [key: string]: any }; - ifModified?: boolean; - isLocal?: boolean; - jsonp?: string; - jsonpCallback?: any; - mimeType?: string; - password?: string; - processData?: boolean; - scriptCharset?: string; - statusCode?: { [key: string]: any }; - success?(data: any, textStatus: string, jqXHR: JQueryXHR): void; - timeout?: number; - traditional?: boolean; - type?: string; - url?: string; - username?: string; - xhr?: any; - xhrFields?: { [key: string]: any }; -} - -interface JQueryPromiseXHRDoneCallback { - (data: T, textStatus: string, jqXHR: JQueryXHR): void; -} - -interface JQueryPromiseXHRFailCallback { - (jqXHR: JQueryXHR, textStatus: string, errorThrown: any): void; -} - -/* - Interface for the jqXHR object -*/ -interface JQueryXHR extends XMLHttpRequest { - always(...alwaysCallbacks: Array<{ (): void }>): JQueryXHR; - done(...doneCallbacks: Array>): JQueryXHR; - fail(...failCallbacks: Array>): JQueryXHR; - progress(...progressCallbacks: Array<{ (): void }>): JQueryXHR; - state(): string; - promise(target?: any): JQueryXHR; - then( - doneCallbacks: JQueryPromiseXHRDoneCallback, - failCallbacks?: JQueryPromiseXHRFailCallback, - progressCallbacks?: { (): void }, - ): JQueryPromise; - - then( - doneCallbacks: { (data: T, textStatus: string, jqXHR: JQueryXHR): UValue }, - failCallbacks?: JQueryPromiseXHRFailCallback, - progressCallbacks?: { (): void }, - ): JQueryPromiseV; - - then( - doneCallbacks: { (data: T, textStatus: string, jqXHR: JQueryXHR): UValue }, - failCallbacks?: { (data: T, textStatus: string, jqXHR: JQueryXHR): UReject }, - progressCallbacks?: { (): void }, - ): JQueryPromiseVR; - - then( - doneCallbacks: JQueryPromiseXHRDoneCallback, - failCallbacks?: { (data: T, textStatus: string, jqXHR: JQueryXHR): UReject }, - progressCallbacks?: { (): void }, - ): JQueryPromiseR; - - overrideMimeType(mimeType: string): void; - abort(statusText?: string): void; -} - -/* - Interface for the JQuery callback -*/ -interface JQueryCallback { - add(...callbacks: Array<{ (): void }>): JQueryCallback; - add(callbacks: Array<{ (): void }>): JQueryCallback; - disable(): JQueryCallback; - disabled(): boolean; - empty(): JQueryCallback; - fire(): JQueryCallback; - fired(): boolean; - fireWith(context: any): JQueryCallback; - has(callback: { (): void }): boolean; - lock(): JQueryCallback; - locked(): boolean; - remove(...callbacks: Array<{ (): void }>): JQueryCallback; - remove(callbacks: Array<{ (): void }>): JQueryCallback; -} - -interface JQueryCallback1 { - add(...callbacks: Array<{ (arg: T): void }>): JQueryCallback1; - add(callbacks: Array<{ (arg: T): void }>): JQueryCallback1; - disable(): JQueryCallback1; - disabled(): boolean; - empty(): JQueryCallback1; - fire(arg: T): JQueryCallback1; - fired(): boolean; - fireWith(context: any, args: any[]): JQueryCallback1; - has(callback: { (arg: T): void }): boolean; - lock(): JQueryCallback1; - locked(): boolean; - remove(...callbacks: Array<{ (arg: T): void }>): JQueryCallback1; - remove(callbacks: Array<{ (arg: T): void }>): JQueryCallback1; -} - -interface JQueryCallback2 { - add(...callbacks: Array<{ (arg1: T1, arg2: T2): void }>): JQueryCallback2; - add(callbacks: Array<{ (arg1: T1, arg2: T2): void }>): JQueryCallback2; - disable(): JQueryCallback2; - disabled(): boolean; - empty(): JQueryCallback2; - fire(arg1: T1, arg2: T2): JQueryCallback2; - fired(): boolean; - fireWith(context: any, args: any[]): JQueryCallback2; - has(callback: { (arg1: T1, arg2: T2): void }): boolean; - lock(): JQueryCallback2; - locked(): boolean; - remove(...callbacks: Array<{ (arg1: T1, arg2: T2): void }>): JQueryCallback2; - remove(callbacks: Array<{ (arg1: T1, arg2: T2): void }>): JQueryCallback2; -} - -interface JQueryCallback3 { - add(...callbacks: Array<{ (arg1: T1, arg2: T2, arg3: T3): void }>): JQueryCallback3; - add(callbacks: Array<{ (arg1: T1, arg2: T2, arg3: T3): void }>): JQueryCallback3; - disable(): JQueryCallback3; - disabled(): boolean; - empty(): JQueryCallback3; - fire(arg1: T1, arg2: T2, arg3: T3): JQueryCallback3; - fired(): boolean; - fireWith(context: any, args: any[]): JQueryCallback3; - has(callback: { (arg1: T1, arg2: T2, arg3: T3): void }): boolean; - lock(): JQueryCallback3; - locked(): boolean; - remove(...callbacks: Array<{ (arg1: T1, arg2: T2, arg3: T3): void }>): JQueryCallback3; - remove(callbacks: Array<{ (arg1: T1, arg2: T2, arg3: T3): void }>): JQueryCallback3; -} - -interface JQueryCallback4 { - add(...callbacks: Array<{ (arg1: T1, arg2: T2, arg3: T3, arg4: T4): void }>): JQueryCallback4; - add(callbacks: Array<{ (arg1: T1, arg2: T2, arg3: T3, arg4: T4): void }>): JQueryCallback4; - disable(): JQueryCallback4; - disabled(): boolean; - empty(): JQueryCallback4; - fire(arg1: T1, arg2: T2, arg3: T3, arg4: T4): JQueryCallback4; - fired(): boolean; - fireWith(context: any, args: any[]): JQueryCallback4; - has(callback: { (arg1: T1, arg2: T2, arg3: T3, arg4: T4): void }): boolean; - lock(): JQueryCallback4; - locked(): boolean; - remove(...callbacks: Array<{ (arg1: T1, arg2: T2, arg3: T3, arg4: T4): void }>): JQueryCallback4; - remove(callbacks: Array<{ (arg1: T1, arg2: T2, arg3: T3, arg4: T4): void }>): JQueryCallback4; -} - -/* - Interface for the JQuery promise, part of callbacks -*/ -interface JQueryPromiseAny { - always(...alwaysCallbacks: { (...args: any[]): void }[]): JQueryPromiseAny; - done(...doneCallbacks: { (...args: any[]): void }[]): JQueryPromiseAny; - fail(...failCallbacks: { (...args: any[]): void }[]): JQueryPromiseAny; - progress(...progressCallbacks: { (...args: any[]): void }[]): JQueryPromiseAny; - state(): string; - promise(target?: any): JQueryPromiseAny; - then( - doneCallbacks: { (...args: any[]): any }, - failCallbacks: { (...args: any[]): any }, - progressCallbacks?: { (...args: any[]): any }, - ): JQueryPromiseAny; -} - -interface JQueryPromise { - always(...alwaysCallbacks: Array<{ (): void }>): JQueryPromise; - done(...doneCallbacks: Array<{ (): void }>): JQueryPromise; - fail(...failCallbacks: Array<{ (): void }>): JQueryPromise; - progress(...progressCallbacks: Array<{ (): void }>): JQueryPromise; - state(): string; - promise(target?: any): JQueryPromise; - then( - doneCallbacks: { (): UValue }, - failCallbacks: { (): UReject }, - progressCallbacks?: { (): void }, - ): JQueryPromiseVR; - - // U Pipe - then( - doneCallbacks: { (): JQueryPromiseV }, - failCallbacks?: { (): void }, - progressCallbacks?: { (): void }, - ): JQueryPromiseV; - - then( - doneCallbacks: { (): JQueryDeferred }, - failCallbacks?: { (): void }, - progressCallbacks?: { (): void }, - ): JQueryPromise; - - then( - doneCallbacks: { (): JQueryPromise }, - failCallbacks?: { (): void }, - progressCallbacks?: { (): void }, - ): JQueryPromise; - - // U Value - then( - doneCallbacks: { (): UValue }, - failCallbacks?: { (): void }, - progressCallbacks?: { (): void }, - ): JQueryPromiseV; - - then( - doneCallbacks: { (): void }, - failCallbacks: { (): UReject }, - progressCallbacks?: { (): void }, - ): JQueryPromiseR; - - then(doneCallbacks: { (): void }, failCallbacks?: { (): void }, progressCallbacks?: { (): void }): JQueryPromise; -} - -interface JQueryPromiseV { - always(...alwaysCallbacks: Array<{ (): void }>): JQueryPromiseV; - done(...doneCallbacks: Array<{ (arg: TValue): void }>): JQueryPromiseV; - fail(...failCallbacks: Array<{ (): void }>): JQueryPromiseV; - progress(...progressCallbacks: Array<{ (): void }>): JQueryPromiseV; - state(): string; - promise(target?: any): JQueryPromiseV; - then( - doneCallbacks: { (arg: TValue): UValue }, - failCallbacks: { (): UReject }, - progressCallbacks?: { (): void }, - ): JQueryPromiseVR; - - // U Pipe - then( - doneCallbacks: { (arg: TValue): JQueryDeferredV }, - failCallbacks?: { (): void }, - progressCallbacks?: { (): void }, - ): JQueryPromiseV; - - then( - doneCallbacks: { (arg: TValue): JQueryPromiseV }, - failCallbacks?: { (): void }, - progressCallbacks?: { (): void }, - ): JQueryPromiseV; - - // U Value - then( - doneCallbacks: { (arg: TValue): UValue }, - failCallbacks?: { (): void }, - progressCallbacks?: { (): void }, - ): JQueryPromiseV; - - then( - doneCallbacks: { (arg: TValue): void }, - failCallbacks: { (): UReject }, - progressCallbacks?: { (): void }, - ): JQueryPromiseR; - - then( - doneCallbacks: { (arg: TValue): void }, - failCallbacks?: { (): void }, - progressCallbacks?: { (): void }, - ): JQueryPromise; -} - -interface JQueryPromiseN { - always(...alwaysCallbacks: Array<{ (): void }>): JQueryPromiseN; - done(...doneCallbacks: Array<{ (): void }>): JQueryPromiseN; - fail(...failCallbacks: Array<{ (): void }>): JQueryPromiseN; - progress(...progressCallbacks: Array<{ (arg: TNotify): void }>): JQueryPromiseN; - state(): string; - promise(target?: any): JQueryPromiseN; - then( - doneCallbacks: { (): UValue }, - failCallbacks: { (): UReject }, - progressCallbacks?: { (arg: TNotify): void }, - ): JQueryPromiseVR; - - // U Pipe - then( - doneCallbacks: { (): JQueryDeferredN }, - failCallbacks?: { (): void }, - progressCallbacks?: { (): void }, - ): JQueryPromiseN; - - then( - doneCallbacks: { (): JQueryPromiseN }, - failCallbacks?: { (): void }, - progressCallbacks?: { (): void }, - ): JQueryPromiseN; - - // U Value - then( - doneCallbacks: { (): UValue }, - failCallbacks?: { (): void }, - progressCallbacks?: { (arg: TNotify): void }, - ): JQueryPromiseV; - - then( - doneCallbacks: { (): void }, - failCallbacks: { (): UReject }, - progressCallbacks?: { (arg: TNotify): void }, - ): JQueryPromiseR; - - then( - doneCallbacks: { (): void }, - failCallbacks?: { (): void }, - progressCallbacks?: { (arg: TNotify): void }, - ): JQueryPromise; -} - -interface JQueryPromiseNNNN { - always(...alwaysCallbacks: Array<{ (): void }>): JQueryPromiseNNNN; - done(...doneCallbacks: Array<{ (): void }>): JQueryPromiseNNNN; - fail(...failCallbacks: Array<{ (): void }>): JQueryPromiseNNNN; - progress( - ...progressCallbacks: Array<{ (arg1: TNotify1, arg2: TNotify2, arg3: TNotify3, arg4: TNotify4): void }> - ): JQueryPromiseNNNN; - state(): string; - promise(target?: any): JQueryPromiseNNNN; - then( - doneCallbacks: { (): UValue }, - failCallbacks: { (): UReject }, - progressCallbacks?: { (arg1: TNotify1, arg2: TNotify2, arg3: TNotify3, arg4: TNotify4): void }, - ): JQueryPromiseVR; - - then( - doneCallbacks: { (): UValue }, - failCallbacks?: { (): void }, - progressCallbacks?: { (arg1: TNotify1, arg2: TNotify2, arg3: TNotify3, arg4: TNotify4): void }, - ): JQueryPromiseV; - - then( - doneCallbacks: { (): void }, - failCallbacks: { (): UReject }, - progressCallbacks?: { (arg1: TNotify1, arg2: TNotify2, arg3: TNotify3, arg4: TNotify4): void }, - ): JQueryPromiseR; - - then( - doneCallbacks: { (): void }, - failCallbacks?: { (): void }, - progressCallbacks?: { (arg1: TNotify1, arg2: TNotify2, arg3: TNotify3, arg4: TNotify4): void }, - ): JQueryPromise; -} - -interface JQueryPromiseVV { - always(...alwaysCallbacks: Array<{ (): void }>): JQueryPromiseVV; - done(...doneCallbacks: Array<{ (arg1: TValue1, arg2: TValue2): void }>): JQueryPromiseVV; - fail(...failCallbacks: Array<{ (): void }>): JQueryPromiseVV; - progress(...progressCallbacks: Array<{ (): void }>): JQueryPromiseVV; - state(): string; - promise(target?: any): JQueryPromiseVV; - then( - doneCallbacks: { (arg1: TValue1, arg2: TValue2): UValue }, - failCallbacks: { (): UReject }, - progressCallbacks?: { (): void }, - ): JQueryPromiseVR; - - // U Pipe - then( - doneCallbacks: { (arg1: TValue1, arg2: TValue2): JQueryDeferredVV }, - failCallbacks?: { (): void }, - progressCallbacks?: { (): void }, - ): JQueryPromiseVV; - - then( - doneCallbacks: { (arg1: TValue1, arg2: TValue2): JQueryPromiseVV }, - failCallbacks?: { (): void }, - progressCallbacks?: { (): void }, - ): JQueryPromiseVV; - - // U Value - then( - doneCallbacks: { (arg1: TValue1, arg2: TValue2): UValue }, - failCallbacks?: { (): void }, - progressCallbacks?: { (): void }, - ): JQueryPromiseV; - - then( - doneCallbacks: { (arg1: TValue1, arg2: TValue2): void }, - failCallbacks: { (): UReject }, - progressCallbacks?: { (): void }, - ): JQueryPromiseR; - - then( - doneCallbacks: { (arg1: TValue1, arg2: TValue2): void }, - failCallbacks?: { (): void }, - progressCallbacks?: { (): void }, - ): JQueryPromise; -} - -interface JQueryPromiseVVV { - always(...alwaysCallbacks: Array<{ (): void }>): JQueryPromiseVVV; - done( - ...doneCallbacks: Array<{ (arg1: TValue1, arg2: TValue2, arg3: TValue3): void }> - ): JQueryPromiseVVV; - fail(...failCallbacks: Array<{ (): void }>): JQueryPromiseVVV; - progress(...progressCallbacks: Array<{ (): void }>): JQueryPromiseVVV; - state(): string; - promise(target?: any): JQueryPromiseVVV; - then( - doneCallbacks: { (arg1: TValue1, arg2: TValue2, arg3: TValue3): UValue }, - failCallbacks: { (): UReject }, - progressCallbacks?: { (): void }, - ): JQueryPromiseVR; - - // U Pipe - then( - doneCallbacks: { (arg1: TValue1, arg2: TValue2, arg3: TValue3): JQueryDeferredVVV }, - failCallbacks?: { (): void }, - progressCallbacks?: { (): void }, - ): JQueryPromiseVVV; - - then( - doneCallbacks: { (arg1: TValue1, arg2: TValue2, arg3: TValue3): JQueryPromiseVVV }, - failCallbacks?: { (): void }, - progressCallbacks?: { (): void }, - ): JQueryPromiseVVV; - - // U Value - then( - doneCallbacks: { (arg1: TValue1, arg2: TValue2, arg3: TValue3): UValue }, - failCallbacks?: { (): void }, - progressCallbacks?: { (): void }, - ): JQueryPromiseV; - - then( - doneCallbacks: { (arg1: TValue1, arg2: TValue2, arg3: TValue3): void }, - failCallbacks: { (): UReject }, - progressCallbacks?: { (): void }, - ): JQueryPromiseR; - - then( - doneCallbacks: { (arg1: TValue1, arg2: TValue2, arg3: TValue3): void }, - failCallbacks?: { (): void }, - progressCallbacks?: { (): void }, - ): JQueryPromise; -} - -interface JQueryPromiseVR { - always(...alwaysCallbacks: Array<{ (): void }>): JQueryPromiseVR; - done(...doneCallbacks: Array<{ (arg: TValue): void }>): JQueryPromiseVR; - fail(...failCallbacks: Array<{ (arg: TReject): void }>): JQueryPromiseVR; - progress(...progressCallbacks: Array<{ (): void }>): JQueryPromiseVR; - state(): string; - promise(target?: any): JQueryPromiseVR; - then( - doneCallbacks: { (arg: TValue): JQueryPromiseVR }, - failCallbacks?: { (arg: TReject): UReject }, - progressCallbacks?: { (): void }, - ): JQueryPromiseVR; - - then( - doneCallbacks: { (arg: TValue): UValue }, - failCallbacks?: { (arg: TReject): UReject }, - progressCallbacks?: { (): void }, - ): JQueryPromiseVR; - - // U Pipe - then( - doneCallbacks: { (arg: TValue): JQueryDeferredVR }, - failCallbacks?: { (arg: TReject): void }, - progressCallbacks?: { (): void }, - ): JQueryPromiseVR; - - then( - doneCallbacks: { (arg: TValue): JQueryPromiseVR }, - failCallbacks?: { (arg: TReject): void }, - progressCallbacks?: { (): void }, - ): JQueryPromiseVR; - - // U Value - then( - doneCallbacks: { (arg: TValue): UValue }, - failCallbacks?: { (arg: TReject): void }, - progressCallbacks?: { (): void }, - ): JQueryPromiseV; - - then( - doneCallbacks: { (arg: TValue): void }, - failCallbacks?: { (arg: TReject): UReject }, - progressCallbacks?: { (): void }, - ): JQueryPromiseR; - - then( - doneCallbacks: { (arg: TValue): void }, - failCallbacks?: { (arg: TReject): void }, - progressCallbacks?: { (): void }, - ): JQueryPromise; -} - -interface JQueryPromiseVRN { - always(...alwaysCallbacks: Array<{ (): void }>): JQueryPromiseVRN; - done(...doneCallbacks: Array<{ (arg: TValue): void }>): JQueryPromiseVRN; - fail(...failCallbacks: Array<{ (arg: TReject): void }>): JQueryPromiseVRN; - progress(...progressCallbacks: Array<{ (arg: TProgress): void }>): JQueryPromiseVRN; - state(): string; - promise(target?: any): JQueryPromiseVRN; - then( - doneCallbacks: { (arg: TValue): UValue }, - failCallbacks: { (arg: TReject): UReject }, - progressCallbacks?: { (arg: TProgress): void }, - ): JQueryPromiseVR; - - // U Pipe - then( - doneCallbacks: { (arg: TValue): JQueryDeferredVRN }, - failCallbacks?: { (arg: TReject): void }, - progressCallbacks?: { (): void }, - ): JQueryPromiseVRN; - - then( - doneCallbacks: { (arg: TValue): JQueryPromiseVRN }, - failCallbacks?: { (arg: TReject): void }, - progressCallbacks?: { (): void }, - ): JQueryPromiseVRN; - - // U Value - then( - doneCallbacks: { (arg: TValue): UValue }, - failCallbacks?: { (arg: TReject): void }, - progressCallbacks?: { (arg: TProgress): void }, - ): JQueryPromiseV; - - then( - doneCallbacks: { (arg: TValue): void }, - failCallbacks: { (arg: TReject): UReject }, - progressCallbacks?: { (arg: TProgress): void }, - ): JQueryPromiseR; - - then( - doneCallbacks: { (arg: TValue): void }, - failCallbacks?: { (arg: TReject): void }, - progressCallbacks?: { (arg: TProgress): void }, - ): JQueryPromise; -} - -interface JQueryPromiseR { - always(...alwaysCallbacks: Array<{ (): void }>): JQueryPromiseR; - done(...doneCallbacks: Array<{ (): void }>): JQueryPromiseR; - fail(...failCallbacks: Array<{ (arg: TReject): void }>): JQueryPromiseR; - progress(...progressCallbacks: Array<{ (): void }>): JQueryPromiseR; - state(): string; - promise(target?: any): JQueryPromiseR; - then( - doneCallbacks: { (): UValue }, - failCallbacks: { (arg: TReject): UReject }, - progressCallbacks?: { (): void }, - ): JQueryPromiseVR; - - // U Pipe - then( - doneCallbacks: { (): JQueryDeferredR }, - failCallbacks?: { (arg: TReject): void }, - progressCallbacks?: { (): void }, - ): JQueryPromiseR; - - then( - doneCallbacks: { (): JQueryPromiseR }, - failCallbacks?: { (arg: TReject): void }, - progressCallbacks?: { (): void }, - ): JQueryPromiseR; - - then( - doneCallbacks: { (): void }, - failCallbacks?: { (arg: TReject): UReject }, - progressCallbacks?: { (): void }, - ): JQueryPromiseR; - - then( - doneCallbacks: { (): void }, - failCallbacks: { (arg: TReject): void }, - progressCallbacks?: { (): void }, - ): JQueryPromise; -} - -/* - Interface for the JQuery deferred, part of callbacks -*/ -interface JQueryDeferredAny { - always(...alwaysCallbacks: { (...args: any[]): void }[]): JQueryDeferredAny; - done(...doneCallbacks: { (...args: any[]): void }[]): JQueryDeferredAny; - fail(...failCallbacks: { (...args: any[]): void }[]): JQueryDeferredAny; - progress(...progressCallbacks: { (): void }[]): JQueryDeferredAny; - notify(...args: any[]): JQueryDeferredAny; - notifyWith(context: any, args: any[]): JQueryDeferredAny; - promise(target?: any): JQueryPromiseAny; - reject(...args: any[]): JQueryDeferredAny; - rejectWith(context: any, args: any[]): JQueryDeferredAny; - resolve(...args: any[]): JQueryDeferredAny; - resolveWith(context: any, args: any[]): JQueryDeferredAny; - state(): string; - then( - doneCallbacks: { (...args: any[]): any }, - failCallbacks: { (...args: any[]): any }, - progressCallbacks?: { (...args: any[]): any }, - ): JQueryDeferredAny; -} - -interface JQueryDeferred { - notify(): JQueryDeferred; - notifyWith(context: any): JQueryDeferred; - - always(...alwaysCallbacks: Array<{ (): void }>): JQueryDeferred; - done(...doneCallbacks: Array<{ (): void }>): JQueryDeferred; - fail(...failCallbacks: Array<{ (): void }>): JQueryDeferred; - progress(...progressCallbacks: Array<{ (): void }>): JQueryDeferred; - promise(target?: any): JQueryPromise; - reject(...args: Array): JQueryDeferred; - rejectWith(context: any): JQueryDeferred; - resolve(): JQueryDeferred; - resolveWith(context: any): JQueryDeferred; - state(): string; - then( - doneCallbacks: { (): UValue }, - failCallbacks: { (): UReject }, - progressCallbacks?: { (): void }, - ): JQueryPromiseVR; - - // U Pipe - then( - doneCallbacks: { (): JQueryDeferred }, - failCallbacks?: { (): void }, - progressCallbacks?: { (): void }, - ): JQueryPromise; - - then( - doneCallbacks: { (): JQueryPromise }, - failCallbacks?: { (): void }, - progressCallbacks?: { (): void }, - ): JQueryPromise; - - // U Value - then( - doneCallbacks: { (): UValue }, - failCallbacks?: { (): void }, - progressCallbacks?: { (): void }, - ): JQueryPromiseV; - - then( - doneCallbacks: { (): void }, - failCallbacks: { (): UReject }, - progressCallbacks?: { (): void }, - ): JQueryPromiseR; - - then(doneCallbacks: { (): void }, failCallbacks?: { (): void }, progressCallbacks?: { (): void }): JQueryPromise; -} - -interface JQueryDeferredV { - notify(): JQueryDeferredV; - notifyWith(context: any): JQueryDeferredV; - - always(...alwaysCallbacks: Array<{ (): void }>): JQueryDeferredV; - done(...doneCallbacks: Array<{ (arg: TValue): void }>): JQueryDeferredV; - fail(...failCallbacks: Array<{ (): void }>): JQueryDeferredV; - progress(...progressCallbacks: Array<{ (): void }>): JQueryDeferredV; - promise(target?: any): JQueryPromiseV; - reject(...args: Array): JQueryDeferredV; - rejectWith(context: any): JQueryDeferredV; - resolve(arg: TValue): JQueryDeferredV; - resolveWith(context: any, args: TValue[]): JQueryDeferredV; - state(): string; - then( - doneCallbacks: { (arg: TValue): UValue }, - failCallbacks: { (): UReject }, - progressCallbacks?: { (): void }, - ): JQueryPromiseVR; - - // U Pipe - then( - doneCallbacks: { (arg: TValue): JQueryDeferredV }, - failCallbacks?: { (): void }, - progressCallbacks?: { (): void }, - ): JQueryPromiseV; - - then( - doneCallbacks: { (arg: TValue): JQueryPromiseV }, - failCallbacks?: { (): void }, - progressCallbacks?: { (): void }, - ): JQueryPromiseV; - - // U Value - then( - doneCallbacks: { (arg: TValue): UValue }, - failCallbacks?: { (): void }, - progressCallbacks?: { (): void }, - ): JQueryPromiseV; - - then( - doneCallbacks: { (arg: TValue): void }, - failCallbacks: { (): UReject }, - progressCallbacks?: { (): void }, - ): JQueryPromiseR; - - then( - doneCallbacks: { (arg: TValue): void }, - failCallbacks?: { (): void }, - progressCallbacks?: { (): void }, - ): JQueryPromise; -} - -interface JQueryDeferredN { - notify(arg: TNotify): JQueryDeferredN; - notifyWith(context: any, arg: TNotify): JQueryDeferredN; - - always(...alwaysCallbacks: Array<{ (): void }>): JQueryDeferredN; - done(...doneCallbacks: Array<{ (): void }>): JQueryDeferredN; - fail(...failCallbacks: Array<{ (): void }>): JQueryDeferredN; - progress(...progressCallbacks: Array<{ (arg: TNotify): void }>): JQueryDeferredN; - promise(target?: any): JQueryPromiseN; - reject(...args: Array): JQueryDeferredN; - rejectWith(context: any): JQueryDeferredN; - resolve(): JQueryDeferredN; - resolveWith(context: any): JQueryDeferredN; - state(): string; - then( - doneCallbacks: { (): UValue }, - failCallbacks: { (): UReject }, - progressCallbacks?: { (arg: TNotify): void }, - ): JQueryPromiseVR; - - // U Pipe - then( - doneCallbacks: { (): JQueryDeferredN }, - failCallbacks?: { (): void }, - progressCallbacks?: { (): void }, - ): JQueryPromiseN; - - then( - doneCallbacks: { (): JQueryPromiseN }, - failCallbacks?: { (): void }, - progressCallbacks?: { (): void }, - ): JQueryPromiseN; - - // U Value - then( - doneCallbacks: { (): UValue }, - failCallbacks?: { (): void }, - progressCallbacks?: { (arg: TNotify): void }, - ): JQueryPromiseV; - - then( - doneCallbacks: { (): void }, - failCallbacks: { (): UReject }, - progressCallbacks?: { (arg: TNotify): void }, - ): JQueryPromiseR; - - then( - doneCallbacks: { (): void }, - failCallbacks?: { (): void }, - progressCallbacks?: { (arg: TNotify): void }, - ): JQueryPromise; -} - -interface JQueryDeferredNNNN { - notify( - arg1: TNotify1, - arg2: TNotify2, - arg3: TNotify3, - arg4: TNotify4, - ): JQueryDeferredNNNN; - notifyWith( - context: any, - arg1: TNotify1, - arg2: TNotify2, - arg3: TNotify3, - arg4: TNotify4, - ): JQueryDeferredNNNN; - - always(...alwaysCallbacks: Array<{ (): void }>): JQueryDeferredNNNN; - done(...doneCallbacks: Array<{ (): void }>): JQueryDeferredNNNN; - fail(...failCallbacks: Array<{ (): void }>): JQueryDeferredNNNN; - progress( - ...progressCallbacks: Array<{ (arg1: TNotify1, arg2: TNotify2, arg3: TNotify3, arg4: TNotify4): void }> - ): JQueryDeferredNNNN; - promise(target?: any): JQueryPromiseNNNN; - reject(...args: Array): JQueryDeferredNNNN; - rejectWith(context: any): JQueryDeferredNNNN; - resolve(): JQueryDeferredNNNN; - resolveWith(context: any): JQueryDeferredNNNN; - state(): string; - then( - doneCallbacks: { (): UValue }, - failCallbacks: { (): UReject }, - progressCallbacks?: { (arg1: TNotify1, arg2: TNotify2, arg3: TNotify3, arg4: TNotify4): void }, - ): JQueryPromiseVR; - - then( - doneCallbacks: { (): UValue }, - failCallbacks?: { (): void }, - progressCallbacks?: { (arg1: TNotify1, arg2: TNotify2, arg3: TNotify3, arg4: TNotify4): void }, - ): JQueryPromiseV; - - then( - doneCallbacks: { (): void }, - failCallbacks: { (): UReject }, - progressCallbacks?: { (arg1: TNotify1, arg2: TNotify2, arg3: TNotify3, arg4: TNotify4): void }, - ): JQueryPromiseR; - - then( - doneCallbacks: { (): void }, - failCallbacks?: { (): void }, - progressCallbacks?: { (arg1: TNotify1, arg2: TNotify2, arg3: TNotify3, arg4: TNotify4): void }, - ): JQueryPromise; -} - -interface JQueryDeferredVV { - notify(): JQueryDeferredVV; - notifyWith(context: any): JQueryDeferredVV; - - always(...alwaysCallbacks: Array<{ (): void }>): JQueryDeferredVV; - done(...doneCallbacks: Array<{ (arg1: TValue1, arg2: TValue2): void }>): JQueryDeferredVV; - fail(...failCallbacks: Array<{ (): void }>): JQueryDeferredVV; - progress(...progressCallbacks: Array<{ (): void }>): JQueryDeferredVV; - promise(target?: any): JQueryPromiseVV; - reject(...args: Array): JQueryDeferredVV; - rejectWith(context: any): JQueryDeferredVV; - resolve(arg1: TValue1, arg2: TValue2): JQueryDeferredVV; - resolveWith(context: any, args: any[]): JQueryDeferredVV; - state(): string; - then( - doneCallbacks: { (arg1: TValue1, arg2: TValue2): UValue }, - failCallbacks: { (): UReject }, - progressCallbacks?: { (): void }, - ): JQueryPromiseVR; - - // U Pipe - then( - doneCallbacks: { (arg1: TValue1, arg2: TValue2): JQueryDeferredVV }, - failCallbacks?: { (): void }, - progressCallbacks?: { (): void }, - ): JQueryPromiseVV; - - then( - doneCallbacks: { (arg1: TValue1, arg2: TValue2): JQueryPromiseVV }, - failCallbacks?: { (): void }, - progressCallbacks?: { (): void }, - ): JQueryPromiseVV; - - // U Value - then( - doneCallbacks: { (arg1: TValue1, arg2: TValue2): UValue }, - failCallbacks?: { (): void }, - progressCallbacks?: { (): void }, - ): JQueryPromiseV; - - then( - doneCallbacks: { (arg1: TValue1, arg2: TValue2): void }, - failCallbacks: { (): UReject }, - progressCallbacks?: { (): void }, - ): JQueryPromiseR; - - then( - doneCallbacks: { (arg1: TValue1, arg2: TValue2): void }, - failCallbacks?: { (): void }, - progressCallbacks?: { (): void }, - ): JQueryPromise; -} - -interface JQueryDeferredVVV { - notify(): JQueryDeferredVVV; - notifyWith(context: any): JQueryDeferredVVV; - - always(...alwaysCallbacks: Array<{ (): void }>): JQueryDeferredVVV; - done( - ...doneCallbacks: Array<{ (arg1: TValue1, arg2: TValue2, arg3: TValue3): void }> - ): JQueryDeferredVVV; - fail(...failCallbacks: Array<{ (): void }>): JQueryDeferredVVV; - progress(...progressCallbacks: Array<{ (): void }>): JQueryDeferredVVV; - promise(target?: any): JQueryPromiseVVV; - reject(...args: Array): JQueryDeferredVVV; - rejectWith(context: any): JQueryDeferredVVV; - resolve(arg1: TValue1, arg2: TValue2, arg3: TValue3): JQueryDeferredVVV; - resolveWith(context: any, args: any[]): JQueryDeferredVVV; - state(): string; - then( - doneCallbacks: { (arg1: TValue1, arg2: TValue2, arg3: TValue3): UValue }, - failCallbacks?: { (): UReject }, - progressCallbacks?: { (): void }, - ): JQueryPromiseVR; - - // U Pipe - then( - doneCallbacks: { (arg1: TValue1, arg2: TValue2, arg3: TValue3): JQueryDeferredVVV }, - failCallbacks?: { (): void }, - progressCallbacks?: { (): void }, - ): JQueryPromiseVVV; - - then( - doneCallbacks: { (arg1: TValue1, arg2: TValue2, arg3: TValue3): JQueryPromiseVVV }, - failCallbacks?: { (): void }, - progressCallbacks?: { (): void }, - ): JQueryPromiseVVV; - - // U Value - then( - doneCallbacks: { (arg1: TValue1, arg2: TValue2, arg3: TValue3): UValue }, - failCallbacks?: { (): void }, - progressCallbacks?: { (): void }, - ): JQueryPromiseV; - - then( - doneCallbacks: { (arg1: TValue1, arg2: TValue2, arg3: TValue3): void }, - failCallbacks?: { (): UReject }, - progressCallbacks?: { (): void }, - ): JQueryPromiseR; - - then( - doneCallbacks: { (arg1: TValue1, arg2: TValue2, arg3: TValue3): void }, - failCallbacks?: { (): void }, - progressCallbacks?: { (): void }, - ): JQueryPromise; -} - -interface JQueryDeferredVR { - notify(): JQueryDeferredVR; - notifyWith(context: any): JQueryDeferredVR; - - always(...alwaysCallbacks: Array<{ (): void }>): JQueryDeferredVR; - done(...doneCallbacks: Array<{ (arg: TValue): void }>): JQueryDeferredVR; - fail(...failCallbacks: Array<{ (arg: TReject): void }>): JQueryDeferredVR; - progress(...progressCallbacks: Array<{ (): void }>): JQueryDeferredVR; - promise(target?: any): JQueryPromiseVR; - reject(arg: TReject): JQueryDeferredVR; - rejectWith(context: any, arg: TReject[]): JQueryDeferredVR; - resolve(arg: TValue): JQueryDeferredVR; - resolveWith(context: any, args: TValue[]): JQueryDeferredVR; - state(): string; - then( - doneCallbacks: { (arg: TValue): UValue }, - failCallbacks: { (arg: TReject): UReject }, - progressCallbacks?: { (): void }, - ): JQueryPromiseVR; - - // U Pipe - then( - doneCallbacks: { (arg: TValue): JQueryDeferredVR }, - failCallbacks?: { (arg: TReject): void }, - progressCallbacks?: { (): void }, - ): JQueryPromiseVR; - - then( - doneCallbacks: { (arg: TValue): JQueryPromiseVR }, - failCallbacks?: { (arg: TReject): void }, - progressCallbacks?: { (): void }, - ): JQueryPromiseVR; - - // U Value - then( - doneCallbacks: { (arg: TValue): UValue }, - failCallbacks?: { (arg: TReject): void }, - progressCallbacks?: { (): void }, - ): JQueryPromiseV; - - then( - doneCallbacks: { (arg: TValue): void }, - failCallbacks: { (arg: TReject): UReject }, - progressCallbacks?: { (): void }, - ): JQueryPromiseR; - - then( - doneCallbacks: { (arg: TValue): void }, - failCallbacks?: { (arg: TReject): void }, - progressCallbacks?: { (): void }, - ): JQueryPromise; -} - -interface JQueryDeferredVRN { - notify(arg: TNotify): JQueryDeferredVR; - notifyWith(context: any, arg: TNotify): JQueryDeferredVR; - - always(...alwaysCallbacks: Array<{ (): void }>): JQueryDeferredVR; - done(...doneCallbacks: Array<{ (arg: TValue): void }>): JQueryDeferredVR; - fail(...failCallbacks: Array<{ (arg: TReject): void }>): JQueryDeferredVR; - progress(...progressCallbacks: Array<{ (arg: TNotify): void }>): JQueryDeferredVR; - promise(target?: any): JQueryPromiseVRN; - reject(arg: TReject): JQueryDeferredVR; - rejectWith(context: any, args: TReject[]): JQueryDeferredVR; - resolve(arg: TValue): JQueryDeferredVR; - resolveWith(context: any, args: TValue[]): JQueryDeferredVR; - state(): string; - then( - doneCallbacks: { (arg: TValue): UValue }, - failCallbacks: { (arg: TReject): UReject }, - progressCallbacks?: { (arg: TNotify): void }, - ): JQueryPromiseVR; - - // U Pipe - then( - doneCallbacks: { (arg: TValue): JQueryDeferredVRN }, - failCallbacks?: { (arg: TReject): void }, - progressCallbacks?: { (): void }, - ): JQueryPromiseVRN; - - then( - doneCallbacks: { (arg: TValue): JQueryPromiseVRN }, - failCallbacks?: { (arg: TReject): void }, - progressCallbacks?: { (): void }, - ): JQueryPromiseVRN; - - // U Value - then( - doneCallbacks: { (arg: TValue): UValue }, - failCallbacks?: { (arg: TReject): void }, - progressCallbacks?: { (arg: TNotify): void }, - ): JQueryPromiseV; - - then( - doneCallbacks: { (arg: TValue): void }, - failCallbacks: { (arg: TReject): UReject }, - progressCallbacks?: { (arg: TNotify): void }, - ): JQueryPromiseR; - - then( - doneCallbacks: { (arg: TValue): void }, - failCallbacks?: { (arg: TReject): void }, - progressCallbacks?: { (arg: TNotify): void }, - ): JQueryPromise; -} - -interface JQueryDeferredR { - notify(): JQueryDeferredR; - notifyWith(context: any): JQueryDeferredR; - - always(...alwaysCallbacks: Array<{ (): void }>): JQueryDeferredR; - done(...doneCallbacks: Array<{ (): void }>): JQueryDeferredR; - fail(...failCallbacks: Array<{ (arg: TReject): void }>): JQueryDeferredR; - progress(...progressCallbacks: Array<{ (): void }>): JQueryDeferredR; - promise(target?: any): JQueryPromiseR; - reject(arg: TReject): JQueryDeferredR; - rejectWith(context: any, args: TReject[]): JQueryDeferredR; - resolve(): JQueryDeferredR; - resolveWith(context: any): JQueryDeferredR; - state(): string; - then( - doneCallbacks: { (): UValue }, - failCallbacks: { (arg: TReject): UReject }, - progressCallbacks?: { (): void }, - ): JQueryPromiseVR; - - // U Pipe - then( - doneCallbacks: { (): JQueryDeferredR }, - failCallbacks?: { (arg: TReject): void }, - progressCallbacks?: { (): void }, - ): JQueryPromiseR; - - then( - doneCallbacks: { (): JQueryPromiseR }, - failCallbacks?: { (arg: TReject): void }, - progressCallbacks?: { (): void }, - ): JQueryPromiseR; - - then( - doneCallbacks: { (): void }, - failCallbacks: { (arg: TReject): UReject }, - progressCallbacks?: { (): void }, - ): JQueryPromiseR; - - then( - doneCallbacks: { (): void }, - failCallbacks?: { (arg: TReject): void }, - progressCallbacks?: { (): void }, - ): JQueryPromise; -} - -/* - Interface of the JQuery extension of the W3C event object -*/ -interface BaseJQueryEventObject extends Event { - data: any; - delegateTarget: Element; - isDefaultPrevented(): boolean; - isImmediatePropagationStopped(): boolean; - isPropagationStopped(): boolean; - originalEvent: Event; - namespace: string; - preventDefault(): any; - relatedTarget: Element; - result: any; - stopImmediatePropagation(): void; - stopPropagation(): void; - pageX: number; - pageY: number; - which: number; - - // Other possible values - cancellable?: boolean; - // detail ?? - prevValue?: any; - view?: Window; -} - -interface JQueryInputEventObject extends BaseJQueryEventObject { - altKey: boolean; - ctrlKey: boolean; - metaKey: boolean; - shiftKey: boolean; -} - -interface JQueryMouseEventObject extends JQueryInputEventObject { - button: number; - clientX: number; - clientY: number; - offsetX: number; - offsetY: number; - pageX: number; - pageY: number; - screenX: number; - screenY: number; -} - -interface JQueryKeyEventObject extends JQueryInputEventObject { - char: any; - charCode: number; - key: any; - keyCode: number; -} - -interface JQueryEventObject - extends BaseJQueryEventObject, - JQueryInputEventObject, - JQueryMouseEventObject, - JQueryKeyEventObject {} - -interface JQueryEventHandler { - (eventObject: JQueryEventObject, args?: any): any; -} - -interface JQuerySupport { - ajax?: boolean; - boxModel?: boolean; - changeBubbles?: boolean; - checkClone?: boolean; - checkOn?: boolean; - cors?: boolean; - cssFloat?: boolean; - hrefNormalized?: boolean; - htmlSerialize?: boolean; - leadingWhitespace?: boolean; - noCloneChecked?: boolean; - noCloneEvent?: boolean; - opacity?: boolean; - optDisabled?: boolean; - optSelected?: boolean; - scriptEval?(): boolean; - style?: boolean; - submitBubbles?: boolean; - tbody?: boolean; -} - -// TODO jsgoupil fix signature -interface JQueryEventStatic { - fix(evt: any): any; -} - -interface JQueryParam { - (obj: any): string; - (obj: any, traditional: boolean): string; -} - -/** - * This is a private type. It exists for type checking. Do not explicitly declare an identifier with this type. - */ -interface _JQueryDeferred { - resolve: Function; - resolveWith: Function; - reject: Function; - rejectWith: Function; -} - -interface JQueryWhen { - (promise1: JQueryPromiseV, promise2: JQueryPromiseV): JQueryPromiseVV; - ( - promise1: JQueryPromiseV, - promise2: JQueryPromiseV, - promise3: JQueryPromiseV, - ): JQueryPromiseVVV; - (...deferreds: JQueryPromise[]): JQueryPromise; - apply($: JQueryStatic, deferreds: JQueryPromise[]): JQueryPromise; -} - -/* - Static members of jQuery (those on $ and jQuery themselves) -*/ -interface JQueryStatic { - /**** - AJAX - *****/ - ajax(settings: JQueryAjaxSettings): JQueryXHR; - ajax(url: string, settings?: JQueryAjaxSettings): JQueryXHR; - - ajaxPrefilter(dataTypes: string, handler: (opts: any, originalOpts: any, jqXHR: JQueryXHR) => any): any; - ajaxPrefilter(handler: (opts: any, originalOpts: any, jqXHR: JQueryXHR) => any): any; - - ajaxSettings: JQueryAjaxSettings; - - ajaxSetup(options: JQueryAjaxSettings): void; - - ajaxTransport( - dataType: string, - handler: ( - options: JQueryAjaxSettings, - originalOptions: JQueryAjaxSettings, - jqXHR: JQueryXHR, - ) => JQueryTransport, - ): any; - - get(url: string, data?: any, success?: any, dataType?: any): JQueryXHR; - getJSON(url: string, data?: any, success?: any): JQueryXHR; - getScript(url: string, success?: any): JQueryXHR; - - param: JQueryParam; - - post(url: string, data?: any, success?: any, dataType?: any): JQueryXHR; - - /********* - CALLBACKS - **********/ - Callbacks(flags?: string): JQueryCallback; - Callbacks(flags?: string): JQueryCallback1; - Callbacks(flags?: string): JQueryCallback2; - Callbacks(flags?: string): JQueryCallback3; - Callbacks(flags?: string): JQueryCallback4; - - /**** - CORE - *****/ - holdReady(hold: boolean): any; - - (selector: string, context?: any): JQuery; - (element: Element): JQuery; - (object: {}): JQuery; - (elementArray: Element[]): JQuery; - (object: JQuery): JQuery; - (func: Function): JQuery; - (array: any[]): JQuery; - (): JQuery; - - noConflict(removeAll?: boolean): Object; - - when: JQueryWhen; - - /*** - CSS - ****/ - css(e: any, propertyName: string, value?: any): JQuery; - css(e: any, propertyName: any, value?: any): JQuery; - cssHooks: { [key: string]: any }; - cssNumber: any; - - /**** - DATA - *****/ - data(element: Document, key?: string, value?: any): any; - data(element: Element, key: string, value: any): any; - data(element: Element, key: string): any; - data(element: Element): any; - - dequeue(element: Element, queueName?: string): any; - - hasData(element: Element): boolean; - - queue(element: Element, queueName?: string): any[]; - queue(element: Element, queueName: string, newQueueOrCallback: any): JQuery; - - removeData(element: Document, name?: string): JQuery; - removeData(element: Element, name?: string): JQuery; - - /******* - EFFECTS - ********/ - fx: { - tick: () => void; - interval: number; - stop: () => void; - speeds: { slow: number; fast: number }; - off: boolean; - step: any; - }; - - /****** - EVENTS - *******/ - proxy(fn: (...args: any[]) => any, context: any, ...args: any[]): any; - proxy(context: any, name: string, ...args: any[]): any; - Deferred: { - (fn?: (d: JQueryDeferred) => void): JQueryDeferred; - new (fn?: (d: JQueryDeferred) => void): JQueryDeferred; - - // Can't use a constraint against JQueryDeferred because the non-generic JQueryDeferred.resolve is not a base type of - // the generic JQueryDeferred.resolve methods. - (fn?: (d: TDeferred) => void): TDeferred; - new (fn?: (d: TDeferred) => void): TDeferred; - }; - Event(name: string, eventProperties?: any): JQueryEventObject; - Event(evt: JQueryEventObject, eventProperties?: any): JQueryEventObject; - - event: JQueryEventStatic; - - /********* - INTERNALS - **********/ - error(message: any): JQuery; - - /************* - MISCELLANEOUS - **************/ - expr: any; - fn: JQuery; - isReady: boolean; - - /********** - PROPERTIES - ***********/ - support: JQuerySupport; - - /********* - UTILITIES - **********/ - contains(container: Element, contained: Element): boolean; - - each(collection: any, callback: (indexInArray: any, valueOfElement: any) => any): any; - each(collection: JQuery, callback: (indexInArray: number, valueOfElement: HTMLElement) => any): JQuery; - each(collection: T[], callback: (indexInArray: number, valueOfElement: T) => void): T[]; - - extend(deep: boolean, target: any, ...objs: any[]): any; - extend(target: any, ...objs: any[]): any; - - globalEval(code: string): any; - - grep(array: T[], func: (elementOfArray: T, indexInArray: number) => boolean, invert?: boolean): T[]; - - inArray(value: T, array: T[], fromIndex?: number): number; - - isArray(obj: any): boolean; - isEmptyObject(obj: any): boolean; - isFunction(obj: any): boolean; - isNumeric(value: any): boolean; - isPlainObject(obj: any): boolean; - isWindow(obj: any): boolean; - isXMLDoc(node: Node): boolean; - - makeArray(obj: any): any[]; - - map(array: T[], callback: (elementOfArray: T, indexInArray: number) => U): U[]; - map(object: { [item: string]: T }, callback: (elementOfArray: T, indexInArray: string) => U): U[]; - map(array: any, callback: (elementOfArray: any, indexInArray: any) => any): any; - - merge(first: T[], second: T[]): T[]; - - noop(): any; - - now(): number; - - parseHTML(data: string, context?: Element, keepScripts?: boolean): Element[]; - - parseJSON(json: string): Object; - - //FIXME: This should return an XMLDocument - parseXML(data: string): any; - - trim(str: string): string; - - type(obj: any): string; - - unique(arr: T[]): T[]; -} - -interface JQueryTransport { - send( - headers: { [index: string]: string }, - completeCallback: ( - status: number, - statusText: string, - responses?: { [dataType: string]: any }, - headers?: string, - ) => any, - ): any; - abort(): any; -} - -/* - The jQuery instance members -*/ -interface JQuery { - /**** - AJAX - *****/ - ajaxComplete(handler: any): JQuery; - ajaxError(handler: (event: any, jqXHR: any, settings: any, exception: any) => any): JQuery; - ajaxSend(handler: (event: any, jqXHR: any, settings: any, exception: any) => any): JQuery; - ajaxStart(handler: () => any): JQuery; - ajaxStop(handler: () => any): JQuery; - ajaxSuccess(handler: (event: any, jqXHR: any, settings: any, exception: any) => any): JQuery; - - load(url: string, data?: any, complete?: any): JQuery; - - serialize(): string; - serializeArray(): any[]; - - /********** - ATTRIBUTES - ***********/ - addClass(classNames: string): JQuery; - addClass(func: (index: any, currentClass: any) => string): JQuery; - - // http://api.jquery.com/addBack/ - addBack(selector?: string): JQuery; - - attr(attributeName: string): string; - attr(attributeName: string, value: any): JQuery; - attr(map: { [key: string]: any }): JQuery; - attr(attributeName: string, func: (index: any, attr: any) => any): JQuery; - - hasClass(className: string): boolean; - - html(): string; - html(htmlString: number): JQuery; - html(htmlString: string): JQuery; - html(htmlContent: (index: number, oldhtml: string) => string): JQuery; - - prop(propertyName: string): any; - prop(propertyName: string, value: any): JQuery; - prop(map: any): JQuery; - prop(propertyName: string, func: (index: any, oldPropertyValue: any) => any): JQuery; - - removeAttr(attributeName: any): JQuery; - - removeClass(className?: any): JQuery; - removeClass(func: (index: any, cls: any) => any): JQuery; - - removeProp(propertyName: any): JQuery; - - toggleClass(className: any, swtch?: boolean): JQuery; - toggleClass(swtch?: boolean): JQuery; - toggleClass(func: (index: any, cls: any, swtch: any) => any): JQuery; - - val(): any; - val(value: string[]): JQuery; - val(value: string): JQuery; - val(value: number): JQuery; - val(func: (index: any, value: any) => any): JQuery; - - /*** - CSS - ****/ - css(propertyName: string): string; - css(propertyNames: string[]): string; - css(properties: any): JQuery; - css(propertyName: string, value: any): JQuery; - css(propertyName: any, value: any): JQuery; - - height(): number; - height(value: number): JQuery; - height(value: string): JQuery; - height(func: (index: any, height: any) => any): JQuery; - - innerHeight(): number; - innerWidth(): number; - - offset(): { left: number; top: number }; - offset(coordinates: any): JQuery; - offset(func: (index: any, coords: any) => any): JQuery; - - outerHeight(includeMargin?: boolean): number; - outerWidth(includeMargin?: boolean): number; - - position(): { top: number; left: number }; - - scrollLeft(): number; - scrollLeft(value: number): JQuery; - - scrollTop(): number; - scrollTop(value: number): JQuery; - - width(): number; - width(value: number): JQuery; - width(value: string): JQuery; - width(func: (index: any, height: any) => any): JQuery; - - /**** - DATA - *****/ - clearQueue(queueName?: string): JQuery; - - data(key: string, value: any): JQuery; - data(obj: { [key: string]: any }): JQuery; - data(key?: string): any; - - dequeue(queueName?: string): JQuery; - - removeData(nameOrList?: any): JQuery; - - /******** - DEFERRED - *********/ - promise(type?: any, target?: any): JQueryPromise; - - /******* - EFFECTS - ********/ - animate(properties: any, duration?: any, complete?: Function): JQuery; - animate(properties: any, duration?: any, easing?: string, complete?: Function): JQuery; - animate( - properties: any, - options: { - duration?: any; - easing?: string; - complete?: Function; - step?: Function; - queue?: boolean; - specialEasing?: any; - }, - ): JQuery; - - delay(duration: number, queueName?: string): JQuery; - - fadeIn(duration?: any, callback?: any): JQuery; - fadeIn(duration?: any, easing?: string, callback?: any): JQuery; - - fadeOut(duration?: any, callback?: any): JQuery; - fadeOut(duration?: any, easing?: string, callback?: any): JQuery; - - fadeTo(duration: any, opacity: number, callback?: any): JQuery; - fadeTo(duration: any, opacity: number, easing?: string, callback?: any): JQuery; - - fadeToggle(duration?: any, callback?: any): JQuery; - fadeToggle(duration?: any, easing?: string, callback?: any): JQuery; - - finish(): JQuery; - - hide(duration?: any, callback?: any): JQuery; - hide(duration?: any, easing?: string, callback?: any): JQuery; - - show(duration?: any, callback?: any): JQuery; - show(duration?: any, easing?: string, callback?: any): JQuery; - - slideDown(duration?: any, callback?: any): JQuery; - slideDown(duration?: any, easing?: string, callback?: any): JQuery; - - slideToggle(duration?: any, callback?: any): JQuery; - slideToggle(duration?: any, easing?: string, callback?: any): JQuery; - - slideUp(duration?: any, callback?: any): JQuery; - slideUp(duration?: any, easing?: string, callback?: any): JQuery; - - stop(clearQueue?: boolean, jumpToEnd?: boolean): JQuery; - stop(queue?: any, clearQueue?: boolean, jumpToEnd?: boolean): JQuery; - - toggle(duration?: any, callback?: any): JQuery; - toggle(duration?: any, easing?: string, callback?: any): JQuery; - toggle(showOrHide: boolean): JQuery; - - /****** - EVENTS - *******/ - bind(eventType: string, eventData?: any, handler?: (eventObject: JQueryEventObject) => any): JQuery; - bind(eventType: string, eventData: any, preventBubble: boolean): JQuery; - bind(eventType: string, preventBubble: boolean): JQuery; - bind(...events: any[]): JQuery; - - blur(eventData?: any, handler?: (eventObject: JQueryEventObject) => any): JQuery; - blur(handler: (eventObject: JQueryEventObject) => any): JQuery; - - change(eventData?: any, handler?: (eventObject: JQueryEventObject) => any): JQuery; - change(handler: (eventObject: JQueryEventObject) => any): JQuery; - - click(eventData?: any, handler?: (eventObject: JQueryEventObject) => any): JQuery; - click(handler: (eventObject: JQueryEventObject) => any): JQuery; - - dblclick(eventData?: any, handler?: (eventObject: JQueryEventObject) => any): JQuery; - dblclick(handler: (eventObject: JQueryEventObject) => any): JQuery; - - delegate(selector: any, eventType: string, handler: (eventObject: JQueryEventObject) => any): JQuery; - - focus(eventData?: any, handler?: (eventObject: JQueryEventObject) => any): JQuery; - focus(handler: (eventObject: JQueryEventObject) => any): JQuery; - - focusin(eventData: any, handler: (eventObject: JQueryEventObject) => any): JQuery; - focusin(handler: (eventObject: JQueryEventObject) => any): JQuery; - - focusout(eventData: any, handler: (eventObject: JQueryEventObject) => any): JQuery; - focusout(handler: (eventObject: JQueryEventObject) => any): JQuery; - - hover( - handlerIn: (eventObject: JQueryEventObject) => any, - handlerOut: (eventObject: JQueryEventObject) => any, - ): JQuery; - hover(handlerInOut: (eventObject: JQueryEventObject) => any): JQuery; - - keydown(eventData?: any, handler?: (eventObject: JQueryKeyEventObject) => any): JQuery; - keydown(handler: (eventObject: JQueryKeyEventObject) => any): JQuery; - - keypress(eventData?: any, handler?: (eventObject: JQueryKeyEventObject) => any): JQuery; - keypress(handler: (eventObject: JQueryKeyEventObject) => any): JQuery; - - keyup(eventData?: any, handler?: (eventObject: JQueryKeyEventObject) => any): JQuery; - keyup(handler: (eventObject: JQueryKeyEventObject) => any): JQuery; - - load(eventData?: any, handler?: (eventObject: JQueryEventObject) => any): JQuery; - load(handler: (eventObject: JQueryEventObject) => any): JQuery; - - mousedown(): JQuery; - mousedown(eventData: any, handler: (eventObject: JQueryMouseEventObject) => any): JQuery; - mousedown(handler: (eventObject: JQueryMouseEventObject) => any): JQuery; - - mouseevent(eventData: any, handler: (eventObject: JQueryMouseEventObject) => any): JQuery; - mouseevent(handler: (eventObject: JQueryMouseEventObject) => any): JQuery; - - mouseenter(): JQuery; - mouseenter(eventData: any, handler: (eventObject: JQueryMouseEventObject) => any): JQuery; - mouseenter(handler: (eventObject: JQueryMouseEventObject) => any): JQuery; - - mouseleave(): JQuery; - mouseleave(eventData: any, handler: (eventObject: JQueryMouseEventObject) => any): JQuery; - mouseleave(handler: (eventObject: JQueryMouseEventObject) => any): JQuery; - - mousemove(): JQuery; - mousemove(eventData: any, handler: (eventObject: JQueryMouseEventObject) => any): JQuery; - mousemove(handler: (eventObject: JQueryMouseEventObject) => any): JQuery; - - mouseout(): JQuery; - mouseout(eventData: any, handler: (eventObject: JQueryMouseEventObject) => any): JQuery; - mouseout(handler: (eventObject: JQueryMouseEventObject) => any): JQuery; - - mouseover(): JQuery; - mouseover(eventData: any, handler: (eventObject: JQueryMouseEventObject) => any): JQuery; - mouseover(handler: (eventObject: JQueryMouseEventObject) => any): JQuery; - - mouseup(): JQuery; - mouseup(eventData: any, handler: (eventObject: JQueryMouseEventObject) => any): JQuery; - mouseup(handler: (eventObject: JQueryMouseEventObject) => any): JQuery; - - off(events?: string, selector?: any, handler?: (eventObject: JQueryEventObject) => any): JQuery; - off(eventsMap: { [key: string]: any }, selector?: any): JQuery; - - on(events: string, selector: any, data: any, handler: (eventObject: JQueryEventObject, args: any) => any): JQuery; - on(events: string, selector: any, handler: (eventObject: JQueryEventObject) => any): JQuery; - on(events: string, handler: (eventObject: JQueryEventObject, args: any) => any): JQuery; - on(eventsMap: { [key: string]: any }, selector?: any, data?: any): JQuery; - - one(events: string, selector?: any, data?: any, handler?: (eventObject: JQueryEventObject) => any): JQuery; - one(eventsMap: { [key: string]: any }, selector?: any, data?: any): JQuery; - - ready(handler: any): JQuery; - - resize(eventData?: any, handler?: (eventObject: JQueryEventObject) => any): JQuery; - resize(handler: (eventObject: JQueryEventObject) => any): JQuery; - - scroll(eventData?: any, handler?: (eventObject: JQueryEventObject) => any): JQuery; - scroll(handler: (eventObject: JQueryEventObject) => any): JQuery; - - select(eventData?: any, handler?: (eventObject: JQueryEventObject) => any): JQuery; - select(handler: (eventObject: JQueryEventObject) => any): JQuery; - - submit(eventData?: any, handler?: (eventObject: JQueryEventObject) => any): JQuery; - submit(handler: (eventObject: JQueryEventObject) => any): JQuery; - - trigger(eventType: string, ...extraParameters: any[]): JQuery; - trigger(event: JQueryEventObject, ...extraParameters: any[]): JQuery; - - triggerHandler(eventType: string, ...extraParameters: any[]): Object; - // JSGOUPIL: triggerHandler uses trigger, not documented though - triggerHandler(evt: JQueryEventObject): Object; - - unbind(eventType?: string, handler?: (eventObject: JQueryEventObject) => any): JQuery; - unbind(eventType: string, fls: boolean): JQuery; - unbind(evt: any): JQuery; - - undelegate(): JQuery; - undelegate(selector: any, eventType: string, handler?: (eventObject: JQueryEventObject) => any): JQuery; - undelegate(selector: any, events: any): JQuery; - undelegate(namespace: string): JQuery; - - unload(eventData?: any, handler?: (eventObject: JQueryEventObject) => any): JQuery; - unload(handler: (eventObject: JQueryEventObject) => any): JQuery; - - /********* - INTERNALS - **********/ - - context: Element; - jquery: string; - - error(handler: (eventObject: JQueryEventObject) => any): JQuery; - error(eventData: any, handler: (eventObject: JQueryEventObject) => any): JQuery; - - pushStack(elements: any[]): JQuery; - pushStack(elements: any[], name: any, arguments: any): JQuery; - - /************ - MANIPULATION - *************/ - after(...content: any[]): JQuery; - after(func: (index: any) => any): JQuery; - - append(...content: any[]): JQuery; - append(func: (index: any, html: any) => any): JQuery; - - appendTo(target: any): JQuery; - - before(...content: any[]): JQuery; - before(func: (index: any) => any): JQuery; - - clone(withDataAndEvents?: boolean, deepWithDataAndEvents?: boolean): JQuery; - - detach(selector?: any): JQuery; - - empty(): JQuery; - - insertAfter(target: any): JQuery; - insertBefore(target: any): JQuery; - - prepend(...content: any[]): JQuery; - prepend(func: (index: any, html: any) => any): JQuery; - - prependTo(target: any): JQuery; - - remove(selector?: any): JQuery; - - replaceAll(target: any): JQuery; - - replaceWith(func: any): JQuery; - - text(): string; - text(textString: any): JQuery; - text(textString: (index: number, text: string) => string): JQuery; - - toArray(): any[]; - - unwrap(): JQuery; - - wrap(wrappingElement: any): JQuery; - wrap(func: (index: any) => any): JQuery; - - wrapAll(wrappingElement: any): JQuery; - - wrapInner(wrappingElement: any): JQuery; - wrapInner(func: (index: any) => any): JQuery; - - /************* - MISCELLANEOUS - **************/ - each(func: (index: any, elem: Element) => any): JQuery; - - get(index?: number): any; - - index(): number; - index(selector: string): number; - index(element: any): number; - - /********** - PROPERTIES - ***********/ - length: number; - selector: string; - [x: string]: any; - [x: number]: HTMLElement; - - /********** - TRAVERSING - ***********/ - add(selector: string, context?: any): JQuery; - add(...elements: any[]): JQuery; - add(html: string): JQuery; - add(obj: JQuery): JQuery; - - children(selector?: any): JQuery; - - closest(selector: string): JQuery; - closest(selector: string, context?: Element): JQuery; - closest(obj: JQuery): JQuery; - closest(element: any): JQuery; - closest(selectors: any, context?: Element): any[]; - - contents(): JQuery; - - end(): JQuery; - - eq(index: number): JQuery; - - filter(selector: string): JQuery; - filter(func: (index: any) => any): JQuery; - filter(element: any): JQuery; - filter(obj: JQuery): JQuery; - - find(selector: string): JQuery; - find(element: any): JQuery; - find(obj: JQuery): JQuery; - - first(): JQuery; - - has(selector: string): JQuery; - has(contained: Element): JQuery; - - is(selector: string): boolean; - is(func: (index: any) => any): boolean; - is(element: any): boolean; - is(obj: JQuery): boolean; - - last(): JQuery; - - map(callback: (index: any, domElement: Element) => any): JQuery; - - next(selector?: string): JQuery; - - nextAll(selector?: string): JQuery; - - nextUntil(selector?: string, filter?: string): JQuery; - nextUntil(element?: Element, filter?: string): JQuery; - - not(selector: string): JQuery; - not(func: (index: any) => any): JQuery; - not(element: any): JQuery; - not(obj: JQuery): JQuery; - - offsetParent(): JQuery; - - parent(selector?: string): JQuery; - - parents(selector?: string): JQuery; - - parentsUntil(selector?: string, filter?: string): JQuery; - parentsUntil(element?: Element, filter?: string): JQuery; - - prev(selector?: string): JQuery; - - prevAll(selector?: string): JQuery; - - prevUntil(selector?: string, filter?: string): JQuery; - prevUntil(element?: Element, filter?: string): JQuery; - - siblings(selector?: string): JQuery; - - slice(start: number, end?: number): JQuery; - - /********* - UTILITIES - **********/ - - queue(queueName?: string): any[]; - queue(queueName: string, newQueueOrCallback: any): JQuery; - queue(newQueueOrCallback: any): JQuery; -} - -interface EventTarget { - //nodeName: string; //bugfix, duplicate identifier. see: http://stackoverflow.com/questions/14824143/duplicate-identifier-nodename-in-jquery-d-ts -} - -// TODO Rmove these and make jquery a proper module -declare module "jquery"; -declare var jQuery: JQueryStatic; -declare var $: JQueryStatic; diff --git a/src/Explorer/Graph/GraphExplorerComponent/GraphExplorer.tsx b/src/Explorer/Graph/GraphExplorerComponent/GraphExplorer.tsx index 3ce86a0f0..5ca296b57 100644 --- a/src/Explorer/Graph/GraphExplorerComponent/GraphExplorer.tsx +++ b/src/Explorer/Graph/GraphExplorerComponent/GraphExplorer.tsx @@ -1163,15 +1163,12 @@ export class GraphExplorer extends React.Component { - $.each( - documents, - (index: number, doc: { _graph_icon_property_value: string; icon: string; format: string }) => { - newIconsMap[doc["_graph_icon_property_value"]] = { - data: doc["icon"], - format: doc["format"], - }; - }, - ); + $.each(documents, (index: number, doc: any) => { + newIconsMap[doc["_graph_icon_property_value"]] = { + data: doc["icon"], + format: doc["format"], + }; + }); // Update graph configuration this.setState({ diff --git a/src/Explorer/Panes/PanelContainerComponent.tsx b/src/Explorer/Panes/PanelContainerComponent.tsx index 4ddc59033..fa2db4f42 100644 --- a/src/Explorer/Panes/PanelContainerComponent.tsx +++ b/src/Explorer/Panes/PanelContainerComponent.tsx @@ -29,7 +29,7 @@ export class PanelContainerComponent extends React.Component this.setState({ height: this.getPanelHeight() })); } @@ -62,12 +62,12 @@ export class PanelContainerComponent extends React.Component diff --git a/src/Explorer/Panes/__snapshots__/PanelContainerComponent.test.tsx.snap b/src/Explorer/Panes/__snapshots__/PanelContainerComponent.test.tsx.snap index 743138ca1..925e7b427 100644 --- a/src/Explorer/Panes/__snapshots__/PanelContainerComponent.test.tsx.snap +++ b/src/Explorer/Panes/__snapshots__/PanelContainerComponent.test.tsx.snap @@ -6,6 +6,7 @@ exports[`PaneContainerComponent test should be resize if notification console is customWidth="440px" headerClassName="panelHeader" headerText="test" + isFooterAtBottom={true} isLightDismiss={true} isOpen={true} onDismiss={[Function]} @@ -18,9 +19,9 @@ exports[`PaneContainerComponent test should be resize if notification console is Object { "commands": Object { "marginTop": 8, + "paddingTop": 0, }, "content": Object { - "height": "100%", "padding": 0, }, "header": Object { @@ -29,9 +30,6 @@ exports[`PaneContainerComponent test should be resize if notification console is "navigation": Object { "borderBottom": "1px solid #cccccc", }, - "scrollableContent": Object { - "height": "100%", - }, } } type={7} @@ -48,6 +46,7 @@ exports[`PaneContainerComponent test should render with panel content and header customWidth="440px" headerClassName="panelHeader" headerText="test" + isFooterAtBottom={true} isLightDismiss={true} isOpen={true} onDismiss={[Function]} @@ -60,9 +59,9 @@ exports[`PaneContainerComponent test should render with panel content and header Object { "commands": Object { "marginTop": 8, + "paddingTop": 0, }, "content": Object { - "height": "100%", "padding": 0, }, "header": Object { @@ -71,9 +70,6 @@ exports[`PaneContainerComponent test should render with panel content and header "navigation": Object { "borderBottom": "1px solid #cccccc", }, - "scrollableContent": Object { - "height": "100%", - }, } } type={7} diff --git a/src/Explorer/Tables/DataTable/DataTableBindingManager.ts b/src/Explorer/Tables/DataTable/DataTableBindingManager.ts index 0d04bd6da..6616a3af5 100644 --- a/src/Explorer/Tables/DataTable/DataTableBindingManager.ts +++ b/src/Explorer/Tables/DataTable/DataTableBindingManager.ts @@ -1,6 +1,8 @@ import * as ko from "knockout"; import * as _ from "underscore"; +import * as DataTable from "datatables.net-dt"; +import loadingIndicator3Squares from "../../../../images/LoadingIndicator_3Squares.gif"; import QueryTablesTab from "../../Tabs/QueryTablesTab"; import * as Constants from "../Constants"; import * as Entities from "../Entities"; @@ -94,7 +96,7 @@ function createDataTable( }); } - tableEntityListViewModel.table = DataTableBuilder.createDataTable($dataTable, { + tableEntityListViewModel.table = DataTableBuilder.createDataTable($dataTable, { // WARNING!!! SECURITY: If you add new columns, make sure you encode them if they are user strings from Azure (see encodeText) // so that they don't get interpreted as HTML in our page. colReorder: true, @@ -116,7 +118,7 @@ function createDataTable( sPrevious: "<", sLast: ">>", }, - sProcessing: '', + sProcessing: ``, oAria: { sSortAscending: "", sSortDescending: "", @@ -345,7 +347,7 @@ function updateSelectionStatus(oSettings: any): void { // TODO consider centralizing this "post-command" logic into some sort of Command Manager entity. // See VSO:166520: "[Storage Explorer] Consider adding a 'command manager' to track command post-effects." function updateDataTableFocus(queryTablesTabId: string): void { - var $activeElement: JQuery = $(document.activeElement); + var $activeElement: JQuery = $(document.activeElement); var isFocusLost: boolean = $activeElement.is("body"); // When focus is lost, "body" becomes the active element. var storageExplorerFrameHasFocus: boolean = document.hasFocus(); var operationManager = tableEntityListViewModelMap[queryTablesTabId].operationManager; diff --git a/src/Explorer/Tables/DataTable/DataTableBuilder.ts b/src/Explorer/Tables/DataTable/DataTableBuilder.ts index 2fc3000ba..54ee41553 100644 --- a/src/Explorer/Tables/DataTable/DataTableBuilder.ts +++ b/src/Explorer/Tables/DataTable/DataTableBuilder.ts @@ -1,3 +1,4 @@ +import * as DataTable from "datatables.net-dt"; import * as Utilities from "../Utilities"; /** @@ -8,7 +9,7 @@ import * as Utilities from "../Utilities"; * @param{$dataTableElem} JQuery data table element * @param{$settings} Settings to use when creating the data table */ -export function createDataTable($dataTableElem: JQuery, settings: any): DataTables.DataTable { +export function createDataTable($dataTableElem: JQuery, settings: any): DataTable.Api { return $dataTableElem.DataTable(applyDefaultRendering(settings)); } @@ -18,14 +19,14 @@ export function createDataTable($dataTableElem: JQuery, settings: any): DataTabl * @param{settings} The settings to check * @return The given settings with all columns having a rendering function */ -function applyDefaultRendering(settings: any): DataTables.SettingsLegacy { - var tableColumns: DataTables.ColumnLegacy[] = null; +function applyDefaultRendering(settings: DataTable.Config): any { + var tableColumns: any[] = null; - if (settings.aoColumns) { - tableColumns = settings.aoColumns; - } else if (settings.aoColumnDefs) { + if (settings.columns) { + tableColumns = settings.columns; + } else if (settings.columnDefs) { // for tables we use aoColumnDefs instead of aoColumns - tableColumns = settings.aoColumnDefs; + tableColumns = settings.columnDefs; } // either the settings had no columns defined, or they were called diff --git a/src/Explorer/Tables/DataTable/DataTableOperationManager.ts b/src/Explorer/Tables/DataTable/DataTableOperationManager.ts index fe0483836..47d202650 100644 --- a/src/Explorer/Tables/DataTable/DataTableOperationManager.ts +++ b/src/Explorer/Tables/DataTable/DataTableOperationManager.ts @@ -1,11 +1,11 @@ import ko from "knockout"; -import * as DataTableOperations from "./DataTableOperations"; import * as Constants from "../Constants"; +import * as Entities from "../Entities"; +import * as Utilities from "../Utilities"; +import * as DataTableOperations from "./DataTableOperations"; import TableCommands from "./TableCommands"; import TableEntityListViewModel from "./TableEntityListViewModel"; -import * as Utilities from "../Utilities"; -import * as Entities from "../Entities"; /* * Base class for data table row selection. @@ -13,9 +13,9 @@ import * as Entities from "../Entities"; export default class DataTableOperationManager { private _tableEntityListViewModel: TableEntityListViewModel; private _tableCommands: TableCommands; - private dataTable: JQuery; + private dataTable: JQuery; - constructor(table: JQuery, viewModel: TableEntityListViewModel, tableCommands: TableCommands) { + constructor(table: JQuery, viewModel: TableEntityListViewModel, tableCommands: TableCommands) { this.dataTable = table; this._tableEntityListViewModel = viewModel; this._tableCommands = tableCommands; @@ -25,7 +25,7 @@ export default class DataTableOperationManager { } private click = (event: JQueryEventObject) => { - var elem: JQuery = $(event.currentTarget); + var elem: JQuery = $(event.currentTarget); this.updateLastSelectedItem(elem, event.shiftKey); if (Utilities.isEnvironmentCtrlPressed(event)) { @@ -48,7 +48,7 @@ export default class DataTableOperationManager { if (isUpArrowKey || isDownArrowKey) { var lastSelectedItem: Entities.ITableEntity = this._tableEntityListViewModel.lastSelectedItem; - var dataTableRows: JQuery = $(Constants.htmlSelectors.dataTableAllRowsSelector); + var dataTableRows: JQuery = $(Constants.htmlSelectors.dataTableAllRowsSelector); var maximumIndex = dataTableRows.length - 1; // If can't find an index for lastSelectedItem, then either no item is previously selected or it goes across page. @@ -60,7 +60,7 @@ export default class DataTableOperationManager { : -1; var nextIndex: number = isUpArrowKey ? lastSelectedItemIndex - 1 : lastSelectedItemIndex + 1; var safeIndex: number = Utilities.ensureBetweenBounds(nextIndex, 0, maximumIndex); - var selectedRowElement: JQuery = dataTableRows.eq(safeIndex); + var selectedRowElement: JQuery = dataTableRows.eq(safeIndex); if (selectedRowElement) { if (event.shiftKey) { @@ -143,13 +143,13 @@ export default class DataTableOperationManager { return handled; } - private getEntityIdentity($elem: JQuery): Entities.ITableEntityIdentity { + private getEntityIdentity($elem: JQuery): Entities.ITableEntityIdentity { return { RowKey: $elem.attr(Constants.htmlAttributeNames.dataTableRowKeyAttr), }; } - private updateLastSelectedItem($elem: JQuery, isShiftSelect: boolean) { + private updateLastSelectedItem($elem: JQuery, isShiftSelect: boolean) { var entityIdentity: Entities.ITableEntityIdentity = this.getEntityIdentity($elem); var entity = this._tableEntityListViewModel.getItemFromCurrentPage( this._tableEntityListViewModel.getTableEntityKeys(entityIdentity.RowKey), @@ -162,7 +162,7 @@ export default class DataTableOperationManager { } } - private applySingleSelection($elem: JQuery) { + private applySingleSelection($elem: JQuery) { if ($elem) { var entityIdentity: Entities.ITableEntityIdentity = this.getEntityIdentity($elem); @@ -179,7 +179,7 @@ export default class DataTableOperationManager { ); } - private applyCtrlSelection($elem: JQuery): void { + private applyCtrlSelection($elem: JQuery): void { var koSelected: ko.ObservableArray = this._tableEntityListViewModel ? this._tableEntityListViewModel.selected : null; @@ -200,7 +200,7 @@ export default class DataTableOperationManager { } } - private applyShiftSelection($elem: JQuery): void { + private applyShiftSelection($elem: JQuery): void { var anchorItem = this._tableEntityListViewModel.lastSelectedAnchorItem; // If anchor item doesn't exist, use the first available item of current page instead @@ -228,7 +228,7 @@ export default class DataTableOperationManager { } } - private applyContextMenuSelection($elem: JQuery) { + private applyContextMenuSelection($elem: JQuery) { var entityIdentity: Entities.ITableEntityIdentity = this.getEntityIdentity($elem); if ( diff --git a/src/Explorer/Tables/DataTable/DataTableOperations.ts b/src/Explorer/Tables/DataTable/DataTableOperations.ts index e22f69292..de7103975 100644 --- a/src/Explorer/Tables/DataTable/DataTableOperations.ts +++ b/src/Explorer/Tables/DataTable/DataTableOperations.ts @@ -1,3 +1,4 @@ +import * as DataTables from "datatables.net"; import Q from "q"; import _ from "underscore"; import * as QueryBuilderConstants from "../Constants"; @@ -13,7 +14,7 @@ export function getRowSelector(selectorSchema: Entities.IProperty[]): string { return QueryBuilderConstants.htmlSelectors.dataTableAllRowsSelector + selector; } -export function isRowVisible(dataTableScrollBodyQuery: JQuery, element: HTMLElement): boolean { +export function isRowVisible(dataTableScrollBodyQuery: JQuery, element: Element): boolean { let isVisible = false; if (dataTableScrollBodyQuery.length && element) { @@ -26,16 +27,18 @@ export function isRowVisible(dataTableScrollBodyQuery: JQuery, element: HTMLElem return isVisible; } -export function scrollToRowIfNeeded(dataTableRows: JQuery, currentIndex: number, isScrollUp: boolean): void { +export function scrollToRowIfNeeded(dataTableRows: JQuery, currentIndex: number, isScrollUp: boolean): void { if (dataTableRows.length) { - const dataTableScrollBodyQuery: JQuery = $(QueryBuilderConstants.htmlSelectors.dataTableScrollBodySelector), - selectedRowElement: HTMLElement = dataTableRows.get(currentIndex); + const dataTableScrollBodyQuery: JQuery = $( + QueryBuilderConstants.htmlSelectors.dataTableScrollBodySelector, + ), + selectedRowElement: Element = dataTableRows.get(currentIndex); if (dataTableScrollBodyQuery.length && selectedRowElement) { const isVisible: boolean = isRowVisible(dataTableScrollBodyQuery, selectedRowElement); if (!isVisible) { - const selectedRowQuery: JQuery = $(selectedRowElement), + const selectedRowQuery: JQuery = $(selectedRowElement), scrollPosition: number = dataTableScrollBodyQuery.scrollTop(), selectedElementPosition: number = selectedRowQuery.position().top; let newScrollPosition = 0; @@ -54,8 +57,8 @@ export function scrollToRowIfNeeded(dataTableRows: JQuery, currentIndex: number, } export function scrollToTopIfNeeded(): void { - const $dataTableRows: JQuery = $(QueryBuilderConstants.htmlSelectors.dataTableAllRowsSelector), - $dataTableScrollBody: JQuery = $(QueryBuilderConstants.htmlSelectors.dataTableScrollBodySelector); + const $dataTableRows: JQuery = $(QueryBuilderConstants.htmlSelectors.dataTableAllRowsSelector), + $dataTableScrollBody: JQuery = $(QueryBuilderConstants.htmlSelectors.dataTableScrollBodySelector); if ($dataTableRows.length && $dataTableScrollBody.length) { $dataTableScrollBody.scrollTop(0); @@ -71,7 +74,7 @@ export function setPaginationButtonEventHandlers(): void { .attr("role", "button"); } -export function filterColumns(table: DataTables.DataTable, settings: boolean[]): void { +export function filterColumns(table: DataTables.Api, settings: boolean[]): void { settings && settings.forEach((value: boolean, index: number) => { table.column(index).visible(value, false); @@ -84,7 +87,7 @@ export function filterColumns(table: DataTables.DataTable, settings: boolean[]): * If no current order is specified, reorder the columns based on intial order. */ export function reorderColumns( - table: DataTables.DataTable, + table: DataTables.Api, targetOrder: number[], currentOrder?: number[], //eslint-disable-next-line @@ -108,7 +111,9 @@ export function reorderColumns( ? calculateTransformationOrder(currentOrder, targetOrder) : targetOrder; try { - $.fn.dataTable.ColReorder(table).fnOrder(transformationOrder); + // TODO: This possibly does not work with the new version of datatables. + // eslint-disable-next-line @typescript-eslint/no-explicit-any + ($.fn.dataTable as any).ColReorder(table).fnOrder(transformationOrder); } catch (err) { return Q.reject(err); } @@ -116,9 +121,9 @@ export function reorderColumns( return Q.resolve(null); } -export function resetColumns(table: DataTables.DataTable): void { - $.fn.dataTable.ColReorder(table).fnReset(); -} +// export function resetColumns(table: DataTables.DataTable): void { +// $.fn.dataTable.ColReorder(table).fnReset(); +// } /** * A table's initial order is described in the form of a natural ascending order. @@ -133,8 +138,10 @@ export function getInitialOrder(columnsCount: number): number[] { * Initial order: I = [0, 1, 2, 3, 4, 5, 6, 7, 8] <----> {prop0, prop1, prop2, prop3, prop4, prop5, prop6, prop7, prop8} * Current order: C = [0, 1, 2, 6, 7, 3, 4, 5, 8] <----> {prop0, prop1, prop2, prop6, prop7, prop3, prop4, prop5, prop8} */ -export function getCurrentOrder(table: DataTables.DataTable): number[] { - return $.fn.dataTable.ColReorder(table).fnOrder(); +export function getCurrentOrder(table: DataTables.Api): number[] { + // TODO: This possibly does not work with the new version of datatables. + // eslint-disable-next-line @typescript-eslint/no-explicit-any + return ($.fn.dataTable as any).ColReorder(table).fnOrder(); } /** @@ -178,8 +185,8 @@ export function calculateTransformationOrder(currentOrder: number[], targetOrder return transformationOrder; } -export function getDataTableHeaders(table: DataTables.DataTable): string[] { - const columns: DataTables.ColumnsMethods = table.columns(); +export function getDataTableHeaders(table: DataTables.Api): string[] { + const columns = table.columns(); let headers: string[] = []; if (columns) { // table.columns() return ColumnsMethods which is an array of arrays diff --git a/src/Explorer/Tables/DataTable/DataTableViewModel.ts b/src/Explorer/Tables/DataTable/DataTableViewModel.ts index df7e47f8a..417a20e17 100644 --- a/src/Explorer/Tables/DataTable/DataTableViewModel.ts +++ b/src/Explorer/Tables/DataTable/DataTableViewModel.ts @@ -1,14 +1,15 @@ import * as ko from "knockout"; import * as _ from "underscore"; -import { Action } from "../../../Shared/Telemetry/TelemetryConstants"; -import CacheBase from "./CacheBase"; +import { ItemDefinition, QueryIterator, Resource } from "@azure/cosmos"; +import * as DataTables from "datatables.net"; import * as CommonConstants from "../../../Common/Constants"; +import { Action } from "../../../Shared/Telemetry/TelemetryConstants"; +import * as TelemetryProcessor from "../../../Shared/Telemetry/TelemetryProcessor"; +import QueryTablesTab from "../../Tabs/QueryTablesTab"; import * as Constants from "../Constants"; import * as Entities from "../Entities"; -import QueryTablesTab from "../../Tabs/QueryTablesTab"; -import * as TelemetryProcessor from "../../../Shared/Telemetry/TelemetryProcessor"; -import { QueryIterator, ItemDefinition, Resource } from "@azure/cosmos"; +import CacheBase from "./CacheBase"; // This is the format of the data we will have to pass to Datatable render callback, // and property names are defined by Datatable as well. @@ -27,7 +28,7 @@ abstract class DataTableViewModel { public items = ko.observableArray(); public selected = ko.observableArray(); - public table: DataTables.DataTable; + public table: DataTables.Api; // The anchor item is for shift selection. i.e., select all items between anchor item and a give item. public lastSelectedAnchorItem: Entities.ITableEntity; diff --git a/src/Explorer/Tables/DataTable/TableEntityListViewModel.ts b/src/Explorer/Tables/DataTable/TableEntityListViewModel.ts index f9df0c0c7..99065057f 100644 --- a/src/Explorer/Tables/DataTable/TableEntityListViewModel.ts +++ b/src/Explorer/Tables/DataTable/TableEntityListViewModel.ts @@ -1,3 +1,4 @@ +import * as DataTables from "datatables.net"; import * as ko from "knockout"; import Q from "q"; import * as _ from "underscore"; @@ -56,7 +57,7 @@ function _parse(err: any): ErrorDataModel[] { function _getInnerErrors(message: string): any[] { /* - The backend error message has an inner-message which is a stringified object. + The backend error message has an inner-message which is a stringified object. For SQL errors, the "errors" property is an array of SqlErrorDataModel. Example: "Message: {"Errors":["Resource with specified id or name already exists"]}\r\nActivityId: 80005000008d40b6a, Request URI: /apps/19000c000c0a0005/services/mctestdocdbprod-MasterService-0-00066ab9937/partitions/900005f9000e676fb8/replicas/13000000000955p" @@ -131,7 +132,7 @@ export default class TableEntityListViewModel extends DataTableViewModel { return [{ key: Constants.EntityKeyNames.RowKey, value: rowKey }]; } - public reloadTable(useSetting: boolean = true, resetHeaders: boolean = true): DataTables.DataTable { + public reloadTable(useSetting: boolean = true, resetHeaders: boolean = true): DataTables.Api { this.clearCache(); this.clearSelection(); this.isCancelled = false; diff --git a/src/Explorer/Tables/QueryBuilder/QueryBuilderViewModel.ts b/src/Explorer/Tables/QueryBuilder/QueryBuilderViewModel.ts index 9e2c97d72..ed5c2f06b 100644 --- a/src/Explorer/Tables/QueryBuilder/QueryBuilderViewModel.ts +++ b/src/Explorer/Tables/QueryBuilder/QueryBuilderViewModel.ts @@ -1,3 +1,4 @@ +import * as DataTable from "datatables.net-dt"; import * as ko from "knockout"; import { KeyCodes } from "../../../Common/Constants"; import { userContext } from "../../../UserContext"; @@ -643,7 +644,7 @@ export default class QueryBuilderViewModel { return groupViewModels; }; - public runQuery = (): DataTables.DataTable => { + public runQuery = (): DataTable.Api => { return this._queryViewModel.runQuery(); }; diff --git a/src/Explorer/Tables/QueryBuilder/QueryViewModel.tsx b/src/Explorer/Tables/QueryBuilder/QueryViewModel.tsx index 426119206..e28e3cc7d 100644 --- a/src/Explorer/Tables/QueryBuilder/QueryViewModel.tsx +++ b/src/Explorer/Tables/QueryBuilder/QueryViewModel.tsx @@ -1,9 +1,10 @@ +import * as DataTables from "datatables.net"; import * as ko from "knockout"; import React from "react"; import * as _ from "underscore"; import { KeyCodes } from "../../../Common/Constants"; -import { useSidePanel } from "../../../hooks/useSidePanel"; import { userContext } from "../../../UserContext"; +import { useSidePanel } from "../../../hooks/useSidePanel"; import { TableQuerySelectPanel } from "../../Panes/Tables/TableQuerySelectPanel/TableQuerySelectPanel"; import QueryTablesTab from "../../Tabs/QueryTablesTab"; import { getQuotedCqlIdentifier } from "../CqlUtilities"; @@ -158,7 +159,7 @@ export default class QueryViewModel { notify: "always", }); - public runQuery = (): DataTables.DataTable => { + public runQuery = (): DataTables.Api => { let filter = this.setFilter(); if (filter && userContext.apiType !== "Cassandra") { filter = filter.replace(/"/g, "'"); @@ -176,7 +177,7 @@ export default class QueryViewModel { return this._tableEntityListViewModel.reloadTable(/*useSetting*/ false, /*resetHeaders*/ false); }; - public clearQuery = (): DataTables.DataTable => { + public clearQuery = (): DataTables.Api => { this.queryText(); this.topValue(); this.selectText(); diff --git a/src/Explorer/Tables/TableDataClient.ts b/src/Explorer/Tables/TableDataClient.ts index 596974d4d..830a2544f 100644 --- a/src/Explorer/Tables/TableDataClient.ts +++ b/src/Explorer/Tables/TableDataClient.ts @@ -281,7 +281,7 @@ export class CassandraAPIDataClient extends TableDataClient { query, paginationToken, }, - beforeSend: this.setAuthorizationHeader, + beforeSend: this.setAuthorizationHeader as any, cache: false, }); shouldNotify && @@ -423,7 +423,7 @@ export class CassandraAPIDataClient extends TableDataClient { keyspaceId: collection.databaseId, tableId: collection.id(), }, - beforeSend: this.setAuthorizationHeader, + beforeSend: this.setAuthorizationHeader as any, cache: false, }) .then( @@ -463,7 +463,7 @@ export class CassandraAPIDataClient extends TableDataClient { keyspaceId: collection.databaseId, tableId: collection.id(), }, - beforeSend: this.setAuthorizationHeader, + beforeSend: this.setAuthorizationHeader as any, cache: false, }) .then( @@ -496,7 +496,7 @@ export class CassandraAPIDataClient extends TableDataClient { resourceId: resourceId, query: query, }, - beforeSend: this.setAuthorizationHeader, + beforeSend: this.setAuthorizationHeader as any, cache: false, }).then( (data: any) => {