diff --git a/.gitignore b/.gitignore index 4cfb90bc95..ee8f533849 100755 --- a/.gitignore +++ b/.gitignore @@ -50,4 +50,5 @@ tests/_support/_generated/* /storage/oauth-public.key *.cache -.vagrant \ No newline at end of file + +.vagrant diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 2e650015b8..c25a834cb6 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -97,6 +97,15 @@ } } }, + "adler-32": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/adler-32/-/adler-32-1.2.0.tgz", + "integrity": "sha1-aj5r8KY5ALoVZSgIyxXGgT0aXyU=", + "requires": { + "exit-on-epipe": "~1.0.1", + "printj": "~1.1.0" + } + }, "ajv": { "version": "6.5.3", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.3.tgz", @@ -117,6 +126,19 @@ "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "requires": { + "punycode": "^2.1.0" + } } } }, @@ -1372,6 +1394,11 @@ "resolved": "https://registry.npmjs.org/bootstrap-less/-/bootstrap-less-3.3.8.tgz", "integrity": "sha1-cfKd1af//t/onxYFu63+CjONrlM=" }, + "bootstrap-table": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/bootstrap-table/-/bootstrap-table-1.12.1.tgz", + "integrity": "sha1-ycOXMGeEKpN8BdhjnszLAqvWumU=" + }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -1663,15 +1690,15 @@ } }, "caniuse-db": { - "version": "1.0.30000878", - "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000878.tgz", - "integrity": "sha512-xv+UnUOYvS53KH1Yb+qro28Ojd7hCqf/NIVap64KDopQ2sNPQbk9/Dv9/ekuhgEy5EafUZPY5OJEQmNOzX825A==", + "version": "1.0.30000880", + "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000880.tgz", + "integrity": "sha512-vkIXVXe+uJt+AL0nvRXgbD4EgbGb+YQ1OhEPEVapOXEhmvAgnpleNx3flmf+qCItmI4I7lyshHU4yCcxTRDaJg==", "dev": true }, "caniuse-lite": { - "version": "1.0.30000878", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000878.tgz", - "integrity": "sha512-/dCGTdLCnjVJno1mFRn7Y6eit3AYaeFzSrMQHCoK0LEQaWl5snuLex1Ky4b8/Qu2ig5NgTX4cJx65hH9546puA==", + "version": "1.0.30000880", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000880.tgz", + "integrity": "sha512-G2cDhHp0DshhwFJSurN7PByRTXgijs3eA3F9tGd5tf5vnTttDVuRI9bFna0WDMID4VYhGs2ob9U/K1A5+pm8pw==", "dev": true }, "caseless": { @@ -1689,6 +1716,21 @@ "lazy-cache": "^1.0.3" } }, + "cf-blob.js": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/cf-blob.js/-/cf-blob.js-0.0.1.tgz", + "integrity": "sha1-9at+EueYyvCMz4KMaaug8GPYP5k=" + }, + "cfb": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/cfb/-/cfb-1.0.8.tgz", + "integrity": "sha1-d/ITST1pfXVP2cD1UR6rWtctAs8=", + "requires": { + "commander": "^2.14.1", + "printj": "~1.1.2" + + } + }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", @@ -1872,6 +1914,22 @@ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", "dev": true }, + "codepage": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/codepage/-/codepage-1.14.0.tgz", + "integrity": "sha1-jL4lSBMjVZ19MHVxsP/5HnodL5k=", + "requires": { + "commander": "~2.14.1", + "exit-on-epipe": "~1.0.1" + }, + "dependencies": { + "commander": { + "version": "2.14.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.14.1.tgz", + "integrity": "sha512-+YR16o3rK53SmWHU3rEM3tPAh2rwb1yPcQX5irVn7mb0gXbwuCCrnkbV5+PBfETdfg1vui07nM6PCG1zndcjQw==" + } + } + }, "collection-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", @@ -1953,8 +2011,7 @@ "commander": { "version": "2.17.1", "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", - "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", - "dev": true + "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==" }, "commondir": { "version": "1.0.1", @@ -2163,6 +2220,15 @@ } } }, + "crc-32": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.0.tgz", + "integrity": "sha512-1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA==", + "requires": { + "exit-on-epipe": "~1.0.1", + "printj": "~1.1.0" + } + }, "create-ecdh": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", @@ -3044,6 +3110,12 @@ "strip-eof": "^1.0.0" } }, + "exit-on-epipe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz", + "integrity": "sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==" + + }, "expand-brackets": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", @@ -3342,6 +3414,11 @@ "loader-utils": "^1.0.2" } }, + "file-saver": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-1.3.8.tgz", + "integrity": "sha512-spKHSBQIxxS81N/O21WmuXA2F6wppUCsutpzenOeZzOCCJ5gEfcbqJP983IrpLXzYmXnMUa6J03SubcNPdKrlg==" + }, "file-type": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/file-type/-/file-type-4.4.0.tgz", @@ -3489,6 +3566,11 @@ "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", "dev": true }, + "frac": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/frac/-/frac-1.1.2.tgz", + "integrity": "sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==" + }, "fragment-cache": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", @@ -4582,6 +4664,11 @@ } } }, + "html2canvas": { + "version": "0.5.0-beta4", + "resolved": "https://registry.npmjs.org/html2canvas/-/html2canvas-0.5.0-beta4.tgz", + "integrity": "sha1-goLGKsX9eBaPVwK15IdxV8qT854=" + }, "http-cache-semantics": { "version": "3.8.1", "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", @@ -4823,6 +4910,7 @@ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" } + } }, "img-loader": { @@ -7401,18 +7489,6 @@ "schema-utils": "^0.4.0" }, "dependencies": { - "ajv": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.3.tgz", - "integrity": "sha512-LqZ9wY+fx3UMiiPd741yB2pj3hhil+hQc8taf4o2QGRFpWgZ2V5C8HA165DY9sS3fJwsk7uT7ZlFEyC3Ig3lLg==", - "dev": true, - "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, "cosmiconfig": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-4.0.0.tgz", @@ -7431,12 +7507,6 @@ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "dev": true - }, "js-yaml": { "version": "3.12.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", @@ -7447,12 +7517,6 @@ "esprima": "^4.0.0" } }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, "parse-json": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", @@ -8254,6 +8318,11 @@ "integrity": "sha512-T/KD65Ot0PB97xTrG8afQ46x3oiVhnfGjGESSI9NWYcG92+OUPZKkwHqGWXH2t9jK1crnQjubECW0FuOth+hxw==", "dev": true }, + "printj": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/printj/-/printj-1.1.2.tgz", + "integrity": "sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ==" + }, "private": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", @@ -9565,6 +9634,14 @@ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, + "ssf": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/ssf/-/ssf-0.10.2.tgz", + "integrity": "sha512-rDhAPm9WyIsY8eZEKyE8Qsotb3j/wBdvMWBUsOhJdfhKGLfQidRjiBUV0y/MkyCLiXQ38FG6LWW/VYUtqlIDZQ==", + "requires": { + "frac": "~1.1.2" + } + }, "sshpk": { "version": "1.14.2", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz", @@ -9806,6 +9883,57 @@ "whet.extend": "~0.9.9" } }, + "tableexport.jquery.plugin": { + "version": "1.9.15", + "resolved": "https://registry.npmjs.org/tableexport.jquery.plugin/-/tableexport.jquery.plugin-1.9.15.tgz", + "integrity": "sha512-qBErGTf0x6YRkl+Jf5fSXdQI1oEKGYNthFEl9wy2KkfxWseJ0CEg5C5rtCOEGdqXNeWosUVMnXznpO6hutudlA==", + "requires": { + "file-saver": ">=1.2.0", + "html2canvas": ">=0.5.0-beta4", + "jquery": ">=1.9.1", + "jspdf": "1.3.2 - 1.3.4", + "jspdf-autotable": "2.0.14 || 2.0.17", + "xlsx": ">=0.12.5" + }, + "dependencies": { + "adler32cs": { + "version": "github:chick307/adler32cs.js#7fd00ffa24bf173a1eeb987ce7a21ae214eff658", + "from": "github:chick307/adler32cs.js#7fd00ffa24bf173a1eeb987ce7a21ae214eff658" + }, + "filesaver.js": { + "version": "github:andyinabox/FileSaver.js#973b433b8fbaee9a11d53b9ae423b046742cfe32", + "from": "github:andyinabox/FileSaver.js#973b433b8fbaee9a11d53b9ae423b046742cfe32" + }, + "jspdf": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/jspdf/-/jspdf-1.3.4.tgz", + "integrity": "sha1-j0uu3Rj1wkYPAQdijHiYxgarKW8=", + "requires": { + "adler32cs": "github:chick307/adler32cs.js#7fd00ffa24bf173a1eeb987ce7a21ae214eff658", + "cf-blob.js": "0.0.1", + "filesaver.js": "github:andyinabox/FileSaver.js#973b433b8fbaee9a11d53b9ae423b046742cfe32" + }, + "dependencies": { + "adler32cs": { + "version": "github:chick307/adler32cs.js#7fd00ffa24bf173a1eeb987ce7a21ae214eff658", + "from": "github:chick307/adler32cs.js" + }, + "filesaver.js": { + "version": "github:andyinabox/FileSaver.js#973b433b8fbaee9a11d53b9ae423b046742cfe32", + "from": "github:andyinabox/FileSaver.js" + } + } + }, + "jspdf-autotable": { + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/jspdf-autotable/-/jspdf-autotable-2.0.17.tgz", + "integrity": "sha1-usPRFK4S1E4NeXVjTROZ+GZxbHc=", + "requires": { + "jspdf": "^1.0.272" + } + } + } + }, "tapable": { "version": "0.2.8", "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.8.tgz", @@ -10054,36 +10182,12 @@ "worker-farm": "^1.5.2" }, "dependencies": { - "ajv": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.3.tgz", - "integrity": "sha512-LqZ9wY+fx3UMiiPd741yB2pj3hhil+hQc8taf4o2QGRFpWgZ2V5C8HA165DY9sS3fJwsk7uT7ZlFEyC3Ig3lLg==", - "dev": true, - "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, "commander": { "version": "2.13.0", "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==", "dev": true }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, "schema-utils": { "version": "0.4.7", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", @@ -10241,21 +10345,6 @@ "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", "dev": true }, - "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "requires": { - "punycode": "^2.1.0" - }, - "dependencies": { - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - } - } - }, "urix": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", @@ -10515,24 +10604,6 @@ "yargs": "^8.0.2" }, "dependencies": { - "ajv": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.3.tgz", - "integrity": "sha512-LqZ9wY+fx3UMiiPd741yB2pj3hhil+hQc8taf4o2QGRFpWgZ2V5C8HA165DY9sS3fJwsk7uT7ZlFEyC3Ig3lLg==", - "dev": true, - "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "dev": true - }, "has-flag": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", @@ -10830,6 +10901,27 @@ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, + "xlsx": { + "version": "0.13.5", + "resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.13.5.tgz", + "integrity": "sha512-AQo8Anyuv8ZxegAH2EUJ9ZauLf3lIDPfmV7OpJi79LNW6jO4gsviJyQCjNCJY7Deu1SLCrr7LY6rM9N91ixaDQ==", + "requires": { + "adler-32": "~1.2.0", + "cfb": "~1.0.8", + "codepage": "~1.14.0", + "commander": "~2.15.1", + "crc-32": "~1.2.0", + "exit-on-epipe": "~1.0.1", + "ssf": "~0.10.2" + }, + "dependencies": { + "commander": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", + "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==" + } + } + }, "xtend": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", diff --git a/package.json b/package.json index 40ff2f4e07..4a4184ca05 100644 --- a/package.json +++ b/package.json @@ -28,6 +28,7 @@ "bootstrap-colorpicker": "^2.5.1", "bootstrap-datepicker": "^1.6.4", "bootstrap-less": "^3.3.8", + "bootstrap-table": "^1.12.1", "ekko-lightbox": "^5.1.1", "font-awesome": "^4.7.0", "icheck": "^1.0.2", @@ -40,6 +41,7 @@ "less-loader": "^4.1.0", "papaparse": "^4.3.3", "select2": "^4.0.3", + "tableexport.jquery.plugin": "^1.9.15", "tether": "^1.4.0", "vue-resource": "^1.3.3" } diff --git a/public/css/AdminLTE.css b/public/css/AdminLTE.css index df48364a7e..9089be3ccf 100755 Binary files a/public/css/AdminLTE.css and b/public/css/AdminLTE.css differ diff --git a/public/css/AdminLTE.css.map b/public/css/AdminLTE.css.map index e92f97e65b..311c875fa8 100644 Binary files a/public/css/AdminLTE.css.map and b/public/css/AdminLTE.css.map differ diff --git a/public/css/app.css b/public/css/app.css index efb9de9357..89a60fedb2 100644 Binary files a/public/css/app.css and b/public/css/app.css differ diff --git a/public/css/app.css.map b/public/css/app.css.map index 77d26dbaa3..051d67395d 100644 Binary files a/public/css/app.css.map and b/public/css/app.css.map differ diff --git a/public/css/build/all.css b/public/css/build/all.css index 3e71a55989..8042033fda 100644 Binary files a/public/css/build/all.css and b/public/css/build/all.css differ diff --git a/public/css/dist/all.css b/public/css/dist/all.css index 3e71a55989..f08aef2a4a 100644 Binary files a/public/css/dist/all.css and b/public/css/dist/all.css differ diff --git a/public/css/dist/bootstrap-table.css b/public/css/dist/bootstrap-table.css new file mode 100644 index 0000000000..31703a3264 Binary files /dev/null and b/public/css/dist/bootstrap-table.css differ diff --git a/public/js/FileSaver.min.js b/public/js/FileSaver.min.js deleted file mode 100644 index 9a1e397f20..0000000000 Binary files a/public/js/FileSaver.min.js and /dev/null differ diff --git a/public/js/bootstrap-table-locale-all.js b/public/js/bootstrap-table-locale-all.js deleted file mode 100755 index 2e02e8cc43..0000000000 Binary files a/public/js/bootstrap-table-locale-all.js and /dev/null differ diff --git a/public/js/bootstrap-table-locale-all.min.js b/public/js/bootstrap-table-locale-all.min.js deleted file mode 100755 index 38d47669de..0000000000 Binary files a/public/js/bootstrap-table-locale-all.min.js and /dev/null differ diff --git a/public/js/bootstrap-table.css b/public/js/bootstrap-table.css deleted file mode 100755 index b557667625..0000000000 Binary files a/public/js/bootstrap-table.css and /dev/null differ diff --git a/public/js/bootstrap-table.js b/public/js/bootstrap-table.js deleted file mode 100755 index 9813921f5b..0000000000 Binary files a/public/js/bootstrap-table.js and /dev/null differ diff --git a/public/js/bootstrap-table.min.css b/public/js/bootstrap-table.min.css deleted file mode 100755 index ad36a502bf..0000000000 Binary files a/public/js/bootstrap-table.min.css and /dev/null differ diff --git a/public/js/bootstrap-table.min.js b/public/js/bootstrap-table.min.js deleted file mode 100755 index 9723e1a67d..0000000000 Binary files a/public/js/bootstrap-table.min.js and /dev/null differ diff --git a/public/js/build/all.js b/public/js/build/all.js index d112eea011..2176fc0175 100644 Binary files a/public/js/build/all.js and b/public/js/build/all.js differ diff --git a/public/js/build/vue.js b/public/js/build/vue.js index cf32bfc100..d8dc57f9c7 100644 Binary files a/public/js/build/vue.js and b/public/js/build/vue.js differ diff --git a/public/js/build/vue.js.map b/public/js/build/vue.js.map index 9ecc1bb4b5..1aca84651c 100644 Binary files a/public/js/build/vue.js.map and b/public/js/build/vue.js.map differ diff --git a/public/js/dist/all.js b/public/js/dist/all.js index d112eea011..022106aa46 100644 Binary files a/public/js/dist/all.js and b/public/js/dist/all.js differ diff --git a/public/js/dist/bootstrap-table-simple-view.js b/public/js/dist/bootstrap-table-simple-view.js new file mode 100644 index 0000000000..c224ff0c55 Binary files /dev/null and b/public/js/dist/bootstrap-table-simple-view.js differ diff --git a/public/js/dist/bootstrap-table.js b/public/js/dist/bootstrap-table.js new file mode 100644 index 0000000000..3d732e3889 Binary files /dev/null and b/public/js/dist/bootstrap-table.js differ diff --git a/public/js/extensions/accent-neutralise/bootstrap-table-accent-neutralise.js b/public/js/extensions/accent-neutralise/bootstrap-table-accent-neutralise.js deleted file mode 100755 index dc7b4f08fc..0000000000 Binary files a/public/js/extensions/accent-neutralise/bootstrap-table-accent-neutralise.js and /dev/null differ diff --git a/public/js/extensions/accent-neutralise/bootstrap-table-accent-neutralise.min.js b/public/js/extensions/accent-neutralise/bootstrap-table-accent-neutralise.min.js deleted file mode 100755 index d7aa59839f..0000000000 Binary files a/public/js/extensions/accent-neutralise/bootstrap-table-accent-neutralise.min.js and /dev/null differ diff --git a/public/js/extensions/angular/bootstrap-table-angular.js b/public/js/extensions/angular/bootstrap-table-angular.js deleted file mode 100755 index 84c4ed330a..0000000000 Binary files a/public/js/extensions/angular/bootstrap-table-angular.js and /dev/null differ diff --git a/public/js/extensions/angular/bootstrap-table-angular.min.js b/public/js/extensions/angular/bootstrap-table-angular.min.js deleted file mode 100755 index 43c3d7df0f..0000000000 Binary files a/public/js/extensions/angular/bootstrap-table-angular.min.js and /dev/null differ diff --git a/public/js/extensions/cookie/bootstrap-table-cookie.js b/public/js/extensions/cookie/bootstrap-table-cookie.js deleted file mode 100755 index 1cc5c56070..0000000000 Binary files a/public/js/extensions/cookie/bootstrap-table-cookie.js and /dev/null differ diff --git a/public/js/extensions/cookie/bootstrap-table-cookie.min.js b/public/js/extensions/cookie/bootstrap-table-cookie.min.js deleted file mode 100755 index 425ef8b6f6..0000000000 Binary files a/public/js/extensions/cookie/bootstrap-table-cookie.min.js and /dev/null differ diff --git a/public/js/extensions/editable/bootstrap-table-editable.js b/public/js/extensions/editable/bootstrap-table-editable.js deleted file mode 100755 index 0bb43a6c21..0000000000 Binary files a/public/js/extensions/editable/bootstrap-table-editable.js and /dev/null differ diff --git a/public/js/extensions/editable/bootstrap-table-editable.min.js b/public/js/extensions/editable/bootstrap-table-editable.min.js deleted file mode 100755 index 5c95094998..0000000000 Binary files a/public/js/extensions/editable/bootstrap-table-editable.min.js and /dev/null differ diff --git a/public/js/extensions/export/bootstrap-table-export.js b/public/js/extensions/export/bootstrap-table-export.js deleted file mode 100755 index ef775c692c..0000000000 Binary files a/public/js/extensions/export/bootstrap-table-export.js and /dev/null differ diff --git a/public/js/extensions/export/bootstrap-table-export.min.js b/public/js/extensions/export/bootstrap-table-export.min.js deleted file mode 100755 index f2550f6265..0000000000 Binary files a/public/js/extensions/export/bootstrap-table-export.min.js and /dev/null differ diff --git a/public/js/extensions/export/tableExport.js b/public/js/extensions/export/tableExport.js deleted file mode 100644 index 124621767c..0000000000 Binary files a/public/js/extensions/export/tableExport.js and /dev/null differ diff --git a/public/js/extensions/export/tableExport.min.js b/public/js/extensions/export/tableExport.min.js deleted file mode 100644 index 7844ddfac0..0000000000 Binary files a/public/js/extensions/export/tableExport.min.js and /dev/null differ diff --git a/public/js/extensions/filter-control/bootstrap-table-filter-control.js b/public/js/extensions/filter-control/bootstrap-table-filter-control.js deleted file mode 100755 index fa696d3bb2..0000000000 Binary files a/public/js/extensions/filter-control/bootstrap-table-filter-control.js and /dev/null differ diff --git a/public/js/extensions/filter-control/bootstrap-table-filter-control.min.js b/public/js/extensions/filter-control/bootstrap-table-filter-control.min.js deleted file mode 100755 index 1de25e7d54..0000000000 Binary files a/public/js/extensions/filter-control/bootstrap-table-filter-control.min.js and /dev/null differ diff --git a/public/js/extensions/filter/bootstrap-table-filter.js b/public/js/extensions/filter/bootstrap-table-filter.js deleted file mode 100755 index 14af13da06..0000000000 Binary files a/public/js/extensions/filter/bootstrap-table-filter.js and /dev/null differ diff --git a/public/js/extensions/filter/bootstrap-table-filter.min.js b/public/js/extensions/filter/bootstrap-table-filter.min.js deleted file mode 100755 index 9d0e05704d..0000000000 Binary files a/public/js/extensions/filter/bootstrap-table-filter.min.js and /dev/null differ diff --git a/public/js/extensions/flat-json/bootstrap-table-flat-json.js b/public/js/extensions/flat-json/bootstrap-table-flat-json.js deleted file mode 100755 index 4bbf3a2a9e..0000000000 Binary files a/public/js/extensions/flat-json/bootstrap-table-flat-json.js and /dev/null differ diff --git a/public/js/extensions/flat-json/bootstrap-table-flat-json.min.js b/public/js/extensions/flat-json/bootstrap-table-flat-json.min.js deleted file mode 100755 index 844f5428dd..0000000000 Binary files a/public/js/extensions/flat-json/bootstrap-table-flat-json.min.js and /dev/null differ diff --git a/public/js/extensions/group-by-v2/bootstrap-table-group-by.css b/public/js/extensions/group-by-v2/bootstrap-table-group-by.css deleted file mode 100755 index 80b1161b76..0000000000 Binary files a/public/js/extensions/group-by-v2/bootstrap-table-group-by.css and /dev/null differ diff --git a/public/js/extensions/group-by-v2/bootstrap-table-group-by.js b/public/js/extensions/group-by-v2/bootstrap-table-group-by.js deleted file mode 100755 index f9a1092d48..0000000000 Binary files a/public/js/extensions/group-by-v2/bootstrap-table-group-by.js and /dev/null differ diff --git a/public/js/extensions/group-by-v2/bootstrap-table-group-by.min.js b/public/js/extensions/group-by-v2/bootstrap-table-group-by.min.js deleted file mode 100755 index 51532f2dc3..0000000000 Binary files a/public/js/extensions/group-by-v2/bootstrap-table-group-by.min.js and /dev/null differ diff --git a/public/js/extensions/group-by/bootstrap-table-group-by.css b/public/js/extensions/group-by/bootstrap-table-group-by.css deleted file mode 100755 index fce5a9a7b1..0000000000 Binary files a/public/js/extensions/group-by/bootstrap-table-group-by.css and /dev/null differ diff --git a/public/js/extensions/group-by/bootstrap-table-group-by.js b/public/js/extensions/group-by/bootstrap-table-group-by.js deleted file mode 100755 index 6f95e61bdd..0000000000 Binary files a/public/js/extensions/group-by/bootstrap-table-group-by.js and /dev/null differ diff --git a/public/js/extensions/group-by/bootstrap-table-group-by.min.js b/public/js/extensions/group-by/bootstrap-table-group-by.min.js deleted file mode 100755 index 9d55090040..0000000000 Binary files a/public/js/extensions/group-by/bootstrap-table-group-by.min.js and /dev/null differ diff --git a/public/js/extensions/key-events/bootstrap-table-key-events.js b/public/js/extensions/key-events/bootstrap-table-key-events.js deleted file mode 100755 index 887f803562..0000000000 Binary files a/public/js/extensions/key-events/bootstrap-table-key-events.js and /dev/null differ diff --git a/public/js/extensions/key-events/bootstrap-table-key-events.min.js b/public/js/extensions/key-events/bootstrap-table-key-events.min.js deleted file mode 100755 index db1561aa48..0000000000 Binary files a/public/js/extensions/key-events/bootstrap-table-key-events.min.js and /dev/null differ diff --git a/public/js/extensions/mobile/bootstrap-table-mobile.js b/public/js/extensions/mobile/bootstrap-table-mobile.js deleted file mode 100755 index 5fb6704338..0000000000 Binary files a/public/js/extensions/mobile/bootstrap-table-mobile.js and /dev/null differ diff --git a/public/js/extensions/mobile/bootstrap-table-mobile.min.js b/public/js/extensions/mobile/bootstrap-table-mobile.min.js deleted file mode 100755 index c693a824c3..0000000000 Binary files a/public/js/extensions/mobile/bootstrap-table-mobile.min.js and /dev/null differ diff --git a/public/js/extensions/multiple-search/bootstrap-table-multiple-search.js b/public/js/extensions/multiple-search/bootstrap-table-multiple-search.js deleted file mode 100755 index 22df2ae933..0000000000 Binary files a/public/js/extensions/multiple-search/bootstrap-table-multiple-search.js and /dev/null differ diff --git a/public/js/extensions/multiple-search/bootstrap-table-multiple-search.min.js b/public/js/extensions/multiple-search/bootstrap-table-multiple-search.min.js deleted file mode 100755 index 49cbf7c9d6..0000000000 Binary files a/public/js/extensions/multiple-search/bootstrap-table-multiple-search.min.js and /dev/null differ diff --git a/public/js/extensions/multiple-sort/bootstrap-table-multiple-sort.js b/public/js/extensions/multiple-sort/bootstrap-table-multiple-sort.js deleted file mode 100755 index 68f6a52f19..0000000000 Binary files a/public/js/extensions/multiple-sort/bootstrap-table-multiple-sort.js and /dev/null differ diff --git a/public/js/extensions/multiple-sort/bootstrap-table-multiple-sort.min.js b/public/js/extensions/multiple-sort/bootstrap-table-multiple-sort.min.js deleted file mode 100755 index a8cb610da8..0000000000 Binary files a/public/js/extensions/multiple-sort/bootstrap-table-multiple-sort.min.js and /dev/null differ diff --git a/public/js/extensions/natural-sorting/bootstrap-table-natural-sorting.js b/public/js/extensions/natural-sorting/bootstrap-table-natural-sorting.js deleted file mode 100755 index 8e84eb659b..0000000000 Binary files a/public/js/extensions/natural-sorting/bootstrap-table-natural-sorting.js and /dev/null differ diff --git a/public/js/extensions/natural-sorting/bootstrap-table-natural-sorting.min.js b/public/js/extensions/natural-sorting/bootstrap-table-natural-sorting.min.js deleted file mode 100755 index 2ccb66b63d..0000000000 Binary files a/public/js/extensions/natural-sorting/bootstrap-table-natural-sorting.min.js and /dev/null differ diff --git a/public/js/extensions/reorder-columns/bootstrap-table-reorder-columns.js b/public/js/extensions/reorder-columns/bootstrap-table-reorder-columns.js deleted file mode 100755 index 0c8b8b3f7e..0000000000 Binary files a/public/js/extensions/reorder-columns/bootstrap-table-reorder-columns.js and /dev/null differ diff --git a/public/js/extensions/reorder-columns/bootstrap-table-reorder-columns.min.js b/public/js/extensions/reorder-columns/bootstrap-table-reorder-columns.min.js deleted file mode 100755 index 50cad77bed..0000000000 Binary files a/public/js/extensions/reorder-columns/bootstrap-table-reorder-columns.min.js and /dev/null differ diff --git a/public/js/extensions/reorder-rows/bootstrap-table-reorder-rows.css b/public/js/extensions/reorder-rows/bootstrap-table-reorder-rows.css deleted file mode 100755 index 412ff145e3..0000000000 Binary files a/public/js/extensions/reorder-rows/bootstrap-table-reorder-rows.css and /dev/null differ diff --git a/public/js/extensions/reorder-rows/bootstrap-table-reorder-rows.js b/public/js/extensions/reorder-rows/bootstrap-table-reorder-rows.js deleted file mode 100755 index c733717695..0000000000 Binary files a/public/js/extensions/reorder-rows/bootstrap-table-reorder-rows.js and /dev/null differ diff --git a/public/js/extensions/reorder-rows/bootstrap-table-reorder-rows.min.js b/public/js/extensions/reorder-rows/bootstrap-table-reorder-rows.min.js deleted file mode 100755 index a47c9bbba8..0000000000 Binary files a/public/js/extensions/reorder-rows/bootstrap-table-reorder-rows.min.js and /dev/null differ diff --git a/public/js/extensions/resizable/bootstrap-table-resizable.js b/public/js/extensions/resizable/bootstrap-table-resizable.js deleted file mode 100755 index 8be7b09641..0000000000 Binary files a/public/js/extensions/resizable/bootstrap-table-resizable.js and /dev/null differ diff --git a/public/js/extensions/resizable/bootstrap-table-resizable.min.js b/public/js/extensions/resizable/bootstrap-table-resizable.min.js deleted file mode 100755 index 3b4a9ac9d1..0000000000 Binary files a/public/js/extensions/resizable/bootstrap-table-resizable.min.js and /dev/null differ diff --git a/public/js/extensions/sticky-header/bootstrap-table-sticky-header.css b/public/js/extensions/sticky-header/bootstrap-table-sticky-header.css deleted file mode 100755 index d0ea09cbf2..0000000000 Binary files a/public/js/extensions/sticky-header/bootstrap-table-sticky-header.css and /dev/null differ diff --git a/public/js/extensions/sticky-header/bootstrap-table-sticky-header.js b/public/js/extensions/sticky-header/bootstrap-table-sticky-header.js deleted file mode 100755 index d9fc6c5bd4..0000000000 Binary files a/public/js/extensions/sticky-header/bootstrap-table-sticky-header.js and /dev/null differ diff --git a/public/js/extensions/sticky-header/bootstrap-table-sticky-header.min.js b/public/js/extensions/sticky-header/bootstrap-table-sticky-header.min.js deleted file mode 100755 index 527f4d1d30..0000000000 Binary files a/public/js/extensions/sticky-header/bootstrap-table-sticky-header.min.js and /dev/null differ diff --git a/public/js/extensions/toolbar/bootstrap-table-toolbar.js b/public/js/extensions/toolbar/bootstrap-table-toolbar.js deleted file mode 100755 index e54bf936ce..0000000000 Binary files a/public/js/extensions/toolbar/bootstrap-table-toolbar.js and /dev/null differ diff --git a/public/js/extensions/toolbar/bootstrap-table-toolbar.min.js b/public/js/extensions/toolbar/bootstrap-table-toolbar.min.js deleted file mode 100755 index 5626a8419d..0000000000 Binary files a/public/js/extensions/toolbar/bootstrap-table-toolbar.min.js and /dev/null differ diff --git a/public/js/jspdf.min.js b/public/js/jspdf.min.js deleted file mode 100644 index e842d43616..0000000000 Binary files a/public/js/jspdf.min.js and /dev/null differ diff --git a/public/js/jspdf.plugin.autotable.js b/public/js/jspdf.plugin.autotable.js deleted file mode 100644 index efbd41c8b7..0000000000 Binary files a/public/js/jspdf.plugin.autotable.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-af-ZA.js b/public/js/locale/bootstrap-table-af-ZA.js deleted file mode 100755 index 1c7ff8891c..0000000000 Binary files a/public/js/locale/bootstrap-table-af-ZA.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-af-ZA.min.js b/public/js/locale/bootstrap-table-af-ZA.min.js deleted file mode 100755 index 2e502394d9..0000000000 Binary files a/public/js/locale/bootstrap-table-af-ZA.min.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-ar-SA.js b/public/js/locale/bootstrap-table-ar-SA.js deleted file mode 100755 index c36223633c..0000000000 Binary files a/public/js/locale/bootstrap-table-ar-SA.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-ar-SA.min.js b/public/js/locale/bootstrap-table-ar-SA.min.js deleted file mode 100755 index 178bc134ec..0000000000 Binary files a/public/js/locale/bootstrap-table-ar-SA.min.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-ca-ES.js b/public/js/locale/bootstrap-table-ca-ES.js deleted file mode 100755 index 2c992965e7..0000000000 Binary files a/public/js/locale/bootstrap-table-ca-ES.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-ca-ES.min.js b/public/js/locale/bootstrap-table-ca-ES.min.js deleted file mode 100755 index 064ae06961..0000000000 Binary files a/public/js/locale/bootstrap-table-ca-ES.min.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-cs-CZ.js b/public/js/locale/bootstrap-table-cs-CZ.js deleted file mode 100755 index d8c71307eb..0000000000 Binary files a/public/js/locale/bootstrap-table-cs-CZ.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-cs-CZ.min.js b/public/js/locale/bootstrap-table-cs-CZ.min.js deleted file mode 100755 index 1edc7f0939..0000000000 Binary files a/public/js/locale/bootstrap-table-cs-CZ.min.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-da-DK.js b/public/js/locale/bootstrap-table-da-DK.js deleted file mode 100755 index de38a17206..0000000000 Binary files a/public/js/locale/bootstrap-table-da-DK.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-da-DK.min.js b/public/js/locale/bootstrap-table-da-DK.min.js deleted file mode 100755 index ee30beefff..0000000000 Binary files a/public/js/locale/bootstrap-table-da-DK.min.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-de-DE.js b/public/js/locale/bootstrap-table-de-DE.js deleted file mode 100755 index efa48319f4..0000000000 Binary files a/public/js/locale/bootstrap-table-de-DE.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-de-DE.min.js b/public/js/locale/bootstrap-table-de-DE.min.js deleted file mode 100755 index 07ab4c7a9f..0000000000 Binary files a/public/js/locale/bootstrap-table-de-DE.min.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-el-GR.js b/public/js/locale/bootstrap-table-el-GR.js deleted file mode 100755 index dd74491090..0000000000 Binary files a/public/js/locale/bootstrap-table-el-GR.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-el-GR.min.js b/public/js/locale/bootstrap-table-el-GR.min.js deleted file mode 100755 index b63327540a..0000000000 Binary files a/public/js/locale/bootstrap-table-el-GR.min.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-en-US.js b/public/js/locale/bootstrap-table-en-US.js deleted file mode 100755 index c08db68bef..0000000000 Binary files a/public/js/locale/bootstrap-table-en-US.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-en-US.min.js b/public/js/locale/bootstrap-table-en-US.min.js deleted file mode 100755 index 21c1a009bd..0000000000 Binary files a/public/js/locale/bootstrap-table-en-US.min.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-es-AR.js b/public/js/locale/bootstrap-table-es-AR.js deleted file mode 100755 index 6f585f728f..0000000000 Binary files a/public/js/locale/bootstrap-table-es-AR.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-es-AR.min.js b/public/js/locale/bootstrap-table-es-AR.min.js deleted file mode 100755 index 5534f3dc40..0000000000 Binary files a/public/js/locale/bootstrap-table-es-AR.min.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-es-CR.js b/public/js/locale/bootstrap-table-es-CR.js deleted file mode 100755 index 7febab73cd..0000000000 Binary files a/public/js/locale/bootstrap-table-es-CR.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-es-CR.min.js b/public/js/locale/bootstrap-table-es-CR.min.js deleted file mode 100755 index 36cc924203..0000000000 Binary files a/public/js/locale/bootstrap-table-es-CR.min.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-es-ES.js b/public/js/locale/bootstrap-table-es-ES.js deleted file mode 100755 index 30448d7d80..0000000000 Binary files a/public/js/locale/bootstrap-table-es-ES.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-es-ES.min.js b/public/js/locale/bootstrap-table-es-ES.min.js deleted file mode 100755 index 185f922bdf..0000000000 Binary files a/public/js/locale/bootstrap-table-es-ES.min.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-es-MX.js b/public/js/locale/bootstrap-table-es-MX.js deleted file mode 100755 index f745fae2e6..0000000000 Binary files a/public/js/locale/bootstrap-table-es-MX.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-es-MX.min.js b/public/js/locale/bootstrap-table-es-MX.min.js deleted file mode 100755 index 0bb88df139..0000000000 Binary files a/public/js/locale/bootstrap-table-es-MX.min.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-es-NI.js b/public/js/locale/bootstrap-table-es-NI.js deleted file mode 100755 index 2e8aa2ab9f..0000000000 Binary files a/public/js/locale/bootstrap-table-es-NI.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-es-NI.min.js b/public/js/locale/bootstrap-table-es-NI.min.js deleted file mode 100755 index 265af8a048..0000000000 Binary files a/public/js/locale/bootstrap-table-es-NI.min.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-es-SP.js b/public/js/locale/bootstrap-table-es-SP.js deleted file mode 100755 index 7da9350da8..0000000000 Binary files a/public/js/locale/bootstrap-table-es-SP.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-es-SP.min.js b/public/js/locale/bootstrap-table-es-SP.min.js deleted file mode 100755 index 3e5d8f895a..0000000000 Binary files a/public/js/locale/bootstrap-table-es-SP.min.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-et-EE.js b/public/js/locale/bootstrap-table-et-EE.js deleted file mode 100755 index 3d71d10285..0000000000 Binary files a/public/js/locale/bootstrap-table-et-EE.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-et-EE.min.js b/public/js/locale/bootstrap-table-et-EE.min.js deleted file mode 100755 index e6391cfaa8..0000000000 Binary files a/public/js/locale/bootstrap-table-et-EE.min.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-fa-IR.js b/public/js/locale/bootstrap-table-fa-IR.js deleted file mode 100755 index 4cdee6e5aa..0000000000 Binary files a/public/js/locale/bootstrap-table-fa-IR.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-fa-IR.min.js b/public/js/locale/bootstrap-table-fa-IR.min.js deleted file mode 100755 index 0247231d0d..0000000000 Binary files a/public/js/locale/bootstrap-table-fa-IR.min.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-fr-BE.js b/public/js/locale/bootstrap-table-fr-BE.js deleted file mode 100755 index e4b7cf18e6..0000000000 Binary files a/public/js/locale/bootstrap-table-fr-BE.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-fr-BE.min.js b/public/js/locale/bootstrap-table-fr-BE.min.js deleted file mode 100755 index 89eb1d54aa..0000000000 Binary files a/public/js/locale/bootstrap-table-fr-BE.min.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-fr-FR.js b/public/js/locale/bootstrap-table-fr-FR.js deleted file mode 100755 index 802eaf643e..0000000000 Binary files a/public/js/locale/bootstrap-table-fr-FR.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-fr-FR.min.js b/public/js/locale/bootstrap-table-fr-FR.min.js deleted file mode 100755 index 4cdac8463a..0000000000 Binary files a/public/js/locale/bootstrap-table-fr-FR.min.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-he-IL.js b/public/js/locale/bootstrap-table-he-IL.js deleted file mode 100755 index 6a4a1790d5..0000000000 Binary files a/public/js/locale/bootstrap-table-he-IL.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-he-IL.min.js b/public/js/locale/bootstrap-table-he-IL.min.js deleted file mode 100755 index 26e8b51ff8..0000000000 Binary files a/public/js/locale/bootstrap-table-he-IL.min.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-hr-HR.js b/public/js/locale/bootstrap-table-hr-HR.js deleted file mode 100755 index f63a4fe5f4..0000000000 Binary files a/public/js/locale/bootstrap-table-hr-HR.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-hr-HR.min.js b/public/js/locale/bootstrap-table-hr-HR.min.js deleted file mode 100755 index 80c7344651..0000000000 Binary files a/public/js/locale/bootstrap-table-hr-HR.min.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-hu-HU.js b/public/js/locale/bootstrap-table-hu-HU.js deleted file mode 100755 index 353f098359..0000000000 Binary files a/public/js/locale/bootstrap-table-hu-HU.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-hu-HU.min.js b/public/js/locale/bootstrap-table-hu-HU.min.js deleted file mode 100755 index f48207f814..0000000000 Binary files a/public/js/locale/bootstrap-table-hu-HU.min.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-it-IT.js b/public/js/locale/bootstrap-table-it-IT.js deleted file mode 100755 index 0c2ea74751..0000000000 Binary files a/public/js/locale/bootstrap-table-it-IT.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-it-IT.min.js b/public/js/locale/bootstrap-table-it-IT.min.js deleted file mode 100755 index 32d1e98ac4..0000000000 Binary files a/public/js/locale/bootstrap-table-it-IT.min.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-ja-JP.js b/public/js/locale/bootstrap-table-ja-JP.js deleted file mode 100755 index 3a0f3eca8f..0000000000 Binary files a/public/js/locale/bootstrap-table-ja-JP.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-ja-JP.min.js b/public/js/locale/bootstrap-table-ja-JP.min.js deleted file mode 100755 index baf977d39f..0000000000 Binary files a/public/js/locale/bootstrap-table-ja-JP.min.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-ka-GE.js b/public/js/locale/bootstrap-table-ka-GE.js deleted file mode 100755 index 05da1421dd..0000000000 Binary files a/public/js/locale/bootstrap-table-ka-GE.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-ka-GE.min.js b/public/js/locale/bootstrap-table-ka-GE.min.js deleted file mode 100755 index 61cedd1a2f..0000000000 Binary files a/public/js/locale/bootstrap-table-ka-GE.min.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-ko-KR.js b/public/js/locale/bootstrap-table-ko-KR.js deleted file mode 100755 index c8cf703f4e..0000000000 Binary files a/public/js/locale/bootstrap-table-ko-KR.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-ko-KR.min.js b/public/js/locale/bootstrap-table-ko-KR.min.js deleted file mode 100755 index 6228ff6c6b..0000000000 Binary files a/public/js/locale/bootstrap-table-ko-KR.min.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-ms-MY.js b/public/js/locale/bootstrap-table-ms-MY.js deleted file mode 100755 index edb5eb61c9..0000000000 Binary files a/public/js/locale/bootstrap-table-ms-MY.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-ms-MY.min.js b/public/js/locale/bootstrap-table-ms-MY.min.js deleted file mode 100755 index 5bc0938562..0000000000 Binary files a/public/js/locale/bootstrap-table-ms-MY.min.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-nb-NO.js b/public/js/locale/bootstrap-table-nb-NO.js deleted file mode 100755 index 473051d257..0000000000 Binary files a/public/js/locale/bootstrap-table-nb-NO.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-nb-NO.min.js b/public/js/locale/bootstrap-table-nb-NO.min.js deleted file mode 100755 index 93fe50d01e..0000000000 Binary files a/public/js/locale/bootstrap-table-nb-NO.min.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-nl-NL.js b/public/js/locale/bootstrap-table-nl-NL.js deleted file mode 100755 index 72fa064f3f..0000000000 Binary files a/public/js/locale/bootstrap-table-nl-NL.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-nl-NL.min.js b/public/js/locale/bootstrap-table-nl-NL.min.js deleted file mode 100755 index cb134bcc13..0000000000 Binary files a/public/js/locale/bootstrap-table-nl-NL.min.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-pl-PL.js b/public/js/locale/bootstrap-table-pl-PL.js deleted file mode 100755 index af79be26dd..0000000000 Binary files a/public/js/locale/bootstrap-table-pl-PL.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-pl-PL.min.js b/public/js/locale/bootstrap-table-pl-PL.min.js deleted file mode 100755 index fe92d796b3..0000000000 Binary files a/public/js/locale/bootstrap-table-pl-PL.min.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-pt-BR.js b/public/js/locale/bootstrap-table-pt-BR.js deleted file mode 100755 index 63319a1111..0000000000 Binary files a/public/js/locale/bootstrap-table-pt-BR.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-pt-BR.min.js b/public/js/locale/bootstrap-table-pt-BR.min.js deleted file mode 100755 index e96cadc4b1..0000000000 Binary files a/public/js/locale/bootstrap-table-pt-BR.min.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-pt-PT.js b/public/js/locale/bootstrap-table-pt-PT.js deleted file mode 100755 index cb0b68277a..0000000000 Binary files a/public/js/locale/bootstrap-table-pt-PT.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-pt-PT.min.js b/public/js/locale/bootstrap-table-pt-PT.min.js deleted file mode 100755 index 7f5c35f079..0000000000 Binary files a/public/js/locale/bootstrap-table-pt-PT.min.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-ro-RO.js b/public/js/locale/bootstrap-table-ro-RO.js deleted file mode 100755 index 64cd1a7cb9..0000000000 Binary files a/public/js/locale/bootstrap-table-ro-RO.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-ro-RO.min.js b/public/js/locale/bootstrap-table-ro-RO.min.js deleted file mode 100755 index dbe23b9d66..0000000000 Binary files a/public/js/locale/bootstrap-table-ro-RO.min.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-ru-RU.js b/public/js/locale/bootstrap-table-ru-RU.js deleted file mode 100755 index 49d6ee271d..0000000000 Binary files a/public/js/locale/bootstrap-table-ru-RU.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-ru-RU.min.js b/public/js/locale/bootstrap-table-ru-RU.min.js deleted file mode 100755 index 7bb74db228..0000000000 Binary files a/public/js/locale/bootstrap-table-ru-RU.min.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-sk-SK.js b/public/js/locale/bootstrap-table-sk-SK.js deleted file mode 100755 index 1762762f1f..0000000000 Binary files a/public/js/locale/bootstrap-table-sk-SK.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-sk-SK.min.js b/public/js/locale/bootstrap-table-sk-SK.min.js deleted file mode 100755 index 1ffa3f6d10..0000000000 Binary files a/public/js/locale/bootstrap-table-sk-SK.min.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-sv-SE.js b/public/js/locale/bootstrap-table-sv-SE.js deleted file mode 100755 index 67b8eb4f6a..0000000000 Binary files a/public/js/locale/bootstrap-table-sv-SE.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-sv-SE.min.js b/public/js/locale/bootstrap-table-sv-SE.min.js deleted file mode 100755 index fcb1bc1df0..0000000000 Binary files a/public/js/locale/bootstrap-table-sv-SE.min.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-th-TH.js b/public/js/locale/bootstrap-table-th-TH.js deleted file mode 100755 index 938216888a..0000000000 Binary files a/public/js/locale/bootstrap-table-th-TH.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-th-TH.min.js b/public/js/locale/bootstrap-table-th-TH.min.js deleted file mode 100755 index f082014274..0000000000 Binary files a/public/js/locale/bootstrap-table-th-TH.min.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-tr-TR.js b/public/js/locale/bootstrap-table-tr-TR.js deleted file mode 100755 index df38a7900a..0000000000 Binary files a/public/js/locale/bootstrap-table-tr-TR.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-tr-TR.min.js b/public/js/locale/bootstrap-table-tr-TR.min.js deleted file mode 100755 index 595df9bd18..0000000000 Binary files a/public/js/locale/bootstrap-table-tr-TR.min.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-uk-UA.js b/public/js/locale/bootstrap-table-uk-UA.js deleted file mode 100755 index 6460fe3cdf..0000000000 Binary files a/public/js/locale/bootstrap-table-uk-UA.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-uk-UA.min.js b/public/js/locale/bootstrap-table-uk-UA.min.js deleted file mode 100755 index bc4a8d015e..0000000000 Binary files a/public/js/locale/bootstrap-table-uk-UA.min.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-ur-PK.js b/public/js/locale/bootstrap-table-ur-PK.js deleted file mode 100755 index 466498cf7c..0000000000 Binary files a/public/js/locale/bootstrap-table-ur-PK.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-ur-PK.min.js b/public/js/locale/bootstrap-table-ur-PK.min.js deleted file mode 100755 index cf77a8a95b..0000000000 Binary files a/public/js/locale/bootstrap-table-ur-PK.min.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-vi-VN.js b/public/js/locale/bootstrap-table-vi-VN.js deleted file mode 100755 index 42c81038b3..0000000000 Binary files a/public/js/locale/bootstrap-table-vi-VN.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-vi-VN.min.js b/public/js/locale/bootstrap-table-vi-VN.min.js deleted file mode 100755 index 42ab0e1558..0000000000 Binary files a/public/js/locale/bootstrap-table-vi-VN.min.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-zh-CN.js b/public/js/locale/bootstrap-table-zh-CN.js deleted file mode 100755 index e352922de3..0000000000 Binary files a/public/js/locale/bootstrap-table-zh-CN.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-zh-CN.min.js b/public/js/locale/bootstrap-table-zh-CN.min.js deleted file mode 100755 index e903fdf88e..0000000000 Binary files a/public/js/locale/bootstrap-table-zh-CN.min.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-zh-TW.js b/public/js/locale/bootstrap-table-zh-TW.js deleted file mode 100755 index ff3484f643..0000000000 Binary files a/public/js/locale/bootstrap-table-zh-TW.js and /dev/null differ diff --git a/public/js/locale/bootstrap-table-zh-TW.min.js b/public/js/locale/bootstrap-table-zh-TW.min.js deleted file mode 100755 index 87c11db147..0000000000 Binary files a/public/js/locale/bootstrap-table-zh-TW.min.js and /dev/null differ diff --git a/public/js/xlsx.core.min.js b/public/js/xlsx.core.min.js deleted file mode 100644 index dbec1de42d..0000000000 Binary files a/public/js/xlsx.core.min.js and /dev/null differ diff --git a/public/mix-manifest.json b/public/mix-manifest.json index f78c4a615a..10ddc47dad 100644 --- a/public/mix-manifest.json +++ b/public/mix-manifest.json @@ -1,14 +1,17 @@ { - "/js/build/vue.js": "/js/build/vue.js?id=f161c828ba87ea2a4f28", - "/css/AdminLTE.css": "/css/AdminLTE.css?id=dc5078a783e6e5262b34", - "/css/app.css": "/css/app.css?id=c73d64eeb75c3c3a0b03", + "/js/build/vue.js": "/js/build/vue.js?id=30fcbfa35e2c7c02bd8d", + "/css/AdminLTE.css": "/css/AdminLTE.css?id=5e72463a66acbcc740d5", + "/css/app.css": "/css/app.css?id=407edb63cc6b6dc62405", "/css/overrides.css": "/css/overrides.css?id=66c5fceedf2c98cc310b", - "/js/build/vue.js.map": "/js/build/vue.js.map?id=564565889b611ca6fa71", - "/css/AdminLTE.css.map": "/css/AdminLTE.css.map?id=6be7929500c3716cc827", - "/css/app.css.map": "/css/app.css.map?id=2d8fd3699fd3f6b8e8f5", + "/js/build/vue.js.map": "/js/build/vue.js.map?id=0c3defbb09c3f1f6a581", + "/css/AdminLTE.css.map": "/css/AdminLTE.css.map?id=0be7790b84909dca6a0a", + "/css/app.css.map": "/css/app.css.map?id=96b5c985e860716e6a16", "/css/overrides.css.map": "/css/overrides.css.map?id=06e49ad87d99ddfd85d8", - "/css/dist/all.css": "/css/dist/all.css?id=1edf5f95ffd1fdb0ffb3", - "/js/dist/all.js": "/js/dist/all.js?id=924985144fa5bd4f9163", - "/css/build/all.css": "/css/build/all.css?id=1edf5f95ffd1fdb0ffb3", - "/js/build/all.js": "/js/build/all.js?id=924985144fa5bd4f9163" -} \ No newline at end of file + "/css/dist/all.css": "/css/dist/all.css?id=1a5af142704ac1cd4af7", + "/js/dist/all.js": "/js/dist/all.js?id=cc4762447235ed643b40", + "/css/build/all.css": "/css/build/all.css?id=1a5af142704ac1cd4af7", + "/js/build/all.js": "/js/build/all.js?id=cc4762447235ed643b40", + "/js/dist/bootstrap-table.js": "/js/dist/bootstrap-table.js?id=7223478ba9bf2c6dfb4f", + "/js/dist/bootstrap-table-simple-view.js": "/js/dist/bootstrap-table-simple-view.js?id=3926b8f4aaad6ca20d31", + "/css/dist/bootstrap-table.css": "/css/dist/bootstrap-table.css?id=8340c60bfbc12c34d2e6" +} diff --git a/resources/assets/js/bootstrap-table.js b/resources/assets/js/bootstrap-table.js deleted file mode 100755 index f8715e9c4d..0000000000 --- a/resources/assets/js/bootstrap-table.js +++ /dev/null @@ -1,2690 +0,0 @@ -/** - * @author zhixin wen - * version: 1.9.1 - * https://github.com/wenzhixin/bootstrap-table/ - */ - -!function ($) { - 'use strict'; - - // TOOLS DEFINITION - // ====================== - - var cachedWidth = null; - - // it only does '%s', and return '' when arguments are undefined - var sprintf = function (str) { - var args = arguments, - flag = true, - i = 1; - - str = str.replace(/%s/g, function () { - var arg = args[i++]; - - if (typeof arg === 'undefined') { - flag = false; - return ''; - } - return arg; - }); - return flag ? str : ''; - }; - - var getPropertyFromOther = function (list, from, to, value) { - var result = ''; - $.each(list, function (i, item) { - if (item[from] === value) { - result = item[to]; - return false; - } - return true; - }); - return result; - }; - - var getFieldIndex = function (columns, field) { - var index = -1; - - $.each(columns, function (i, column) { - if (column.field === field) { - index = i; - return false; - } - return true; - }); - return index; - }; - - // http://jsfiddle.net/wenyi/47nz7ez9/3/ - var setFieldIndex = function (columns) { - var i, j, k, - totalCol = 0, - flag = []; - - for (i = 0; i < columns[0].length; i++) { - totalCol += columns[0][i].colspan || 1; - } - - for (i = 0; i < columns.length; i++) { - flag[i] = []; - for (j = 0; j < totalCol; j++) { - flag[i][j] = false; - } - } - - for (i = 0; i < columns.length; i++) { - for (j = 0; j < columns[i].length; j++) { - var r = columns[i][j], - rowspan = r.rowspan || 1, - colspan = r.colspan || 1, - index = $.inArray(false, flag[i]); - - if (colspan === 1) { - r.fieldIndex = index; - // when field is undefined, use index instead - if (typeof r.field === 'undefined') { - r.field = index; - } - } - - for (k = 0; k < rowspan; k++) { - flag[i + k][index] = true; - } - for (k = 0; k < colspan; k++) { - flag[i][index + k] = true; - } - } - } - }; - - var getScrollBarWidth = function () { - if (cachedWidth === null) { - var inner = $('

').addClass('fixed-table-scroll-inner'), - outer = $('

').addClass('fixed-table-scroll-outer'), - w1, w2; - - outer.append(inner); - $('body').append(outer); - - w1 = inner[0].offsetWidth; - outer.css('overflow', 'scroll'); - w2 = inner[0].offsetWidth; - - if (w1 === w2) { - w2 = outer[0].clientWidth; - } - - outer.remove(); - cachedWidth = w1 - w2; - } - return cachedWidth; - }; - - var calculateObjectValue = function (self, name, args, defaultValue) { - var func = name; - - if (typeof name === 'string') { - // support obj.func1.func2 - var names = name.split('.'); - - if (names.length > 1) { - func = window; - $.each(names, function (i, f) { - func = func[f]; - }); - } else { - func = window[name]; - } - } - if (typeof func === 'object') { - return func; - } - if (typeof func === 'function') { - return func.apply(self, args); - } - if (!func && typeof name === 'string' && sprintf.apply(this, [name].concat(args))) { - return sprintf.apply(this, [name].concat(args)); - } - return defaultValue; - }; - - var compareObjects = function (objectA, objectB, compareLength) { - // Create arrays of property names - var objectAProperties = Object.getOwnPropertyNames(objectA), - objectBProperties = Object.getOwnPropertyNames(objectB), - propName = ''; - - if (compareLength) { - // If number of properties is different, objects are not equivalent - if (objectAProperties.length !== objectBProperties.length) { - return false; - } - } - - for (var i = 0; i < objectAProperties.length; i++) { - propName = objectAProperties[i]; - - // If the property is not in the object B properties, continue with the next property - if ($.inArray(propName, objectBProperties) > -1) { - // If values of same property are not equal, objects are not equivalent - if (objectA[propName] !== objectB[propName]) { - return false; - } - } - } - - // If we made it this far, objects are considered equivalent - return true; - }; - - var escapeHTML = function (text) { - if (typeof text === 'string') { - return text - .replace(/&/g, "&") - .replace(//g, ">") - .replace(/"/g, """) - .replace(/'/g, "'"); - } - return text; - }; - - var getRealHeight = function ($el) { - var height = 0; - $el.children().each(function () { - if (height < $(this).outerHeight(true)) { - height = $(this).outerHeight(true); - } - }); - return height; - }; - - var getRealDataAttr = function (dataAttr) { - for (var attr in dataAttr) { - var auxAttr = attr.split(/(?=[A-Z])/).join('-').toLowerCase(); - if (auxAttr !== attr) { - dataAttr[auxAttr] = dataAttr[attr]; - delete dataAttr[attr]; - } - } - - return dataAttr; - }; - - var getItemField = function (item, field) { - var value = item; - - if (typeof field !== 'string' || item.hasOwnProperty(field)) { - return item[field]; - } - var props = field.split('.'); - for (var p in props) { - value = value[props[p]]; - } - return value; - }; - - // BOOTSTRAP TABLE CLASS DEFINITION - // ====================== - - var BootstrapTable = function (el, options) { - this.options = options; - this.$el = $(el); - this.$el_ = this.$el.clone(); - this.timeoutId_ = 0; - this.timeoutFooter_ = 0; - - this.init(); - }; - - BootstrapTable.DEFAULTS = { - classes: 'table table-hover', - locale: undefined, - height: undefined, - undefinedText: '-', - sortName: undefined, - sortOrder: 'asc', - striped: false, - columns: [[]], - data: [], - dataField: 'rows', - method: 'get', - url: undefined, - ajax: undefined, - cache: true, - contentType: 'application/json', - dataType: 'json', - ajaxOptions: {}, - queryParams: function (params) { - return params; - }, - queryParamsType: 'limit', // undefined - responseHandler: function (res) { - return res; - }, - pagination: false, - onlyInfoPagination: false, - sidePagination: 'client', // client or server - totalRows: 0, // server side need to set - pageNumber: 1, - pageSize: 10, - pageList: [10, 25, 50, 100], - paginationHAlign: 'right', //right, left - paginationVAlign: 'bottom', //bottom, top, both - paginationDetailHAlign: 'left', //right, left - paginationFirstText: '«', - paginationPreText: '‹', - paginationNextText: '›', - paginationLastText: '»', - search: false, - strictSearch: false, - searchAlign: 'right', - selectItemName: 'btSelectItem', - showHeader: true, - showFooter: false, - showColumns: false, - showPaginationSwitch: false, - showRefresh: false, - showToggle: false, - buttonsAlign: 'right', - smartDisplay: true, - minimumCountColumns: 1, - idField: undefined, - uniqueId: undefined, - cardView: false, - detailView: false, - detailFormatter: function (index, row) { - return ''; - }, - trimOnSearch: true, - clickToSelect: false, - singleSelect: false, - toolbar: undefined, - toolbarAlign: 'left', - checkboxHeader: true, - sortable: true, - silentSort: true, - maintainSelected: false, - searchTimeOut: 500, - searchText: '', - iconSize: undefined, - iconsPrefix: 'glyphicon', // glyphicon of fa (font awesome) - icons: { - paginationSwitchDown: 'glyphicon-collapse-down icon-chevron-down', - paginationSwitchUp: 'glyphicon-collapse-up icon-chevron-up', - refresh: 'glyphicon-refresh icon-refresh', - toggle: 'glyphicon-list-alt icon-list-alt', - columns: 'glyphicon-th icon-th', - detailOpen: 'glyphicon-plus icon-plus', - detailClose: 'glyphicon-minus icon-minus' - }, - - rowStyle: function (row, index) { - return {}; - }, - - rowAttributes: function (row, index) { - return {}; - }, - - onAll: function (name, args) { - return false; - }, - onClickCell: function (field, value, row, $element) { - return false; - }, - onDblClickCell: function (field, value, row, $element) { - return false; - }, - onClickRow: function (item, $element) { - return false; - }, - onDblClickRow: function (item, $element) { - return false; - }, - onSort: function (name, order) { - return false; - }, - onCheck: function (row) { - return false; - }, - onUncheck: function (row) { - return false; - }, - onCheckAll: function (rows) { - return false; - }, - onUncheckAll: function (rows) { - return false; - }, - onCheckSome: function (rows) { - return false; - }, - onUncheckSome: function (rows) { - return false; - }, - onLoadSuccess: function (data) { - return false; - }, - onLoadError: function (status) { - return false; - }, - onColumnSwitch: function (field, checked) { - return false; - }, - onPageChange: function (number, size) { - return false; - }, - onSearch: function (text) { - return false; - }, - onToggle: function (cardView) { - return false; - }, - onPreBody: function (data) { - return false; - }, - onPostBody: function () { - return false; - }, - onPostHeader: function () { - return false; - }, - onExpandRow: function (index, row, $detail) { - return false; - }, - onCollapseRow: function (index, row) { - return false; - }, - onRefreshOptions: function (options) { - return false; - }, - onResetView: function () { - return false; - } - }; - - BootstrapTable.LOCALES = []; - - BootstrapTable.LOCALES['en-US'] = BootstrapTable.LOCALES['en'] = { - formatLoadingMessage: function () { - return 'Loading, please wait...'; - }, - formatRecordsPerPage: function (pageNumber) { - return sprintf('%s records per page', pageNumber); - }, - formatShowingRows: function (pageFrom, pageTo, totalRows) { - return sprintf('Showing %s to %s of %s rows', pageFrom, pageTo, totalRows); - }, - formatDetailPagination: function (totalRows) { - return sprintf('Showing %s rows', totalRows); - }, - formatSearch: function () { - return 'Search'; - }, - formatNoMatches: function () { - return 'No matching records found'; - }, - formatPaginationSwitch: function () { - return 'Hide/Show pagination'; - }, - formatRefresh: function () { - return 'Refresh'; - }, - formatToggle: function () { - return 'Toggle'; - }, - formatColumns: function () { - return 'Columns'; - }, - formatAllRows: function () { - return 'All'; - } - }; - - $.extend(BootstrapTable.DEFAULTS, BootstrapTable.LOCALES['en-US']); - - BootstrapTable.COLUMN_DEFAULTS = { - radio: false, - checkbox: false, - checkboxEnabled: true, - field: undefined, - title: undefined, - titleTooltip: undefined, - 'class': undefined, - align: undefined, // left, right, center - halign: undefined, // left, right, center - falign: undefined, // left, right, center - valign: undefined, // top, middle, bottom - width: undefined, - sortable: false, - order: 'asc', // asc, desc - visible: true, - switchable: true, - clickToSelect: true, - formatter: undefined, - footerFormatter: undefined, - events: undefined, - sorter: undefined, - sortName: undefined, - cellStyle: undefined, - searchable: true, - searchFormatter: true, - cardVisible: true - }; - - BootstrapTable.EVENTS = { - 'all.bs.table': 'onAll', - 'click-cell.bs.table': 'onClickCell', - 'dbl-click-cell.bs.table': 'onDblClickCell', - 'click-row.bs.table': 'onClickRow', - 'dbl-click-row.bs.table': 'onDblClickRow', - 'sort.bs.table': 'onSort', - 'check.bs.table': 'onCheck', - 'uncheck.bs.table': 'onUncheck', - 'check-all.bs.table': 'onCheckAll', - 'uncheck-all.bs.table': 'onUncheckAll', - 'check-some.bs.table': 'onCheckSome', - 'uncheck-some.bs.table': 'onUncheckSome', - 'load-success.bs.table': 'onLoadSuccess', - 'load-error.bs.table': 'onLoadError', - 'column-switch.bs.table': 'onColumnSwitch', - 'page-change.bs.table': 'onPageChange', - 'search.bs.table': 'onSearch', - 'toggle.bs.table': 'onToggle', - 'pre-body.bs.table': 'onPreBody', - 'post-body.bs.table': 'onPostBody', - 'post-header.bs.table': 'onPostHeader', - 'expand-row.bs.table': 'onExpandRow', - 'collapse-row.bs.table': 'onCollapseRow', - 'refresh-options.bs.table': 'onRefreshOptions', - 'reset-view.bs.table': 'onResetView' - }; - - BootstrapTable.prototype.init = function () { - this.initLocale(); - this.initContainer(); - this.initTable(); - this.initHeader(); - this.initData(); - this.initFooter(); - this.initToolbar(); - this.initPagination(); - this.initBody(); - this.initSearchText(); - this.initServer(); - }; - - BootstrapTable.prototype.initLocale = function () { - if (this.options.locale) { - var parts = this.options.locale.split(/-|_/); - parts[0].toLowerCase(); - parts[1] && parts[1].toUpperCase(); - if ($.fn.bootstrapTable.locales[this.options.locale]) { - // locale as requested - $.extend(this.options, $.fn.bootstrapTable.locales[this.options.locale]); - } else if ($.fn.bootstrapTable.locales[parts.join('-')]) { - // locale with sep set to - (in case original was specified with _) - $.extend(this.options, $.fn.bootstrapTable.locales[parts.join('-')]); - } else if ($.fn.bootstrapTable.locales[parts[0]]) { - // short locale language code (i.e. 'en') - $.extend(this.options, $.fn.bootstrapTable.locales[parts[0]]); - } - } - }; - - BootstrapTable.prototype.initContainer = function () { - this.$container = $([ - '
', - '
', - this.options.paginationVAlign === 'top' || this.options.paginationVAlign === 'both' ? - '
' : - '', - '
', - '
', - '
', - '
', - this.options.formatLoadingMessage(), - '
', - '
', - '', - this.options.paginationVAlign === 'bottom' || this.options.paginationVAlign === 'both' ? - '
' : - '', - '
', - '
' - ].join('')); - - this.$container.insertAfter(this.$el); - this.$tableContainer = this.$container.find('.fixed-table-container'); - this.$tableHeader = this.$container.find('.fixed-table-header'); - this.$tableBody = this.$container.find('.fixed-table-body'); - this.$tableLoading = this.$container.find('.fixed-table-loading'); - this.$tableFooter = this.$container.find('.fixed-table-footer'); - this.$toolbar = this.$container.find('.fixed-table-toolbar'); - this.$pagination = this.$container.find('.fixed-table-pagination'); - - this.$tableBody.append(this.$el); - this.$container.after('
'); - - this.$el.addClass(this.options.classes); - if (this.options.striped) { - this.$el.addClass('table-striped'); - } - if ($.inArray('table-no-bordered', this.options.classes.split(' ')) !== -1) { - this.$tableContainer.addClass('table-no-bordered'); - } - }; - - BootstrapTable.prototype.initTable = function () { - var that = this, - columns = [], - data = []; - - this.$header = this.$el.find('>thead'); - if (!this.$header.length) { - this.$header = $('').appendTo(this.$el); - } - this.$header.find('tr').each(function () { - var column = []; - - $(this).find('th').each(function () { - column.push($.extend({}, { - title: $(this).html(), - 'class': $(this).attr('class'), - titleTooltip: $(this).attr('title'), - rowspan: $(this).attr('rowspan') ? +$(this).attr('rowspan') : undefined, - colspan: $(this).attr('colspan') ? +$(this).attr('colspan') : undefined - }, $(this).data())); - }); - columns.push(column); - }); - if (!$.isArray(this.options.columns[0])) { - this.options.columns = [this.options.columns]; - } - this.options.columns = $.extend(true, [], columns, this.options.columns); - this.columns = []; - - setFieldIndex(this.options.columns); - $.each(this.options.columns, function (i, columns) { - $.each(columns, function (j, column) { - column = $.extend({}, BootstrapTable.COLUMN_DEFAULTS, column); - - if (typeof column.fieldIndex !== 'undefined') { - that.columns[column.fieldIndex] = column; - } - - that.options.columns[i][j] = column; - }); - }); - - // if options.data is setting, do not process tbody data - if (this.options.data.length) { - return; - } - - this.$el.find('>tbody>tr').each(function () { - var row = {}; - - // save tr's id, class and data-* attributes - row._id = $(this).attr('id'); - row._class = $(this).attr('class'); - row._data = getRealDataAttr($(this).data()); - - $(this).find('td').each(function (i) { - var field = that.columns[i].field; - - row[field] = $(this).html(); - // save td's id, class and data-* attributes - row['_' + field + '_id'] = $(this).attr('id'); - row['_' + field + '_class'] = $(this).attr('class'); - row['_' + field + '_rowspan'] = $(this).attr('rowspan'); - row['_' + field + '_title'] = $(this).attr('title'); - row['_' + field + '_data'] = getRealDataAttr($(this).data()); - }); - data.push(row); - }); - this.options.data = data; - }; - - BootstrapTable.prototype.initHeader = function () { - var that = this, - visibleColumns = {}, - html = []; - - this.header = { - fields: [], - styles: [], - classes: [], - formatters: [], - events: [], - sorters: [], - sortNames: [], - cellStyles: [], - searchables: [] - }; - - $.each(this.options.columns, function (i, columns) { - html.push(''); - - if (i == 0 && !that.options.cardView && that.options.detailView) { - html.push(sprintf('
', - that.options.columns.length)); - } - - $.each(columns, function (j, column) { - var text = '', - halign = '', // header align style - align = '', // body align style - style = '', - class_ = sprintf(' class="%s"', column['class']), - order = that.options.sortOrder || column.order, - unitWidth = 'px', - width = column.width; - - if (column.width !== undefined && (!that.options.cardView)) { - if (typeof column.width === 'string') { - if (column.width.indexOf('%') !== -1) { - unitWidth = '%'; - } - } - } - if (column.width && typeof column.width === 'string') { - width = column.width.replace('%', '').replace('px', ''); - } - - halign = sprintf('text-align: %s; ', column.halign ? column.halign : column.align); - align = sprintf('text-align: %s; ', column.align); - style = sprintf('vertical-align: %s; ', column.valign); - style += sprintf('width: %s; ', (column.checkbox || column.radio) && !width ? - '36px' : (width ? width + unitWidth : undefined)); - - if (typeof column.fieldIndex !== 'undefined') { - that.header.fields[column.fieldIndex] = column.field; - that.header.styles[column.fieldIndex] = align + style; - that.header.classes[column.fieldIndex] = class_; - that.header.formatters[column.fieldIndex] = column.formatter; - that.header.events[column.fieldIndex] = column.events; - that.header.sorters[column.fieldIndex] = column.sorter; - that.header.sortNames[column.fieldIndex] = column.sortName; - that.header.cellStyles[column.fieldIndex] = column.cellStyle; - that.header.searchables[column.fieldIndex] = column.searchable; - - if (!column.visible) { - return; - } - - if (that.options.cardView && (!column.cardVisible)) { - return; - } - - visibleColumns[column.field] = column; - } - - html.push(''); - - html.push(sprintf('
', that.options.sortable && column.sortable ? - 'sortable both' : '')); - - text = column.title; - - if (column.checkbox) { - if (!that.options.singleSelect && that.options.checkboxHeader) { - text = ''; - } - that.header.stateField = column.field; - } - if (column.radio) { - text = ''; - that.header.stateField = column.field; - that.options.singleSelect = true; - } - - html.push(text); - html.push('
'); - html.push('
'); - html.push('
'); - html.push(''); - }); - html.push(''); - }); - - this.$header.html(html.join('')); - this.$header.find('th[data-field]').each(function (i) { - $(this).data(visibleColumns[$(this).data('field')]); - }); - this.$container.off('click', '.th-inner').on('click', '.th-inner', function (event) { - if (that.options.sortable && $(this).parent().data().sortable) { - that.onSort(event); - } - }); - - this.$header.children().children().off('keypress').on('keypress', function (event) { - if (that.options.sortable && $(this).data().sortable) { - var code = event.keyCode || event.which; - if (code == 13) { //Enter keycode - that.onSort(event); - } - } - }); - - if (!this.options.showHeader || this.options.cardView) { - this.$header.hide(); - this.$tableHeader.hide(); - this.$tableLoading.css('top', 0); - } else { - this.$header.show(); - this.$tableHeader.show(); - this.$tableLoading.css('top', this.$header.outerHeight() + 1); - // Assign the correct sortable arrow - this.getCaret(); - } - - this.$selectAll = this.$header.find('[name="btSelectAll"]'); - this.$container.off('click', '[name="btSelectAll"]') - .on('click', '[name="btSelectAll"]', function () { - var checked = $(this).prop('checked'); - that[checked ? 'checkAll' : 'uncheckAll'](); - that.updateSelected(); - }); - }; - - BootstrapTable.prototype.initFooter = function () { - if (!this.options.showFooter || this.options.cardView) { - this.$tableFooter.hide(); - } else { - this.$tableFooter.show(); - } - }; - - /** - * @param data - * @param type: append / prepend - */ - BootstrapTable.prototype.initData = function (data, type) { - if (type === 'append') { - this.data = this.data.concat(data); - } else if (type === 'prepend') { - this.data = [].concat(data).concat(this.data); - } else { - this.data = data || this.options.data; - } - - // Fix #839 Records deleted when adding new row on filtered table - if (type === 'append') { - this.options.data = this.options.data.concat(data); - } else if (type === 'prepend') { - this.options.data = [].concat(data).concat(this.options.data); - } else { - this.options.data = this.data; - } - - if (this.options.sidePagination === 'server') { - return; - } - this.initSort(); - }; - - BootstrapTable.prototype.initSort = function () { - var that = this, - name = this.options.sortName, - order = this.options.sortOrder === 'desc' ? -1 : 1, - index = $.inArray(this.options.sortName, this.header.fields); - - if (index !== -1) { - this.data.sort(function (a, b) { - if (that.header.sortNames[index]) { - name = that.header.sortNames[index]; - } - var aa = getItemField(a, name), - bb = getItemField(b, name), - value = calculateObjectValue(that.header, that.header.sorters[index], [aa, bb]); - - if (value !== undefined) { - return order * value; - } - - // Fix #161: undefined or null string sort bug. - if (aa === undefined || aa === null) { - aa = ''; - } - if (bb === undefined || bb === null) { - bb = ''; - } - - // IF both values are numeric, do a numeric comparison - if ($.isNumeric(aa) && $.isNumeric(bb)) { - // Convert numerical values form string to float. - aa = parseFloat(aa); - bb = parseFloat(bb); - if (aa < bb) { - return order * -1; - } - return order; - } - - if (aa === bb) { - return 0; - } - - // If value is not a string, convert to string - if (typeof aa !== 'string') { - aa = aa.toString(); - } - - if (aa.localeCompare(bb) === -1) { - return order * -1; - } - - return order; - }); - } - }; - - BootstrapTable.prototype.onSort = function (event) { - var $this = event.type === "keypress" ? $(event.currentTarget) : $(event.currentTarget).parent(), - $this_ = this.$header.find('th').eq($this.index()); - - this.$header.add(this.$header_).find('span.order').remove(); - - if (this.options.sortName === $this.data('field')) { - this.options.sortOrder = this.options.sortOrder === 'asc' ? 'desc' : 'asc'; - } else { - this.options.sortName = $this.data('field'); - this.options.sortOrder = $this.data('order') === 'asc' ? 'desc' : 'asc'; - } - this.trigger('sort', this.options.sortName, this.options.sortOrder); - - $this.add($this_).data('order', this.options.sortOrder); - - // Assign the correct sortable arrow - this.getCaret(); - - if (this.options.sidePagination === 'server') { - this.initServer(this.options.silentSort); - return; - } - - this.initSort(); - this.initBody(); - }; - - BootstrapTable.prototype.initToolbar = function () { - var that = this, - html = [], - timeoutId = 0, - $keepOpen, - $search, - switchableCount = 0; - - this.$toolbar.html(''); - - if (typeof this.options.toolbar === 'string' || typeof this.options.toolbar === 'object') { - $(sprintf('
', this.options.toolbarAlign)) - .appendTo(this.$toolbar) - .append($(this.options.toolbar)); - } - - // showColumns, showToggle, showRefresh - html = [sprintf('
', - this.options.buttonsAlign, this.options.buttonsAlign)]; - - if (typeof this.options.icons === 'string') { - this.options.icons = calculateObjectValue(null, this.options.icons); - } - - if (this.options.showPaginationSwitch) { - html.push(sprintf(''); - } - - if (this.options.showRefresh) { - html.push(sprintf(''); - } - - if (this.options.showToggle) { - html.push(sprintf(''); - } - - if (this.options.showColumns) { - html.push(sprintf('
', - this.options.formatColumns()), - '', - '', - '
'); - } - - html.push('
'); - - // Fix #188: this.showToolbar is for extentions - if (this.showToolbar || html.length > 2) { - this.$toolbar.append(html.join('')); - } - - if (this.options.showPaginationSwitch) { - this.$toolbar.find('button[name="paginationSwitch"]') - .off('click').on('click', $.proxy(this.togglePagination, this)); - } - - if (this.options.showRefresh) { - this.$toolbar.find('button[name="refresh"]') - .off('click').on('click', $.proxy(this.refresh, this)); - } - - if (this.options.showToggle) { - this.$toolbar.find('button[name="toggle"]') - .off('click').on('click', function () { - that.toggleView(); - }); - } - - if (this.options.showColumns) { - $keepOpen = this.$toolbar.find('.keep-open'); - - if (switchableCount <= this.options.minimumCountColumns) { - $keepOpen.find('input').prop('disabled', true); - } - - $keepOpen.find('li').off('click').on('click', function (event) { - event.stopImmediatePropagation(); - }); - $keepOpen.find('input').off('click').on('click', function () { - var $this = $(this); - - that.toggleColumn(getFieldIndex(that.columns, - $(this).data('field')), $this.prop('checked'), false); - that.trigger('column-switch', $(this).data('field'), $this.prop('checked')); - }); - } - - if (this.options.search) { - html = []; - html.push( - ''); - - this.$toolbar.append(html.join('')); - $search = this.$toolbar.find('.search input'); - $search.off('keyup drop').on('keyup drop', function (event) { - clearTimeout(timeoutId); // doesn't matter if it's 0 - timeoutId = setTimeout(function () { - that.onSearch(event); - }, that.options.searchTimeOut); - }); - } - }; - - BootstrapTable.prototype.onSearch = function (event) { - var text = $.trim($(event.currentTarget).val()); - - // trim search input - if (this.options.trimOnSearch && $(event.currentTarget).val() !== text) { - $(event.currentTarget).val(text); - } - - if (text === this.searchText) { - return; - } - this.searchText = text; - - this.options.pageNumber = 1; - this.initSearch(); - this.updatePagination(); - this.trigger('search', text); - }; - - BootstrapTable.prototype.initSearch = function () { - var that = this; - - if (this.options.sidePagination !== 'server') { - var s = this.searchText && this.searchText.toLowerCase(); - var f = $.isEmptyObject(this.filterColumns) ? null : this.filterColumns; - - // Check filter - this.data = f ? $.grep(this.options.data, function (item, i) { - for (var key in f) { - if ($.isArray(f[key])) { - if ($.inArray(item[key], f[key]) === -1) { - return false; - } - } else if (item[key] !== f[key]) { - return false; - } - } - return true; - }) : this.options.data; - - this.data = s ? $.grep(this.data, function (item, i) { - for (var key in item) { - key = $.isNumeric(key) ? parseInt(key, 10) : key; - var value = item[key], - column = that.columns[getFieldIndex(that.columns, key)], - j = $.inArray(key, that.header.fields); - - // Fix #142: search use formated data - if (column && column.searchFormatter) { - value = calculateObjectValue(column, - that.header.formatters[j], [value, item, i], value); - } - - var index = $.inArray(key, that.header.fields); - if (index !== -1 && that.header.searchables[index] && (typeof value === 'string' || typeof value === 'number')) { - if (that.options.strictSearch) { - if ((value + '').toLowerCase() === s) { - return true; - } - } else { - if ((value + '').toLowerCase().indexOf(s) !== -1) { - return true; - } - } - } - } - return false; - }) : this.data; - } - }; - - BootstrapTable.prototype.initPagination = function () { - if (!this.options.pagination) { - this.$pagination.hide(); - return; - } else { - this.$pagination.show(); - } - - var that = this, - html = [], - $allSelected = false, - i, from, to, - $pageList, - $first, $pre, - $next, $last, - $number, - data = this.getData(); - - if (this.options.sidePagination !== 'server') { - this.options.totalRows = data.length; - } - - this.totalPages = 0; - if (this.options.totalRows) { - if (this.options.pageSize === this.options.formatAllRows()) { - this.options.pageSize = this.options.totalRows; - $allSelected = true; - } else if (this.options.pageSize === this.options.totalRows) { - // Fix #667 Table with pagination, - // multiple pages and a search that matches to one page throws exception - var pageLst = typeof this.options.pageList === 'string' ? - this.options.pageList.replace('[', '').replace(']', '') - .replace(/ /g, '').toLowerCase().split(',') : this.options.pageList; - if ($.inArray(this.options.formatAllRows().toLowerCase(), pageLst) > -1) { - $allSelected = true; - } - } - - this.totalPages = ~~((this.options.totalRows - 1) / this.options.pageSize) + 1; - - this.options.totalPages = this.totalPages; - } - if (this.totalPages > 0 && this.options.pageNumber > this.totalPages) { - this.options.pageNumber = this.totalPages; - } - - this.pageFrom = (this.options.pageNumber - 1) * this.options.pageSize + 1; - this.pageTo = this.options.pageNumber * this.options.pageSize; - if (this.pageTo > this.options.totalRows) { - this.pageTo = this.options.totalRows; - } - - html.push( - '
', - '', - this.options.onlyInfoPagination ? this.options.formatDetailPagination(this.options.totalRows) : - this.options.formatShowingRows(this.pageFrom, this.pageTo, this.options.totalRows), - ''); - - if (!this.options.onlyInfoPagination) { - html.push(''); - - var pageNumber = [ - sprintf('', - this.options.paginationVAlign === 'top' || this.options.paginationVAlign === 'both' ? - 'dropdown' : 'dropup'), - '', - ''); - - html.push(this.options.formatRecordsPerPage(pageNumber.join(''))); - html.push(''); - - html.push('
', - ''); - - } - this.$pagination.html(html.join('')); - - if (!this.options.onlyInfoPagination) { - $pageList = this.$pagination.find('.page-list a'); - $first = this.$pagination.find('.page-first'); - $pre = this.$pagination.find('.page-pre'); - $next = this.$pagination.find('.page-next'); - $last = this.$pagination.find('.page-last'); - $number = this.$pagination.find('.page-number'); - - if (this.options.pageNumber <= 1) { - $first.addClass('disabled'); - $pre.addClass('disabled'); - } - if (this.options.pageNumber >= this.totalPages) { - $next.addClass('disabled'); - $last.addClass('disabled'); - } - if (this.options.smartDisplay) { - if (this.totalPages <= 1) { - this.$pagination.find('div.pagination').hide(); - } - if (pageList.length < 2 || this.options.totalRows <= pageList[0]) { - this.$pagination.find('span.page-list').hide(); - } - - // when data is empty, hide the pagination - this.$pagination[this.getData().length ? 'show' : 'hide'](); - } - if ($allSelected) { - this.options.pageSize = this.options.formatAllRows(); - } - $pageList.off('click').on('click', $.proxy(this.onPageListChange, this)); - $first.off('click').on('click', $.proxy(this.onPageFirst, this)); - $pre.off('click').on('click', $.proxy(this.onPagePre, this)); - $next.off('click').on('click', $.proxy(this.onPageNext, this)); - $last.off('click').on('click', $.proxy(this.onPageLast, this)); - $number.off('click').on('click', $.proxy(this.onPageNumber, this)); - } - }; - - BootstrapTable.prototype.updatePagination = function (event) { - // Fix #171: IE disabled button can be clicked bug. - if (event && $(event.currentTarget).hasClass('disabled')) { - return; - } - - if (!this.options.maintainSelected) { - this.resetRows(); - } - - this.initPagination(); - if (this.options.sidePagination === 'server') { - this.initServer(); - } else { - this.initBody(); - } - - this.trigger('page-change', this.options.pageNumber, this.options.pageSize); - }; - - BootstrapTable.prototype.onPageListChange = function (event) { - var $this = $(event.currentTarget); - - $this.parent().addClass('active').siblings().removeClass('active'); - this.options.pageSize = $this.text().toUpperCase() === this.options.formatAllRows().toUpperCase() ? - this.options.formatAllRows() : +$this.text(); - this.$toolbar.find('.page-size').text(this.options.pageSize); - - this.updatePagination(event); - }; - - BootstrapTable.prototype.onPageFirst = function (event) { - this.options.pageNumber = 1; - this.updatePagination(event); - }; - - BootstrapTable.prototype.onPagePre = function (event) { - this.options.pageNumber--; - this.updatePagination(event); - }; - - BootstrapTable.prototype.onPageNext = function (event) { - this.options.pageNumber++; - this.updatePagination(event); - }; - - BootstrapTable.prototype.onPageLast = function (event) { - this.options.pageNumber = this.totalPages; - this.updatePagination(event); - }; - - BootstrapTable.prototype.onPageNumber = function (event) { - if (this.options.pageNumber === +$(event.currentTarget).text()) { - return; - } - this.options.pageNumber = +$(event.currentTarget).text(); - this.updatePagination(event); - }; - - BootstrapTable.prototype.initBody = function (fixedScroll) { - var that = this, - html = [], - data = this.getData(); - - this.trigger('pre-body', data); - - this.$body = this.$el.find('>tbody'); - if (!this.$body.length) { - this.$body = $('').appendTo(this.$el); - } - - //Fix #389 Bootstrap-table-flatJSON is not working - - if (!this.options.pagination || this.options.sidePagination === 'server') { - this.pageFrom = 1; - this.pageTo = data.length; - } - - for (var i = this.pageFrom - 1; i < this.pageTo; i++) { - var key, - item = data[i], - style = {}, - csses = [], - data_ = '', - attributes = {}, - htmlAttributes = []; - - style = calculateObjectValue(this.options, this.options.rowStyle, [item, i], style); - - if (style && style.css) { - for (key in style.css) { - csses.push(key + ': ' + style.css[key]); - } - } - - attributes = calculateObjectValue(this.options, - this.options.rowAttributes, [item, i], attributes); - - if (attributes) { - for (key in attributes) { - htmlAttributes.push(sprintf('%s="%s"', key, escapeHTML(attributes[key]))); - } - } - - if (item._data && !$.isEmptyObject(item._data)) { - $.each(item._data, function (k, v) { - // ignore data-index - if (k === 'index') { - return; - } - data_ += sprintf(' data-%s="%s"', k, v); - }); - } - - html.push('' - ); - - if (this.options.cardView) { - html.push(sprintf('', this.header.fields.length)); - } - - if (!this.options.cardView && this.options.detailView) { - html.push('', - '', - sprintf('', this.options.iconsPrefix, this.options.icons.detailOpen), - '', - ''); - } - - $.each(this.header.fields, function (j, field) { - var text = '', - value = getItemField(item, field), - type = '', - cellStyle = {}, - id_ = '', - class_ = that.header.classes[j], - data_ = '', - rowspan_ = '', - title_ = '', - column = that.columns[getFieldIndex(that.columns, field)]; - - if (!column.visible) { - return; - } - - style = sprintf('style="%s"', csses.concat(that.header.styles[j]).join('; ')); - - value = calculateObjectValue(column, - that.header.formatters[j], [value, item, i], value); - - // handle td's id and class - if (item['_' + field + '_id']) { - id_ = sprintf(' id="%s"', item['_' + field + '_id']); - } - if (item['_' + field + '_class']) { - class_ = sprintf(' class="%s"', item['_' + field + '_class']); - } - if (item['_' + field + '_rowspan']) { - rowspan_ = sprintf(' rowspan="%s"', item['_' + field + '_rowspan']); - } - if (item['_' + field + '_title']) { - title_ = sprintf(' title="%s"', item['_' + field + '_title']); - } - cellStyle = calculateObjectValue(that.header, - that.header.cellStyles[j], [value, item, i], cellStyle); - if (cellStyle.classes) { - class_ = sprintf(' class="%s"', cellStyle.classes); - } - if (cellStyle.css) { - var csses_ = []; - for (var key in cellStyle.css) { - csses_.push(key + ': ' + cellStyle.css[key]); - } - style = sprintf('style="%s"', csses_.concat(that.header.styles[j]).join('; ')); - } - - if (item['_' + field + '_data'] && !$.isEmptyObject(item['_' + field + '_data'])) { - $.each(item['_' + field + '_data'], function (k, v) { - // ignore data-index - if (k === 'index') { - return; - } - data_ += sprintf(' data-%s="%s"', k, v); - }); - } - - if (column.checkbox || column.radio) { - type = column.checkbox ? 'checkbox' : type; - type = column.radio ? 'radio' : type; - - text = [that.options.cardView ? - '
' : '', - '', - that.header.formatters[j] && typeof value === 'string' ? value : '', - that.options.cardView ? '
' : '' - ].join(''); - - item[that.header.stateField] = value === true || (value && value.checked); - } else { - value = typeof value === 'undefined' || value === null ? - that.options.undefinedText : value; - - text = that.options.cardView ? ['
', - that.options.showHeader ? sprintf('%s', style, - getPropertyFromOther(that.columns, 'field', 'title', field)) : '', - sprintf('%s', value), - '
' - ].join('') : [sprintf('', id_, class_, style, data_, rowspan_, title_), - value, - '' - ].join(''); - - // Hide empty data on Card view when smartDisplay is set to true. - if (that.options.cardView && that.options.smartDisplay && value === '') { - // Should set a placeholder for event binding correct fieldIndex - text = '
'; - } - } - - html.push(text); - }); - - if (this.options.cardView) { - html.push(''); - } - - html.push(''); - } - - // show no records - if (!html.length) { - html.push('', - sprintf('%s', - this.$header.find('th').length, this.options.formatNoMatches()), - ''); - } - - this.$body.html(html.join('')); - - if (!fixedScroll) { - this.scrollTo(0); - } - - // click to select by column - this.$body.find('> tr[data-index] > td').off('click dblclick').on('click dblclick', function (e) { - var $td = $(this), - $tr = $td.parent(), - item = that.data[$tr.data('index')], - index = $td[0].cellIndex, - field = that.header.fields[that.options.detailView && !that.options.cardView ? index - 1 : index], - column = that.columns[getFieldIndex(that.columns, field)], - value = getItemField(item, field); - - if ($td.find('.detail-icon').length) { - return; - } - - that.trigger(e.type === 'click' ? 'click-cell' : 'dbl-click-cell', field, value, item, $td); - that.trigger(e.type === 'click' ? 'click-row' : 'dbl-click-row', item, $tr); - - // if click to select - then trigger the checkbox/radio click - if (e.type === 'click' && that.options.clickToSelect && column.clickToSelect) { - var $selectItem = $tr.find(sprintf('[name="%s"]', that.options.selectItemName)); - if ($selectItem.length) { - $selectItem[0].click(); // #144: .trigger('click') bug - } - } - }); - - this.$body.find('> tr[data-index] > td > .detail-icon').off('click').on('click', function () { - var $this = $(this), - $tr = $this.parent().parent(), - index = $tr.data('index'), - row = data[index]; // Fix #980 Detail view, when searching, returns wrong row - - // remove and update - if ($tr.next().is('tr.detail-view')) { - $this.find('i').attr('class', sprintf('%s %s', that.options.iconsPrefix, that.options.icons.detailOpen)); - $tr.next().remove(); - that.trigger('collapse-row', index, row); - } else { - $this.find('i').attr('class', sprintf('%s %s', that.options.iconsPrefix, that.options.icons.detailClose)); - $tr.after(sprintf('%s', - $tr.find('td').length, calculateObjectValue(that.options, - that.options.detailFormatter, [index, row], ''))); - that.trigger('expand-row', index, row, $tr.next().find('td')); - } - that.resetView(); - }); - - this.$selectItem = this.$body.find(sprintf('[name="%s"]', this.options.selectItemName)); - this.$selectItem.off('click').on('click', function (event) { - event.stopImmediatePropagation(); - - var $this = $(this), - checked = $this.prop('checked'), - row = that.data[$this.data('index')]; - - if (that.options.maintainSelected && $(this).is(':radio')) { - $.each(that.options.data, function (i, row) { - row[that.header.stateField] = false; - }); - } - - row[that.header.stateField] = checked; - - if (that.options.singleSelect) { - that.$selectItem.not(this).each(function () { - that.data[$(this).data('index')][that.header.stateField] = false; - }); - that.$selectItem.filter(':checked').not(this).prop('checked', false); - } - - that.updateSelected(); - that.trigger(checked ? 'check' : 'uncheck', row, $this); - }); - - $.each(this.header.events, function (i, events) { - if (!events) { - return; - } - // fix bug, if events is defined with namespace - if (typeof events === 'string') { - events = calculateObjectValue(null, events); - } - - var field = that.header.fields[i], - fieldIndex = $.inArray(field, that.getVisibleFields()); - - if (that.options.detailView && !that.options.cardView) { - fieldIndex += 1; - } - - for (var key in events) { - that.$body.find('>tr:not(.no-records-found)').each(function () { - var $tr = $(this), - $td = $tr.find(that.options.cardView ? '.card-view' : 'td').eq(fieldIndex), - index = key.indexOf(' '), - name = key.substring(0, index), - el = key.substring(index + 1), - func = events[key]; - - $td.find(el).off(name).on(name, function (e) { - var index = $tr.data('index'), - row = that.data[index], - value = row[field]; - - func.apply(this, [e, value, row, index]); - }); - }); - } - }); - - this.updateSelected(); - this.resetView(); - - this.trigger('post-body'); - }; - - BootstrapTable.prototype.initServer = function (silent, query) { - var that = this, - data = {}, - params = { - pageSize: this.options.pageSize === this.options.formatAllRows() ? - this.options.totalRows : this.options.pageSize, - pageNumber: this.options.pageNumber, - searchText: this.searchText, - sortName: this.options.sortName, - sortOrder: this.options.sortOrder - }, - request; - - if (!this.options.url && !this.options.ajax) { - return; - } - - if (this.options.queryParamsType === 'limit') { - params = { - search: params.searchText, - sort: params.sortName, - order: params.sortOrder - }; - if (this.options.pagination) { - params.limit = this.options.pageSize === this.options.formatAllRows() ? - this.options.totalRows : this.options.pageSize; - params.offset = this.options.pageSize === this.options.formatAllRows() ? - 0 : this.options.pageSize * (this.options.pageNumber - 1); - } - } - - if (!($.isEmptyObject(this.filterColumnsPartial))) { - params['filter'] = JSON.stringify(this.filterColumnsPartial, null); - } - - data = calculateObjectValue(this.options, this.options.queryParams, [params], data); - - $.extend(data, query || {}); - - // false to stop request - if (data === false) { - return; - } - - if (!silent) { - this.$tableLoading.show(); - } - request = $.extend({}, calculateObjectValue(null, this.options.ajaxOptions), { - type: this.options.method, - url: this.options.url, - data: this.options.contentType === 'application/json' && this.options.method === 'post' ? - JSON.stringify(data) : data, - cache: this.options.cache, - contentType: this.options.contentType, - dataType: this.options.dataType, - success: function (res) { - res = calculateObjectValue(that.options, that.options.responseHandler, [res], res); - - that.load(res); - that.trigger('load-success', res); - }, - error: function (res) { - that.trigger('load-error', res.status, res); - }, - complete: function () { - if (!silent) { - that.$tableLoading.hide(); - } - } - }); - - if (this.options.ajax) { - calculateObjectValue(this, this.options.ajax, [request], null); - } else { - $.ajax(request); - } - }; - - BootstrapTable.prototype.initSearchText = function () { - if (this.options.search) { - if (this.options.searchText !== '') { - var $search = this.$toolbar.find('.search input'); - $search.val(this.options.searchText); - this.onSearch({currentTarget: $search}); - } - } - }; - - BootstrapTable.prototype.getCaret = function () { - var that = this; - - $.each(this.$header.find('th'), function (i, th) { - $(th).find('.sortable').removeClass('desc asc').addClass($(th).data('field') === that.options.sortName ? that.options.sortOrder : 'both'); - }); - }; - - BootstrapTable.prototype.updateSelected = function () { - var checkAll = this.$selectItem.filter(':enabled').length && - this.$selectItem.filter(':enabled').length === - this.$selectItem.filter(':enabled').filter(':checked').length; - - this.$selectAll.add(this.$selectAll_).prop('checked', checkAll); - - this.$selectItem.each(function () { - $(this).closest('tr')[$(this).prop('checked') ? 'addClass' : 'removeClass']('selected'); - }); - }; - - BootstrapTable.prototype.updateRows = function () { - var that = this; - - this.$selectItem.each(function () { - that.data[$(this).data('index')][that.header.stateField] = $(this).prop('checked'); - }); - }; - - BootstrapTable.prototype.resetRows = function () { - var that = this; - - $.each(this.data, function (i, row) { - that.$selectAll.prop('checked', false); - that.$selectItem.prop('checked', false); - if (that.header.stateField) { - row[that.header.stateField] = false; - } - }); - }; - - BootstrapTable.prototype.trigger = function (name) { - var args = Array.prototype.slice.call(arguments, 1); - - name += '.bs.table'; - this.options[BootstrapTable.EVENTS[name]].apply(this.options, args); - this.$el.trigger($.Event(name), args); - - this.options.onAll(name, args); - this.$el.trigger($.Event('all.bs.table'), [name, args]); - }; - - BootstrapTable.prototype.resetHeader = function () { - // fix #61: the hidden table reset header bug. - // fix bug: get $el.css('width') error sometime (height = 500) - clearTimeout(this.timeoutId_); - this.timeoutId_ = setTimeout($.proxy(this.fitHeader, this), this.$el.is(':hidden') ? 100 : 0); - }; - - BootstrapTable.prototype.fitHeader = function () { - var that = this, - fixedBody, - scrollWidth, - focused, - focusedTemp; - - if (that.$el.is(':hidden')) { - that.timeoutId_ = setTimeout($.proxy(that.fitHeader, that), 100); - return; - } - fixedBody = this.$tableBody.get(0); - - scrollWidth = fixedBody.scrollWidth > fixedBody.clientWidth && - fixedBody.scrollHeight > fixedBody.clientHeight + this.$header.outerHeight() ? - getScrollBarWidth() : 0; - - this.$el.css('margin-top', -this.$header.outerHeight()); - - focused = $(':focus'); - if (focused.length > 0) { - var $th = focused.parents('th'); - if ($th.length > 0) { - var dataField = $th.attr('data-field'); - if (dataField !== undefined) { - var $headerTh = this.$header.find("[data-field='" + dataField + "']"); - if ($headerTh.length > 0) { - $headerTh.find(":input").addClass("focus-temp"); - } - } - } - } - - this.$header_ = this.$header.clone(true, true); - this.$selectAll_ = this.$header_.find('[name="btSelectAll"]'); - this.$tableHeader.css({ - 'margin-right': scrollWidth - }).find('table').css('width', this.$el.outerWidth()) - .html('').attr('class', this.$el.attr('class')) - .append(this.$header_); - - - focusedTemp = $('.focus-temp:visible:eq(0)'); - if (focusedTemp.length > 0) { - focusedTemp.focus(); - this.$header.find('.focus-temp').removeClass('focus-temp'); - } - - // fix bug: $.data() is not working as expected after $.append() - this.$header.find('th[data-field]').each(function (i) { - that.$header_.find(sprintf('th[data-field="%s"]', $(this).data('field'))).data($(this).data()); - }); - - var visibleFields = this.getVisibleFields(); - - this.$body.find('>tr:first-child:not(.no-records-found) > *').each(function (i) { - var $this = $(this), - index = i; - - if (that.options.detailView && !that.options.cardView) { - if (i === 0) { - that.$header_.find('th.detail').find('.fht-cell').width($this.innerWidth()); - } - index = i - 1; - } - - that.$header_.find(sprintf('th[data-field="%s"]', visibleFields[index])) - .find('.fht-cell').width($this.innerWidth()); - }); - // horizontal scroll event - // TODO: it's probably better improving the layout than binding to scroll event - this.$tableBody.off('scroll').on('scroll', function () { - that.$tableHeader.scrollLeft($(this).scrollLeft()); - - if (that.options.showFooter && !that.options.cardView) { - that.$tableFooter.scrollLeft($(this).scrollLeft()); - } - }); - that.trigger('post-header'); - }; - - BootstrapTable.prototype.resetFooter = function () { - var that = this, - data = that.getData(), - html = []; - - if (!this.options.showFooter || this.options.cardView) { //do nothing - return; - } - - if (!this.options.cardView && this.options.detailView) { - html.push('
 
'); - } - - $.each(this.columns, function (i, column) { - var falign = '', // footer align style - style = '', - class_ = sprintf(' class="%s"', column['class']); - - if (!column.visible) { - return; - } - - if (that.options.cardView && (!column.cardVisible)) { - return; - } - - falign = sprintf('text-align: %s; ', column.falign ? column.falign : column.align); - style = sprintf('vertical-align: %s; ', column.valign); - - html.push(''); - html.push('
'); - - html.push(calculateObjectValue(column, column.footerFormatter, [data], ' ') || ' '); - - html.push('
'); - html.push('
'); - html.push(''); - html.push(''); - }); - - this.$tableFooter.find('tr').html(html.join('')); - clearTimeout(this.timeoutFooter_); - this.timeoutFooter_ = setTimeout($.proxy(this.fitFooter, this), - this.$el.is(':hidden') ? 100 : 0); - }; - - BootstrapTable.prototype.fitFooter = function () { - var that = this, - $footerTd, - elWidth, - scrollWidth; - - clearTimeout(this.timeoutFooter_); - if (this.$el.is(':hidden')) { - this.timeoutFooter_ = setTimeout($.proxy(this.fitFooter, this), 100); - return; - } - - elWidth = this.$el.css('width'); - scrollWidth = elWidth > this.$tableBody.width() ? getScrollBarWidth() : 0; - - this.$tableFooter.css({ - 'margin-right': scrollWidth - }).find('table').css('width', elWidth) - .attr('class', this.$el.attr('class')); - - $footerTd = this.$tableFooter.find('td'); - - this.$body.find('>tr:first-child:not(.no-records-found) > *').each(function (i) { - var $this = $(this); - - $footerTd.eq(i).find('.fht-cell').width($this.innerWidth()); - }); - }; - - BootstrapTable.prototype.toggleColumn = function (index, checked, needUpdate) { - if (index === -1) { - return; - } - this.columns[index].visible = checked; - this.initHeader(); - this.initSearch(); - this.initPagination(); - this.initBody(); - - if (this.options.showColumns) { - var $items = this.$toolbar.find('.keep-open input').prop('disabled', false); - - if (needUpdate) { - $items.filter(sprintf('[value="%s"]', index)).prop('checked', checked); - } - - if ($items.filter(':checked').length <= this.options.minimumCountColumns) { - $items.filter(':checked').prop('disabled', true); - } - } - }; - - BootstrapTable.prototype.toggleRow = function (index, uniqueId, visible) { - if (index === -1) { - return; - } - - this.$body.find(typeof index !== 'undefined' ? - sprintf('tr[data-index="%s"]', index) : - sprintf('tr[data-uniqueid="%s"]', uniqueId)) - [visible ? 'show' : 'hide'](); - }; - - BootstrapTable.prototype.getVisibleFields = function () { - var that = this, - visibleFields = []; - - $.each(this.header.fields, function (j, field) { - var column = that.columns[getFieldIndex(that.columns, field)]; - - if (!column.visible) { - return; - } - visibleFields.push(field); - }); - return visibleFields; - }; - - // PUBLIC FUNCTION DEFINITION - // ======================= - - BootstrapTable.prototype.resetView = function (params) { - var padding = 0; - - if (params && params.height) { - this.options.height = params.height; - } - - this.$selectAll.prop('checked', this.$selectItem.length > 0 && - this.$selectItem.length === this.$selectItem.filter(':checked').length); - - if (this.options.height) { - var toolbarHeight = getRealHeight(this.$toolbar), - paginationHeight = getRealHeight(this.$pagination), - height = this.options.height - toolbarHeight - paginationHeight; - - this.$tableContainer.css('height', height + 'px'); - } - - if (this.options.cardView) { - // remove the element css - this.$el.css('margin-top', '0'); - this.$tableContainer.css('padding-bottom', '0'); - return; - } - - if (this.options.showHeader && this.options.height) { - this.$tableHeader.show(); - this.resetHeader(); - padding += this.$header.outerHeight(); - } else { - this.$tableHeader.hide(); - this.trigger('post-header'); - } - - if (this.options.showFooter) { - this.resetFooter(); - if (this.options.height) { - padding += this.$tableFooter.outerHeight() + 1; - } - } - - // Assign the correct sortable arrow - this.getCaret(); - this.$tableContainer.css('padding-bottom', padding + 'px'); - this.trigger('reset-view'); - }; - - BootstrapTable.prototype.getData = function (useCurrentPage) { - return (this.searchText || !$.isEmptyObject(this.filterColumns) || !$.isEmptyObject(this.filterColumnsPartial)) ? - (useCurrentPage ? this.data.slice(this.pageFrom - 1, this.pageTo) : this.data) : - (useCurrentPage ? this.options.data.slice(this.pageFrom - 1, this.pageTo) : this.options.data); - }; - - BootstrapTable.prototype.load = function (data) { - var fixedScroll = false; - - // #431: support pagination - if (this.options.sidePagination === 'server') { - this.options.totalRows = data.total; - fixedScroll = data.fixedScroll; - data = data[this.options.dataField]; - } else if (!$.isArray(data)) { // support fixedScroll - fixedScroll = data.fixedScroll; - data = data.data; - } - - this.initData(data); - this.initSearch(); - this.initPagination(); - this.initBody(fixedScroll); - }; - - BootstrapTable.prototype.append = function (data) { - this.initData(data, 'append'); - this.initSearch(); - this.initPagination(); - this.initBody(true); - }; - - BootstrapTable.prototype.prepend = function (data) { - this.initData(data, 'prepend'); - this.initSearch(); - this.initPagination(); - this.initBody(true); - }; - - BootstrapTable.prototype.remove = function (params) { - var len = this.options.data.length, - i, row; - - if (!params.hasOwnProperty('field') || !params.hasOwnProperty('values')) { - return; - } - - for (i = len - 1; i >= 0; i--) { - row = this.options.data[i]; - - if (!row.hasOwnProperty(params.field)) { - continue; - } - if ($.inArray(row[params.field], params.values) !== -1) { - this.options.data.splice(i, 1); - } - } - - if (len === this.options.data.length) { - return; - } - - this.initSearch(); - this.initPagination(); - this.initBody(true); - }; - - BootstrapTable.prototype.removeAll = function () { - if (this.options.data.length > 0) { - this.options.data.splice(0, this.options.data.length); - this.initSearch(); - this.initPagination(); - this.initBody(true); - } - }; - - BootstrapTable.prototype.getRowByUniqueId = function (id) { - var uniqueId = this.options.uniqueId, - len = this.options.data.length, - dataRow = null, - i, row, rowUniqueId; - - for (i = len - 1; i >= 0; i--) { - row = this.options.data[i]; - - if (row.hasOwnProperty(uniqueId)) { // uniqueId is a column - rowUniqueId = row[uniqueId]; - } else if(row._data.hasOwnProperty(uniqueId)) { // uniqueId is a row data property - rowUniqueId = row._data[uniqueId]; - } else { - continue; - } - - if (typeof rowUniqueId === 'string') { - id = id.toString(); - } else if (typeof rowUniqueId === 'number') { - if ((Number(rowUniqueId) === rowUniqueId) && (rowUniqueId % 1 === 0)) { - id = parseInt(id); - } else if ((rowUniqueId === Number(rowUniqueId)) && (rowUniqueId !== 0)) { - id = parseFloat(id); - } - } - - if (rowUniqueId === id) { - dataRow = row; - break; - } - } - - return dataRow; - }; - - BootstrapTable.prototype.removeByUniqueId = function (id) { - var len = this.options.data.length, - row = this.getRowByUniqueId(id); - - if (row) { - this.options.data.splice(this.options.data.indexOf(row), 1); - } - - if (len === this.options.data.length) { - return; - } - - this.initSearch(); - this.initPagination(); - this.initBody(true); - }; - - BootstrapTable.prototype.updateByUniqueId = function (params) { - var rowId; - - if (!params.hasOwnProperty('id') || !params.hasOwnProperty('row')) { - return; - } - - rowId = $.inArray(this.getRowByUniqueId(params.id), this.options.data); - - if (rowId === -1) { - return; - } - - $.extend(this.data[rowId], params.row); - this.initSort(); - this.initBody(true); - }; - - BootstrapTable.prototype.insertRow = function (params) { - if (!params.hasOwnProperty('index') || !params.hasOwnProperty('row')) { - return; - } - this.data.splice(params.index, 0, params.row); - this.initSearch(); - this.initPagination(); - this.initSort(); - this.initBody(true); - }; - - BootstrapTable.prototype.updateRow = function (params) { - if (!params.hasOwnProperty('index') || !params.hasOwnProperty('row')) { - return; - } - $.extend(this.data[params.index], params.row); - this.initSort(); - this.initBody(true); - }; - - BootstrapTable.prototype.showRow = function (params) { - if (!params.hasOwnProperty('index') || !params.hasOwnProperty('uniqueId')) { - return; - } - this.toggleRow(params.index, params.uniqueId, true); - }; - - BootstrapTable.prototype.hideRow = function (params) { - if (!params.hasOwnProperty('index') || !params.hasOwnProperty('uniqueId')) { - return; - } - this.toggleRow(params.index, params.uniqueId, false); - }; - - BootstrapTable.prototype.getRowsHidden = function (show) { - var rows = $(this.$body[0]).children().filter(':hidden'), - i = 0; - if (show) { - for (; i < rows.length; i++) { - $(rows[i]).show(); - } - } - return rows; - }; - - BootstrapTable.prototype.mergeCells = function (options) { - var row = options.index, - col = $.inArray(options.field, this.getVisibleFields()), - rowspan = options.rowspan || 1, - colspan = options.colspan || 1, - i, j, - $tr = this.$body.find('>tr'), - $td; - - if (this.options.detailView && !this.options.cardView) { - col += 1; - } - - $td = $tr.eq(row).find('>td').eq(col); - - if (row < 0 || col < 0 || row >= this.data.length) { - return; - } - - for (i = row; i < row + rowspan; i++) { - for (j = col; j < col + colspan; j++) { - $tr.eq(i).find('>td').eq(j).hide(); - } - } - - $td.attr('rowspan', rowspan).attr('colspan', colspan).show(); - }; - - BootstrapTable.prototype.updateCell = function (params) { - if (!params.hasOwnProperty('index') || - !params.hasOwnProperty('field') || - !params.hasOwnProperty('value')) { - return; - } - this.data[params.index][params.field] = params.value; - this.initSort(); - this.initBody(true); - }; - - BootstrapTable.prototype.getOptions = function () { - return this.options; - }; - - BootstrapTable.prototype.getSelections = function () { - var that = this; - - return $.grep(this.data, function (row) { - return row[that.header.stateField]; - }); - }; - - BootstrapTable.prototype.getAllSelections = function () { - var that = this; - - return $.grep(this.options.data, function (row) { - return row[that.header.stateField]; - }); - }; - - BootstrapTable.prototype.checkAll = function () { - this.checkAll_(true); - }; - - BootstrapTable.prototype.uncheckAll = function () { - this.checkAll_(false); - }; - - BootstrapTable.prototype.checkAll_ = function (checked) { - var rows; - if (!checked) { - rows = this.getSelections(); - } - this.$selectAll.add(this.$selectAll_).prop('checked', checked); - this.$selectItem.filter(':enabled').prop('checked', checked); - this.updateRows(); - if (checked) { - rows = this.getSelections(); - } - this.trigger(checked ? 'check-all' : 'uncheck-all', rows); - }; - - BootstrapTable.prototype.check = function (index) { - this.check_(true, index); - }; - - BootstrapTable.prototype.uncheck = function (index) { - this.check_(false, index); - }; - - BootstrapTable.prototype.check_ = function (checked, index) { - var $el = this.$selectItem.filter(sprintf('[data-index="%s"]', index)).prop('checked', checked); - this.data[index][this.header.stateField] = checked; - this.updateSelected(); - this.trigger(checked ? 'check' : 'uncheck', this.data[index], $el); - }; - - BootstrapTable.prototype.checkBy = function (obj) { - this.checkBy_(true, obj); - }; - - BootstrapTable.prototype.uncheckBy = function (obj) { - this.checkBy_(false, obj); - }; - - BootstrapTable.prototype.checkBy_ = function (checked, obj) { - if (!obj.hasOwnProperty('field') || !obj.hasOwnProperty('values')) { - return; - } - - var that = this, - rows = []; - $.each(this.options.data, function (index, row) { - if (!row.hasOwnProperty(obj.field)) { - return false; - } - if ($.inArray(row[obj.field], obj.values) !== -1) { - var $el = that.$selectItem.filter(':enabled') - .filter(sprintf('[data-index="%s"]', index)).prop('checked', checked); - row[that.header.stateField] = checked; - rows.push(row); - that.trigger(checked ? 'check' : 'uncheck', row, $el); - } - }); - this.updateSelected(); - this.trigger(checked ? 'check-some' : 'uncheck-some', rows); - }; - - BootstrapTable.prototype.destroy = function () { - this.$el.insertBefore(this.$container); - $(this.options.toolbar).insertBefore(this.$el); - this.$container.next().remove(); - this.$container.remove(); - this.$el.html(this.$el_.html()) - .css('margin-top', '0') - .attr('class', this.$el_.attr('class') || ''); // reset the class - }; - - BootstrapTable.prototype.showLoading = function () { - this.$tableLoading.show(); - }; - - BootstrapTable.prototype.hideLoading = function () { - this.$tableLoading.hide(); - }; - - BootstrapTable.prototype.togglePagination = function () { - this.options.pagination = !this.options.pagination; - var button = this.$toolbar.find('button[name="paginationSwitch"] i'); - if (this.options.pagination) { - button.attr("class", this.options.iconsPrefix + " " + this.options.icons.paginationSwitchDown); - } else { - button.attr("class", this.options.iconsPrefix + " " + this.options.icons.paginationSwitchUp); - } - this.updatePagination(); - }; - - BootstrapTable.prototype.refresh = function (params) { - if (params && params.url) { - this.options.url = params.url; - this.options.pageNumber = 1; - } - this.initServer(params && params.silent, params && params.query); - }; - - BootstrapTable.prototype.resetWidth = function () { - if (this.options.showHeader && this.options.height) { - this.fitHeader(); - } - if (this.options.showFooter) { - this.fitFooter(); - } - }; - - BootstrapTable.prototype.showColumn = function (field) { - this.toggleColumn(getFieldIndex(this.columns, field), true, true); - }; - - BootstrapTable.prototype.hideColumn = function (field) { - this.toggleColumn(getFieldIndex(this.columns, field), false, true); - }; - - BootstrapTable.prototype.getHiddenColumns = function () { - return $.grep(this.columns, function (column) { - return !column.visible; - }); - }; - - BootstrapTable.prototype.filterBy = function (columns) { - this.filterColumns = $.isEmptyObject(columns) ? {} : columns; - this.options.pageNumber = 1; - this.initSearch(); - this.updatePagination(); - }; - - BootstrapTable.prototype.scrollTo = function (value) { - if (typeof value === 'string') { - value = value === 'bottom' ? this.$tableBody[0].scrollHeight : 0; - } - if (typeof value === 'number') { - this.$tableBody.scrollTop(value); - } - if (typeof value === 'undefined') { - return this.$tableBody.scrollTop(); - } - }; - - BootstrapTable.prototype.getScrollPosition = function () { - return this.scrollTo(); - }; - - BootstrapTable.prototype.selectPage = function (page) { - if (page > 0 && page <= this.options.totalPages) { - this.options.pageNumber = page; - this.updatePagination(); - } - }; - - BootstrapTable.prototype.prevPage = function () { - if (this.options.pageNumber > 1) { - this.options.pageNumber--; - this.updatePagination(); - } - }; - - BootstrapTable.prototype.nextPage = function () { - if (this.options.pageNumber < this.options.totalPages) { - this.options.pageNumber++; - this.updatePagination(); - } - }; - - BootstrapTable.prototype.toggleView = function () { - this.options.cardView = !this.options.cardView; - this.initHeader(); - // Fixed remove toolbar when click cardView button. - //that.initToolbar(); - this.initBody(); - this.trigger('toggle', this.options.cardView); - }; - - BootstrapTable.prototype.refreshOptions = function (options) { - //If the objects are equivalent then avoid the call of destroy / init methods - if (compareObjects(this.options, options, false)) { - return; - } - this.options = $.extend(this.options, options); - this.trigger('refresh-options', this.options); - this.destroy(); - this.init(); - }; - - BootstrapTable.prototype.resetSearch = function (text) { - var $search = this.$toolbar.find('.search input'); - $search.val(text || ''); - this.onSearch({currentTarget: $search}); - }; - - BootstrapTable.prototype.expandRow_ = function (expand, index) { - var $tr = this.$body.find(sprintf('> tr[data-index="%s"]', index)); - if ($tr.next().is('tr.detail-view') === (expand ? false : true)) { - $tr.find('> td > .detail-icon').click(); - } - }; - - BootstrapTable.prototype.expandRow = function (index) { - this.expandRow_(true, index); - }; - - BootstrapTable.prototype.collapseRow = function (index) { - this.expandRow_(false, index); - }; - - BootstrapTable.prototype.expandAllRows = function (isSubTable) { - if (isSubTable) { - var $tr = this.$body.find(sprintf('> tr[data-index="%s"]', 0)), - that = this, - detailIcon = null, - executeInterval = false, - idInterval = -1; - - if (!$tr.next().is('tr.detail-view')) { - $tr.find('> td > .detail-icon').click(); - executeInterval = true; - } else if (!$tr.next().next().is('tr.detail-view')) { - $tr.next().find(".detail-icon").click(); - executeInterval = true; - } - - if (executeInterval) { - try { - idInterval = setInterval(function () { - detailIcon = that.$body.find("tr.detail-view").last().find(".detail-icon"); - if (detailIcon.length > 0) { - detailIcon.click(); - } else { - clearInterval(idInterval); - } - }, 1); - } catch (ex) { - clearInterval(idInterval); - } - } - } else { - var trs = this.$body.children(); - for (var i = 0; i < trs.length; i++) { - this.expandRow_(true, $(trs[i]).data("index")); - } - } - }; - - BootstrapTable.prototype.collapseAllRows = function (isSubTable) { - if (isSubTable) { - this.expandRow_(false, 0); - } else { - var trs = this.$body.children(); - for (var i = 0; i < trs.length; i++) { - this.expandRow_(false, $(trs[i]).data("index")); - } - } - }; - - // BOOTSTRAP TABLE PLUGIN DEFINITION - // ======================= - - var allowedMethods = [ - 'getOptions', - 'getSelections', 'getAllSelections', 'getData', - 'load', 'append', 'prepend', 'remove', 'removeAll', - 'insertRow', 'updateRow', 'updateCell', 'updateByUniqueId', 'removeByUniqueId', - 'getRowByUniqueId', 'showRow', 'hideRow', 'getRowsHidden', - 'mergeCells', - 'checkAll', 'uncheckAll', - 'check', 'uncheck', - 'checkBy', 'uncheckBy', - 'refresh', - 'resetView', - 'resetWidth', - 'destroy', - 'showLoading', 'hideLoading', - 'showColumn', 'hideColumn', 'getHiddenColumns', - 'filterBy', - 'scrollTo', - 'getScrollPosition', - 'selectPage', 'prevPage', 'nextPage', - 'togglePagination', - 'toggleView', - 'refreshOptions', - 'resetSearch', - 'expandRow', 'collapseRow', 'expandAllRows', 'collapseAllRows' - ]; - - $.fn.bootstrapTable = function (option) { - var value, - args = Array.prototype.slice.call(arguments, 1); - - this.each(function () { - var $this = $(this), - data = $this.data('bootstrap.table'), - options = $.extend({}, BootstrapTable.DEFAULTS, $this.data(), - typeof option === 'object' && option); - - if (typeof option === 'string') { - if ($.inArray(option, allowedMethods) < 0) { - throw new Error("Unknown method: " + option); - } - - if (!data) { - return; - } - - value = data[option].apply(data, args); - - if (option === 'destroy') { - $this.removeData('bootstrap.table'); - } - } - - if (!data) { - $this.data('bootstrap.table', (data = new BootstrapTable(this, options))); - } - }); - - return typeof value === 'undefined' ? this : value; - }; - - $.fn.bootstrapTable.Constructor = BootstrapTable; - $.fn.bootstrapTable.defaults = BootstrapTable.DEFAULTS; - $.fn.bootstrapTable.columnDefaults = BootstrapTable.COLUMN_DEFAULTS; - $.fn.bootstrapTable.locales = BootstrapTable.LOCALES; - $.fn.bootstrapTable.methods = allowedMethods; - $.fn.bootstrapTable.utils = { - sprintf: sprintf, - getFieldIndex: getFieldIndex, - compareObjects: compareObjects, - calculateObjectValue: calculateObjectValue - }; - - // BOOTSTRAP TABLE INIT - // ======================= - - $(function () { - $('[data-toggle="table"]').bootstrapTable(); - }); - -}(jQuery); diff --git a/public/js/extensions/export/jquery.base64.js b/resources/assets/js/extensions/jquery.base64.js similarity index 100% rename from public/js/extensions/export/jquery.base64.js rename to resources/assets/js/extensions/jquery.base64.js diff --git a/resources/views/layouts/default.blade.php b/resources/views/layouts/default.blade.php index 196b085bbc..a54e23fdf8 100644 --- a/resources/views/layouts/default.blade.php +++ b/resources/views/layouts/default.blade.php @@ -10,26 +10,18 @@ + + + - - - - - - - - - - - - + + @stack('css') @if (($snipeSettings) && ($snipeSettings->skin!='')) @@ -805,6 +797,7 @@ + @stack('js') @section('moar_scripts') @show diff --git a/resources/views/partials/bootstrap-table.blade.php b/resources/views/partials/bootstrap-table.blade.php index fc7dc28c4d..ee0e000c58 100644 --- a/resources/views/partials/bootstrap-table.blade.php +++ b/resources/views/partials/bootstrap-table.blade.php @@ -1,25 +1,16 @@ - - - - - - - - - +@push('css') + +@endpush +@push('js') + @if (!isset($simple_view)) - - + @endif - - - + +@endpush \ No newline at end of file diff --git a/webpack.mix.js b/webpack.mix.js index 1aca96b307..4f9ea2afc2 100644 --- a/webpack.mix.js +++ b/webpack.mix.js @@ -1,55 +1,85 @@ - -const { mix } = require('laravel-mix'); +const { + mix +} = require('laravel-mix'); // This generates a file called app.css, which we use // later on to build all.css mix - .options( - { - processCssUrls: false, - processFontUrls: true, - clearConsole: false - }) + .options({ + processCssUrls: false, + processFontUrls: true, + clearConsole: false + }) .less('resources/assets/less/AdminLTE.less', 'css') .less('resources/assets/less/app.less', 'css') .less('resources/assets/less/overrides.less', 'css') -.styles([ - './resources/assets/css/app.css', - 'public/css/AdminLTE.css', - 'resources/assets/css/font-awesome/font-awesome.min.css', - './node_modules/icheck/skins/minimal/minimal.css', - './node_modules/bootstrap-datepicker/dist/css/bootstrap-datepicker.standalone.css', - 'public/css/bootstrap-tables-sticky-header.css', - 'public/css/overrides.css' -], - './public/css/dist/all.css') + .styles([ + './resources/assets/css/app.css', + 'public/css/AdminLTE.css', + 'resources/assets/css/font-awesome/font-awesome.min.css', + './node_modules/icheck/skins/minimal/minimal.css', + './node_modules/bootstrap-datepicker/dist/css/bootstrap-datepicker.standalone.css', + 'public/css/overrides.css' + ], + './public/css/dist/all.css') -// jQuery is loaded from vue.js webpack process -// This compiles the vue.js file in the build directory -// for later concatenation in the scripts() section below. -.js( + // jQuery is loaded from vue.js webpack process + // This compiles the vue.js file in the build directory + // for later concatenation in the scripts() section below. + .js( - 'resources/assets/js/vue.js', // Snipe-IT's initializer for Vue.js - './public/js/build' -).sourceMaps() -.scripts([ - './node_modules/jquery-ui/jquery-ui.js', - './public/js/build/vue.js', //this is the modularized nifty Vue.js thing we just built, above! - './node_modules/tether/dist/js/tether.min.js', - './node_modules/jquery-slimscroll/jquery.slimscroll.js', - './node_modules/jquery.iframe-transport/jquery.iframe-transport.js', - './node_modules/blueimp-file-upload/js/jquery.fileupload.js', - './node_modules/bootstrap-colorpicker/dist/js/bootstrap-colorpicker.js', - './node_modules/bootstrap-datepicker/dist/js/bootstrap-datepicker.js', - './node_modules/icheck/icheck.js', - './node_modules/ekko-lightbox/dist/ekko-lightbox.js', - './resources/assets/js/app.js', //this is part of AdminLTE - './resources/assets/js/snipeit.js', //this is the actual Snipe-IT JS - './resources/assets/js/snipeit_modals.js' -], - './public/js/dist/all.js'); + 'resources/assets/js/vue.js', // Snipe-IT's initializer for Vue.js + './public/js/build' + ).sourceMaps() + .scripts([ + './node_modules/jquery-ui/jquery-ui.js', + './public/js/build/vue.js', //this is the modularized nifty Vue.js thing we just built, above! + './node_modules/tether/dist/js/tether.min.js', + './node_modules/jquery-slimscroll/jquery.slimscroll.js', + './node_modules/jquery.iframe-transport/jquery.iframe-transport.js', + './node_modules/blueimp-file-upload/js/jquery.fileupload.js', + './node_modules/bootstrap-colorpicker/dist/js/bootstrap-colorpicker.js', + './node_modules/bootstrap-datepicker/dist/js/bootstrap-datepicker.js', + './node_modules/icheck/icheck.js', + './node_modules/ekko-lightbox/dist/ekko-lightbox.js', + './resources/assets/js/app.js', //this is part of AdminLTE + './resources/assets/js/snipeit.js', //this is the actual Snipe-IT JS + './resources/assets/js/snipeit_modals.js' + ], + './public/js/dist/all.js'); mix.copy('./public/css/dist/all.css', './public/css/build/all.css').copy('./public/js/dist/all.js', './public/js/build/all.js'); mix.version(); + +/** + * Combine bootstrap table js + */ +mix.combine([ + 'node_modules/bootstrap-table/dist/bootstrap-table.js', + 'node_modules/bootstrap-table/dist/extentions/mobile/bootstrap-table-mobile.js', + 'node_modules/bootstrap-table/dist/extensions/export/bootstrap-table-export.js', + 'node_modules/bootstrap-table/dist/extensions/cookie/bootstrap-table-cookie.js', + 'resources/assets/js/extensions/jquery.base64.js', + 'node_modules/tableexport.jquery.plugin/tableExport.js', + 'node_modules/tableexport.jquery.plugin/libs/jsPDF/jspdf.min.js', + 'node_modules/tableexport.jquery.plugin/libs/jsPDF-AutoTable/jspdf.plugin.autotable.js' + ], 'public/js/dist/bootstrap-table.js') + .version(); +/** + * Combine bootstrap table js Simple View + */ +mix.combine([ + 'node_modules/bootstrap-table/dist/extensions/sticky-header/bootstrap-table-sticky-header.js', + 'node_modules/bootstrap-table/dist/extensions/toolbar/bootstrap-table-toolbar.js' + ], 'public/js/dist/bootstrap-table-simple-view.js') + .version(); +/** + * Combine bootstrap table css + */ +mix.combine([ + 'node_modules/bootstrap-table/dist/bootstrap-table.css', + 'node_modules/bootstrap-table/dist/extensions/sticky-header/bootstrap-table-sticky-header.css' + ], 'public/css/dist/bootstrap-table.css') + .version(); \ No newline at end of file