More work on Vue 3.

This commit is contained in:
Buster Neece 2022-12-10 13:32:15 -06:00
parent ec283fdc91
commit c76e8b0184
No known key found for this signature in database
GPG Key ID: F1D2E64A0005E80E
54 changed files with 660 additions and 230 deletions

View File

@ -15,7 +15,7 @@
"@fullcalendar/daygrid": "^5.9.0",
"@fullcalendar/luxon2": "^5.10.2",
"@fullcalendar/timegrid": "^5.9.0",
"@fullcalendar/vue3": "*",
"@fullcalendar/vue3": "^5.11",
"@vue-leaflet/vue-leaflet": "*",
"@vue/compat": "^3.2.45",
"@vuelidate/core": "^2.0.0",
@ -62,12 +62,12 @@
"sass-loader": "^13",
"store": "^2",
"sweetalert2": "11.4.8",
"vue": "^3",
"vue-axios": "*",
"vue": "^3.2",
"vue-axios": "^3.5",
"vue-clipboard2": "^0.3.3",
"vue-gettext": "^2.1.12",
"vue-loader": "*",
"vue3-daterange-picker": "*",
"vue-loader": "^17",
"vue3-daterange-picker": "^1",
"vue3-gettext": "^2.3.4",
"vuedraggable": "^2.24.1",
"wavesurfer.js": "^6",
"webpack": "^5.52.1",
@ -1935,16 +1935,40 @@
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz",
"integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ=="
},
"node_modules/@types/glob": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz",
"integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==",
"dependencies": {
"@types/minimatch": "*",
"@types/node": "*"
}
},
"node_modules/@types/json-schema": {
"version": "7.0.11",
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz",
"integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ=="
},
"node_modules/@types/minimatch": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz",
"integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA=="
},
"node_modules/@types/node": {
"version": "18.11.12",
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.12.tgz",
"integrity": "sha512-FgD3NtTAKvyMmD44T07zz2fEf+OKwutgBCEVM8GcvMGVGaDktiLNTDvPwC/LUe3PinMW+X6CuLOF2Ui1mAlSXg=="
},
"node_modules/@types/parse-json": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz",
"integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA=="
},
"node_modules/@types/parse5": {
"version": "5.0.3",
"resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-5.0.3.tgz",
"integrity": "sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw=="
},
"node_modules/@vue-leaflet/vue-leaflet": {
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/@vue-leaflet/vue-leaflet/-/vue-leaflet-0.7.0.tgz",
@ -2701,6 +2725,14 @@
"node": ">=0.10.0"
}
},
"node_modules/array-back": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz",
"integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==",
"engines": {
"node": ">=6"
}
},
"node_modules/array-each": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz",
@ -3223,6 +3255,14 @@
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/callsites": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
"integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
"engines": {
"node": ">=6"
}
},
"node_modules/camelcase": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
@ -3606,6 +3646,20 @@
"node": ">= 0.8"
}
},
"node_modules/command-line-args": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz",
"integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==",
"dependencies": {
"array-back": "^3.1.0",
"find-replace": "^3.0.0",
"lodash.camelcase": "^4.3.0",
"typical": "^4.0.0"
},
"engines": {
"node": ">=4.0.0"
}
},
"node_modules/commander": {
"version": "2.20.3",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
@ -3704,6 +3758,38 @@
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
"integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="
},
"node_modules/cosmiconfig": {
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz",
"integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==",
"dependencies": {
"@types/parse-json": "^4.0.0",
"import-fresh": "^3.2.1",
"parse-json": "^5.0.0",
"path-type": "^4.0.0",
"yaml": "^1.10.0"
},
"engines": {
"node": ">=10"
}
},
"node_modules/cosmiconfig/node_modules/parse-json": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
"integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
"dependencies": {
"@babel/code-frame": "^7.0.0",
"error-ex": "^1.3.1",
"json-parse-even-better-errors": "^2.3.0",
"lines-and-columns": "^1.1.6"
},
"engines": {
"node": ">=8"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/cross-spawn": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.0.tgz",
@ -3793,6 +3879,11 @@
"url": "https://github.com/sponsors/fb55"
}
},
"node_modules/css-selector-parser": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/css-selector-parser/-/css-selector-parser-1.4.1.tgz",
"integrity": "sha512-HYPSb7y/Z7BNDCOrakL4raGO2zltZkbeXyAd6Tg9obzix6QhzxCotdBl6VT0Dv4vZfJGVz3WL/xaEI9Ly3ul0g=="
},
"node_modules/css-what": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz",
@ -4528,6 +4619,17 @@
"node": ">=0.10.0"
}
},
"node_modules/find-replace": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz",
"integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==",
"dependencies": {
"array-back": "^3.0.1"
},
"engines": {
"node": ">=4.0.0"
}
},
"node_modules/find-up": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
@ -4881,6 +4983,33 @@
"node": ">=0.10.0"
}
},
"node_modules/gettext-extractor": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/gettext-extractor/-/gettext-extractor-3.6.0.tgz",
"integrity": "sha512-fHbvp5toU3NcMOAI7M2b99OkguzBu7v9LADF0Ad1q/ltZvNttcIB65uVIBt+fehPCgy37T+NeEcvtaI+t/+gtw==",
"dependencies": {
"@types/glob": "5 - 7",
"@types/parse5": "^5",
"css-selector-parser": "^1.3",
"glob": "5 - 7",
"parse5": "5 - 6",
"pofile": "1.0.x",
"typescript": "2 - 4"
},
"engines": {
"node": ">=6"
}
},
"node_modules/gettext-extractor/node_modules/parse5": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
"integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw=="
},
"node_modules/gettext-extractor/node_modules/pofile": {
"version": "1.0.11",
"resolved": "https://registry.npmjs.org/pofile/-/pofile-1.0.11.tgz",
"integrity": "sha512-Vy9eH1dRD9wHjYt/QqXcTz+RnX/zg53xK+KljFSX30PvdDMb2z+c6uDUeblUGqqJgz3QFsdlA0IJvHziPmWtQg=="
},
"node_modules/glob": {
"version": "7.2.3",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
@ -5552,6 +5681,29 @@
"resolved": "https://registry.npmjs.org/immutable/-/immutable-4.1.0.tgz",
"integrity": "sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ=="
},
"node_modules/import-fresh": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
"integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
"dependencies": {
"parent-module": "^1.0.0",
"resolve-from": "^4.0.0"
},
"engines": {
"node": ">=6"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/import-fresh/node_modules/resolve-from": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
"integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
"engines": {
"node": ">=4"
}
},
"node_modules/import-local": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz",
@ -6137,6 +6289,11 @@
"node": ">=0.10.0"
}
},
"node_modules/lines-and-columns": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
"integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="
},
"node_modules/load-json-file": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
@ -6197,6 +6354,11 @@
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
},
"node_modules/lodash.camelcase": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
"integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA=="
},
"node_modules/lodash.clonedeep": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
@ -7067,6 +7229,17 @@
"node": ">=6"
}
},
"node_modules/parent-module": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
"integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
"dependencies": {
"callsites": "^3.0.0"
},
"engines": {
"node": ">=6"
}
},
"node_modules/parse-filepath": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz",
@ -9382,6 +9555,26 @@
"resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
"integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA=="
},
"node_modules/typescript": {
"version": "4.9.4",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz",
"integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==",
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
},
"engines": {
"node": ">=4.2.0"
}
},
"node_modules/typical": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz",
"integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==",
"engines": {
"node": ">=8"
}
},
"node_modules/uglify-js": {
"version": "3.17.4",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz",
@ -9771,14 +9964,6 @@
"resolved": "https://registry.npmjs.org/vue-functional-data-merge/-/vue-functional-data-merge-3.1.0.tgz",
"integrity": "sha512-leT4kdJVQyeZNY1kmnS1xiUlQ9z1B/kdBFCILIjYYQDqZgLqCLa0UhjSSeRX6c3mUe6U5qYeM8LrEqkHJ1B4LA=="
},
"node_modules/vue-gettext": {
"version": "2.1.12",
"resolved": "https://registry.npmjs.org/vue-gettext/-/vue-gettext-2.1.12.tgz",
"integrity": "sha512-7Kw36xtKvARp8ZafQGPK9WR6EM+dhFUikR5f0+etSkiHuvUM3yf1HsRDLYoLLdJ0AMaXxKwgekumzvCk6KX8rA==",
"engines": {
"npm": ">= 3.0.0"
}
},
"node_modules/vue-loader": {
"version": "17.0.1",
"resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-17.0.1.tgz",
@ -9869,6 +10054,110 @@
"resolved": "https://registry.npmjs.org/vue3-daterange-picker/-/vue3-daterange-picker-1.0.1.tgz",
"integrity": "sha512-CnLfhgubeehqF3QqrnTJVCt7mx8XxTSKbY7yVMQT0kyZ2D90qrIqJ7MNf6uGAC7utE3DbBCKq6PHTk6371cDHQ=="
},
"node_modules/vue3-gettext": {
"version": "2.3.4",
"resolved": "https://registry.npmjs.org/vue3-gettext/-/vue3-gettext-2.3.4.tgz",
"integrity": "sha512-X+dibsUhiSRz2LW5de6NkDl+GNZoo9JMGmlJ+wuzez/UJYvJ6GKofOeoUxbtwOk2vPY+/wesmyyzhkMoR3Z/AA==",
"dependencies": {
"chalk": "^4.1.2",
"command-line-args": "^5.2.1",
"cosmiconfig": "^7.0.1",
"gettext-extractor": "^3.5.4",
"glob": "^7.2.0",
"parse5": "^6.0.1",
"parse5-htmlparser2-tree-adapter": "^6.0.1",
"pofile": "^1.1.3",
"tslib": "^2.4.0"
},
"bin": {
"vue-gettext-compile": "dist/bin/gettext_compile.js",
"vue-gettext-extract": "dist/bin/gettext_extract.js"
},
"engines": {
"node": ">= 12.0.0"
},
"peerDependencies": {
"@vue/compiler-sfc": ">=3.0.0",
"vue": ">=3.0.0"
}
},
"node_modules/vue3-gettext/node_modules/ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dependencies": {
"color-convert": "^2.0.1"
},
"engines": {
"node": ">=8"
},
"funding": {
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
"node_modules/vue3-gettext/node_modules/chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
},
"engines": {
"node": ">=10"
},
"funding": {
"url": "https://github.com/chalk/chalk?sponsor=1"
}
},
"node_modules/vue3-gettext/node_modules/color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dependencies": {
"color-name": "~1.1.4"
},
"engines": {
"node": ">=7.0.0"
}
},
"node_modules/vue3-gettext/node_modules/color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
},
"node_modules/vue3-gettext/node_modules/has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"engines": {
"node": ">=8"
}
},
"node_modules/vue3-gettext/node_modules/parse5": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
"integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw=="
},
"node_modules/vue3-gettext/node_modules/parse5-htmlparser2-tree-adapter": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz",
"integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==",
"dependencies": {
"parse5": "^6.0.1"
}
},
"node_modules/vue3-gettext/node_modules/supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dependencies": {
"has-flag": "^4.0.0"
},
"engines": {
"node": ">=8"
}
},
"node_modules/vuedraggable": {
"version": "2.24.3",
"resolved": "https://registry.npmjs.org/vuedraggable/-/vuedraggable-2.24.3.tgz",
@ -10267,6 +10556,14 @@
"resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
"integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A=="
},
"node_modules/yaml": {
"version": "1.10.2",
"resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
"integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
"engines": {
"node": ">= 6"
}
},
"node_modules/yargs": {
"version": "7.1.2",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.2.tgz",
@ -11602,16 +11899,40 @@
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz",
"integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ=="
},
"@types/glob": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz",
"integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==",
"requires": {
"@types/minimatch": "*",
"@types/node": "*"
}
},
"@types/json-schema": {
"version": "7.0.11",
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz",
"integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ=="
},
"@types/minimatch": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz",
"integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA=="
},
"@types/node": {
"version": "18.11.12",
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.12.tgz",
"integrity": "sha512-FgD3NtTAKvyMmD44T07zz2fEf+OKwutgBCEVM8GcvMGVGaDktiLNTDvPwC/LUe3PinMW+X6CuLOF2Ui1mAlSXg=="
},
"@types/parse-json": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz",
"integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA=="
},
"@types/parse5": {
"version": "5.0.3",
"resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-5.0.3.tgz",
"integrity": "sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw=="
},
"@vue-leaflet/vue-leaflet": {
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/@vue-leaflet/vue-leaflet/-/vue-leaflet-0.7.0.tgz",
@ -12183,6 +12504,11 @@
"resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
"integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q=="
},
"array-back": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz",
"integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q=="
},
"array-each": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz",
@ -12588,6 +12914,11 @@
"get-intrinsic": "^1.0.2"
}
},
"callsites": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
"integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="
},
"camelcase": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
@ -12887,6 +13218,17 @@
"delayed-stream": "~1.0.0"
}
},
"command-line-args": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz",
"integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==",
"requires": {
"array-back": "^3.1.0",
"find-replace": "^3.0.0",
"lodash.camelcase": "^4.3.0",
"typical": "^4.0.0"
}
},
"commander": {
"version": "2.20.3",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
@ -12973,6 +13315,31 @@
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
"integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="
},
"cosmiconfig": {
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz",
"integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==",
"requires": {
"@types/parse-json": "^4.0.0",
"import-fresh": "^3.2.1",
"parse-json": "^5.0.0",
"path-type": "^4.0.0",
"yaml": "^1.10.0"
},
"dependencies": {
"parse-json": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
"integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
"requires": {
"@babel/code-frame": "^7.0.0",
"error-ex": "^1.3.1",
"json-parse-even-better-errors": "^2.3.0",
"lines-and-columns": "^1.1.6"
}
}
}
},
"cross-spawn": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.0.tgz",
@ -13042,6 +13409,11 @@
"nth-check": "^2.0.1"
}
},
"css-selector-parser": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/css-selector-parser/-/css-selector-parser-1.4.1.tgz",
"integrity": "sha512-HYPSb7y/Z7BNDCOrakL4raGO2zltZkbeXyAd6Tg9obzix6QhzxCotdBl6VT0Dv4vZfJGVz3WL/xaEI9Ly3ul0g=="
},
"css-what": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz",
@ -13612,6 +13984,14 @@
"to-regex-range": "^2.1.0"
}
},
"find-replace": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz",
"integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==",
"requires": {
"array-back": "^3.0.1"
}
},
"find-up": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
@ -13868,6 +14248,32 @@
"resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
"integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA=="
},
"gettext-extractor": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/gettext-extractor/-/gettext-extractor-3.6.0.tgz",
"integrity": "sha512-fHbvp5toU3NcMOAI7M2b99OkguzBu7v9LADF0Ad1q/ltZvNttcIB65uVIBt+fehPCgy37T+NeEcvtaI+t/+gtw==",
"requires": {
"@types/glob": "5 - 7",
"@types/parse5": "^5",
"css-selector-parser": "^1.3",
"glob": "5 - 7",
"parse5": "5 - 6",
"pofile": "1.0.x",
"typescript": "2 - 4"
},
"dependencies": {
"parse5": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
"integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw=="
},
"pofile": {
"version": "1.0.11",
"resolved": "https://registry.npmjs.org/pofile/-/pofile-1.0.11.tgz",
"integrity": "sha512-Vy9eH1dRD9wHjYt/QqXcTz+RnX/zg53xK+KljFSX30PvdDMb2z+c6uDUeblUGqqJgz3QFsdlA0IJvHziPmWtQg=="
}
}
},
"glob": {
"version": "7.2.3",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
@ -14406,6 +14812,22 @@
"resolved": "https://registry.npmjs.org/immutable/-/immutable-4.1.0.tgz",
"integrity": "sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ=="
},
"import-fresh": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
"integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
"requires": {
"parent-module": "^1.0.0",
"resolve-from": "^4.0.0"
},
"dependencies": {
"resolve-from": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
"integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="
}
}
},
"import-local": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz",
@ -14838,6 +15260,11 @@
}
}
},
"lines-and-columns": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
"integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="
},
"load-json-file": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
@ -14886,6 +15313,11 @@
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
},
"lodash.camelcase": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
"integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA=="
},
"lodash.clonedeep": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
@ -15552,6 +15984,14 @@
"resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
"integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="
},
"parent-module": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
"integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
"requires": {
"callsites": "^3.0.0"
}
},
"parse-filepath": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz",
@ -17257,6 +17697,16 @@
"resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
"integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA=="
},
"typescript": {
"version": "4.9.4",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz",
"integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg=="
},
"typical": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz",
"integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw=="
},
"uglify-js": {
"version": "3.17.4",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz",
@ -17558,11 +18008,6 @@
"resolved": "https://registry.npmjs.org/vue-functional-data-merge/-/vue-functional-data-merge-3.1.0.tgz",
"integrity": "sha512-leT4kdJVQyeZNY1kmnS1xiUlQ9z1B/kdBFCILIjYYQDqZgLqCLa0UhjSSeRX6c3mUe6U5qYeM8LrEqkHJ1B4LA=="
},
"vue-gettext": {
"version": "2.1.12",
"resolved": "https://registry.npmjs.org/vue-gettext/-/vue-gettext-2.1.12.tgz",
"integrity": "sha512-7Kw36xtKvARp8ZafQGPK9WR6EM+dhFUikR5f0+etSkiHuvUM3yf1HsRDLYoLLdJ0AMaXxKwgekumzvCk6KX8rA=="
},
"vue-loader": {
"version": "17.0.1",
"resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-17.0.1.tgz",
@ -17623,6 +18068,80 @@
"resolved": "https://registry.npmjs.org/vue3-daterange-picker/-/vue3-daterange-picker-1.0.1.tgz",
"integrity": "sha512-CnLfhgubeehqF3QqrnTJVCt7mx8XxTSKbY7yVMQT0kyZ2D90qrIqJ7MNf6uGAC7utE3DbBCKq6PHTk6371cDHQ=="
},
"vue3-gettext": {
"version": "2.3.4",
"resolved": "https://registry.npmjs.org/vue3-gettext/-/vue3-gettext-2.3.4.tgz",
"integrity": "sha512-X+dibsUhiSRz2LW5de6NkDl+GNZoo9JMGmlJ+wuzez/UJYvJ6GKofOeoUxbtwOk2vPY+/wesmyyzhkMoR3Z/AA==",
"requires": {
"chalk": "^4.1.2",
"command-line-args": "^5.2.1",
"cosmiconfig": "^7.0.1",
"gettext-extractor": "^3.5.4",
"glob": "^7.2.0",
"parse5": "^6.0.1",
"parse5-htmlparser2-tree-adapter": "^6.0.1",
"pofile": "^1.1.3",
"tslib": "^2.4.0"
},
"dependencies": {
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"requires": {
"color-convert": "^2.0.1"
}
},
"chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
}
},
"color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"requires": {
"color-name": "~1.1.4"
}
},
"color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
},
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
},
"parse5": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
"integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw=="
},
"parse5-htmlparser2-tree-adapter": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz",
"integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==",
"requires": {
"parse5": "^6.0.1"
}
},
"supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"requires": {
"has-flag": "^4.0.0"
}
}
}
},
"vuedraggable": {
"version": "2.24.3",
"resolved": "https://registry.npmjs.org/vuedraggable/-/vuedraggable-2.24.3.tgz",
@ -17907,6 +18426,11 @@
"resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
"integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A=="
},
"yaml": {
"version": "1.10.2",
"resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
"integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg=="
},
"yargs": {
"version": "7.1.2",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.2.tgz",

View File

@ -66,9 +66,9 @@
"vue": "^3.2",
"vue-axios": "^3.5",
"vue-clipboard2": "^0.3.3",
"vue-gettext": "^2.1.12",
"vue-loader": "^17",
"vue3-daterange-picker": "^1",
"vue3-gettext": "^2.3.4",
"vuedraggable": "^2.24.1",
"wavesurfer.js": "^6",
"webpack": "^5.52.1",

View File

@ -1,66 +1,85 @@
import axios from 'axios';
import VueAxios from 'vue-axios';
import GetTextPlugin from 'vue-gettext';
import translations from '../../translations/translations.json';
import pinia from './vendor/pinia';
import usePinia from './vendor/pinia';
import gettext from './vendor/gettext';
import {createApp} from "vue";
import useBootstrapVue from "./vendor/bootstrapVue";
import useSweetAlert from "./vendor/sweetalert";
export default function (vueApp) {
export default function (component, options) {
return function (el, props) {
document.addEventListener('DOMContentLoaded', function () {
// Configure localization
vueApp.use(GetTextPlugin, {
defaultLanguage: 'en_US',
translations: translations,
silent: true
});
if (typeof App.locale !== 'undefined') {
vueApp.config.language = App.locale;
const vueApp = createApp(
component,
{
...options,
...props
}
);
// Configure auto-CSRF on requests
if (typeof App.api_csrf !== 'undefined') {
axios.defaults.headers.common['X-API-CSRF'] = App.api_csrf;
/* Gettext */
if (typeof App.locale !== 'undefined') {
vueApp.config.language = App.locale;
}
vueApp.use(gettext);
/* Axios */
// Configure auto-CSRF on requests
if (typeof App.api_csrf !== 'undefined') {
axios.defaults.headers.common['X-API-CSRF'] = App.api_csrf;
}
vueApp.use(VueAxios, axios);
vueApp.mixin({
mounted() {
const handleAxiosError = (error) => {
const {$gettext} = gettext;
let notifyMessage = $gettext('An error occurred and your request could not be completed.');
if (error.response) {
// Request made and server responded
notifyMessage = error.response.data.message;
console.error(notifyMessage);
} else if (error.request) {
// The request was made but no response was received
console.error(error.request);
} else {
// Something happened in setting up the request that triggered an Error
console.error('Error', error.message);
}
if (typeof this.$notifyError === 'function') {
this.$notifyError(notifyMessage);
}
};
axios.interceptors.request.use((config) => {
return config;
}, (error) => {
handleAxiosError(error);
return Promise.reject(error);
});
axios.interceptors.response.use((response) => {
return response;
}, (error) => {
handleAxiosError(error);
return Promise.reject(error);
});
}
vueApp.use(VueAxios, axios);
});
vueApp.created(() => {
let handleAxiosError = (error) => {
let notifyMessage = this.$gettext('An error occurred and your request could not be completed.');
if (error.response) {
// Request made and server responded
notifyMessage = error.response.data.message;
console.error(notifyMessage);
} else if (error.request) {
// The request was made but no response was received
console.error(error.request);
} else {
// Something happened in setting up the request that triggered an Error
console.error('Error', error.message);
}
/* Pinia */
usePinia(vueApp);
if (typeof this.$notifyError === 'function') {
this.$notifyError(notifyMessage);
}
};
/* Bootstrap Vue */
useBootstrapVue(vueApp);
axios.interceptors.request.use((config) => {
return config;
}, (error) => {
handleAxiosError(error);
return Promise.reject(error);
});
/* SweetAlert */
useSweetAlert(vueApp);
axios.interceptors.response.use((response) => {
return response;
}, (error) => {
handleAxiosError(error);
return Promise.reject(error);
});
});
vueApp.mount(el, {props: props});
vueApp.mount(el);
};
}

View File

@ -1,8 +1,5 @@
import initBase from '~/base.js';
import '~/vendor/bootstrapVue.js';
import '~/vendor/sweetalert.js';
import Account from '~/components/Account';
export default initBase(Account);

View File

@ -1,13 +1,4 @@
import initBase from '~/base.js';
import {createApp} from "vue";
import useSweetAlert from '~/vendor/sweetalert.js';
import useBootstrapVue from '~/vendor/bootstrapVue.js';
import AdminApiKeys from '~/components/Admin/ApiKeys.vue';
const vueApp = createApp(AdminApiKeys);
useSweetAlert(vueApp);
useBootstrapVue(vueApp);
export default initBase(vueApp);
export default initBase(AdminApiKeys);

View File

@ -1,12 +1,6 @@
import initBase from '~/base.js';
import {createApp} from "vue";
import useBootstrapVue from '~/vendor/bootstrapVue.js';
import '~/vendor/luxon.js';
import AuditLog from '~/components/Admin/AuditLog.vue';
const vueApp = createApp(AuditLog);
useBootstrapVue(vueApp);
export default initBase(vueApp);
export default initBase(AuditLog);

View File

@ -1,8 +1,5 @@
import initBase from '~/base.js';
import '~/vendor/bootstrapVue.js';
import '~/vendor/sweetalert.js';
import AdminBackups from '~/components/Admin/Backups.vue';
export default initBase(AdminBackups);

View File

@ -1,10 +1,7 @@
import initBase
from '~/base.js';
import initBase from '~/base.js';
import '~/vendor/bootstrapVue.js';
import '~/vendor/fancybox.js';
import AdminBranding
from '~/components/Admin/Branding.vue';
import AdminBranding from '~/components/Admin/Branding.vue';
export default initBase(AdminBranding);

View File

@ -1,8 +1,5 @@
import initBase from '~/base.js';
import '~/vendor/bootstrapVue.js';
import '~/vendor/sweetalert.js';
import AdminCustomFields from '~/components/Admin/CustomFields.vue';
export default initBase(AdminCustomFields);

View File

@ -1,7 +1,5 @@
import initBase from '~/base.js';
import '~/vendor/bootstrapVue.js';
import AdminGeoLite from '~/components/Admin/GeoLite.vue';
export default initBase(AdminGeoLite);

View File

@ -1,8 +1,5 @@
import initBase from '~/base.js';
import '~/vendor/bootstrapVue.js';
import '~/vendor/sweetalert.js';
import AdminIndex from '~/components/Admin/Index.vue';
export default initBase(AdminIndex);

View File

@ -1,7 +1,5 @@
import initBase from '~/base.js';
import '~/vendor/bootstrapVue.js';
import AdminLogs from '~/components/Admin/Logs.vue';
export default initBase(AdminLogs);

View File

@ -1,8 +1,5 @@
import initBase from '~/base.js';
import '~/vendor/bootstrapVue.js';
import '~/vendor/sweetalert.js';
import AdminPermissions from '~/components/Admin/Permissions.vue';
export default initBase(AdminPermissions);

View File

@ -1,7 +1,5 @@
import initBase from '~/base.js';
import '~/vendor/bootstrapVue.js';
import AdminSettings from '~/components/Admin/Settings.vue';
export default initBase(AdminSettings);

View File

@ -1,7 +1,5 @@
import initBase from '~/base.js';
import '~/vendor/bootstrapVue.js';
import AdminShoutcast from '~/components/Admin/Shoutcast.vue';
export default initBase(AdminShoutcast);

View File

@ -1,8 +1,5 @@
import initBase from '~/base.js';
import '~/vendor/bootstrapVue.js';
import '~/vendor/sweetalert.js';
import AdminStations from '~/components/Admin/Stations.vue';
export default initBase(AdminStations);

View File

@ -1,7 +1,5 @@
import initBase from '~/base.js';
import '~/vendor/bootstrapVue.js';
import AdminStereoTool from '~/components/Admin/StereoTool.vue';
export default initBase(AdminStereoTool);

View File

@ -1,8 +1,5 @@
import initBase from '~/base.js';
import '~/vendor/bootstrapVue.js';
import '~/vendor/sweetalert.js';
import StorageLocations from '~/components/Admin/StorageLocations.vue';
export default initBase(StorageLocations);

View File

@ -1,8 +1,5 @@
import initBase from '~/base.js';
import '~/vendor/bootstrapVue.js';
import '~/vendor/sweetalert.js';
import AdminUsers from '~/components/Admin/Users.vue';
export default initBase(AdminUsers);

View File

@ -1,6 +1,4 @@
import initBase from '~/base.js';
import '~/vendor/bootstrapVue.js';
import '~/vendor/fancybox.js';
import '~/vendor/chartjs.js';

View File

@ -1,13 +1,20 @@
import Vue from 'vue';
import {createApp} from 'vue';
import InlinePlayer from '~/components/InlinePlayer.vue';
import pinia from '../vendor/pinia';
import usePinia from '../vendor/pinia';
import gettext from "../vendor/gettext";
document.addEventListener('DOMContentLoaded', function () {
const inlineApp = createApp(InlinePlayer);
let inlinePlayer = new Vue({
el: '#radio-player-controls',
render: createElement => createElement(InlinePlayer),
pinia
});
/* Gettext */
if (typeof App.locale !== 'undefined') {
inlineApp.config.language = App.locale;
}
inlineApp.use(gettext);
/* Pinia */
usePinia(inlineApp);
inlineApp.mount('#radio-player-controls');
});

View File

@ -1,6 +1,5 @@
import initBase from '~/base.js';
import '~/vendor/bootstrapVue.js';
import '~/vendor/fancybox.js';
import '~/vendor/luxon.js';

View File

@ -1,9 +1,5 @@
import initBase
from '~/base.js';
import initBase from '~/base.js';
import '~/vendor/bootstrapVue.js';
import OnDemand
from '~/components/Public/OnDemand.vue';
import OnDemand from '~/components/Public/OnDemand.vue';
export default initBase(OnDemand);

View File

@ -1,9 +1,5 @@
import initBase
from '~/base.js';
import initBase from '~/base.js';
import '~/vendor/bootstrapVue.js';
import Requests
from '~/components/Public/Requests.vue';
import Requests from '~/components/Public/Requests.vue';
export default initBase(Requests);

View File

@ -1,10 +1,7 @@
import initBase
from '~/base.js';
import initBase from '~/base.js';
import '~/vendor/bootstrapVue.js';
import '~/vendor/luxon.js';
import Schedule
from '~/components/Public/Schedule.vue';
import Schedule from '~/components/Public/Schedule.vue';
export default initBase(Schedule);

View File

@ -1,9 +1,5 @@
import initBase
from '~/base.js';
import initBase from '~/base.js';
import '~/vendor/bootstrapVue.js';
import WebDJ
from '~/components/Public/WebDJ.vue';
import WebDJ from '~/components/Public/WebDJ.vue';
export default initBase(WebDJ);

View File

@ -1,7 +1,5 @@
import initBase from '~/base.js';
import '~/vendor/bootstrapVue.js';
import Recover from '~/components/Recover.vue';
export default initBase(Recover);

View File

@ -1,7 +1,5 @@
import initBase from '~/base.js';
import '~/vendor/bootstrapVue.js';
import SetupRegister from '~/components/Setup/Register.vue';
export default initBase(SetupRegister);

View File

@ -1,7 +1,5 @@
import initBase from '~/base.js';
import '~/vendor/bootstrapVue.js';
import SetupSettings from '~/components/Setup/Settings.vue';
export default initBase(SetupSettings);

View File

@ -1,7 +1,5 @@
import initBase from '~/base.js';
import '~/vendor/bootstrapVue.js';
import SetupStation from '~/components/Setup/Station.vue';
export default initBase(SetupStation);

View File

@ -1,7 +1,5 @@
import initBase from '~/base.js';
import '~/vendor/bootstrapVue.js';
import BulkMedia from '~/components/Stations/BulkMedia.vue';
export default initBase(BulkMedia);

View File

@ -1,7 +1,5 @@
import initBase from '~/base.js';
import '~/vendor/bootstrapVue.js';
import Fallback from '~/components/Stations/Fallback.vue';
export default initBase(Fallback);

View File

@ -1,7 +1,5 @@
import initBase from '~/base.js';
import '~/vendor/bootstrapVue.js';
import Help from '~/components/Stations/Help.vue';
export default initBase(Help);

View File

@ -1,8 +1,5 @@
import initBase from '~/base.js';
import '~/vendor/bootstrapVue.js';
import '~/vendor/sweetalert.js';
import HlsStreams from '~/components/Stations/HlsStreams.vue';
export default initBase(HlsStreams);

View File

@ -1,7 +1,5 @@
import initBase from '~/base.js';
import '~/vendor/bootstrapVue.js';
import LiquidsoapConfig from '~/components/Stations/LiquidsoapConfig.vue';
export default initBase(LiquidsoapConfig);

View File

@ -1,9 +1,7 @@
import initBase from '~/base.js';
import '~/vendor/bootstrapVue.js';
import '~/vendor/fancybox.js';
import '~/vendor/luxon.js';
import '~/vendor/sweetalert.js';
import '~/pages/InlinePlayer.js';

View File

@ -1,8 +1,5 @@
import initBase from '~/base.js';
import '~/vendor/bootstrapVue.js';
import '~/vendor/sweetalert.js';
import Mounts from '~/components/Stations/Mounts.vue';
export default initBase(Mounts);

View File

@ -1,8 +1,6 @@
import initBase from '~/base.js';
import '~/vendor/bootstrapVue.js';
import '~/vendor/luxon.js';
import '~/vendor/sweetalert.js';
import '~/store';
import Playlists from '~/components/Stations/Playlists.vue';

View File

@ -1,7 +1,5 @@
import initBase from '~/base.js';
import '~/vendor/bootstrapVue.js';
import '~/vendor/sweetalert.js';
import '~/vendor/fancybox.js';
import '~/vendor/luxon.js';

View File

@ -1,6 +1,5 @@
import initBase from '~/base.js';
import '~/vendor/bootstrapVue.js';
import '~/vendor/fancybox.js';
import '~/vendor/luxon.js';

View File

@ -1,7 +1,5 @@
import initBase from '~/base.js';
import '~/vendor/bootstrapVue.js';
import ProfileEdit from '~/components/Stations/ProfileEdit.vue';
export default initBase(ProfileEdit);

View File

@ -1,8 +1,6 @@
import initBase from '~/base.js';
import '~/vendor/bootstrapVue.js';
import '~/vendor/luxon.js';
import '~/vendor/sweetalert.js';
import Queue from '~/components/Stations/Queue.vue';

View File

@ -1,8 +1,5 @@
import initBase from '~/base.js';
import '~/vendor/bootstrapVue.js';
import '~/vendor/sweetalert.js';
import Remotes from '~/components/Stations/Remotes.vue';
export default initBase(Remotes);

View File

@ -1,10 +1,7 @@
import initBase
from '~/base.js';
import initBase from '~/base.js';
import '~/vendor/bootstrapVue.js';
import '~/vendor/luxon.js';
import Listeners
from '~/components/Stations/Reports/Listeners.vue';
import Listeners from '~/components/Stations/Reports/Listeners.vue';
export default initBase(Listeners);

View File

@ -1,10 +1,7 @@
import initBase
from '~/base.js';
import initBase from '~/base.js';
import '~/vendor/bootstrapVue.js';
import '~/vendor/chartjs.js';
import Overview
from '~/components/Stations/Reports/Overview.vue';
import Overview from '~/components/Stations/Reports/Overview.vue';
export default initBase(Overview);

View File

@ -1,8 +1,6 @@
import initBase from '~/base.js';
import '~/vendor/bootstrapVue.js';
import '~/vendor/luxon.js';
import '~/vendor/sweetalert.js';
import Requests from '~/components/Stations/Reports/Requests.vue';

View File

@ -1,6 +1,5 @@
import initBase from '~/base.js';
import '~/vendor/bootstrapVue.js';
import '~/vendor/luxon.js';
import SoundExchange from '~/components/Stations/Reports/SoundExchange.vue';

View File

@ -1,10 +1,7 @@
import initBase
from '~/base.js';
import initBase from '~/base.js';
import '~/vendor/bootstrapVue.js';
import '~/vendor/luxon.js';
import Timeline
from '~/components/Stations/Reports/Timeline.vue';
import Timeline from '~/components/Stations/Reports/Timeline.vue';
export default initBase(Timeline);

View File

@ -1,8 +1,5 @@
import initBase from '~/base.js';
import '~/vendor/bootstrapVue.js';
import '~/vendor/sweetalert.js';
import SftpUsers from "~/components/Stations/SftpUsers";
export default initBase(SftpUsers);

View File

@ -1,7 +1,5 @@
import initBase from '~/base.js';
import '~/vendor/bootstrapVue.js';
import StereoToolConfig from '~/components/Stations/StereoToolConfig.vue';
export default initBase(StereoToolConfig);

View File

@ -1,7 +1,5 @@
import initBase from '~/base.js';
import '~/vendor/bootstrapVue.js';
import '~/vendor/sweetalert.js';
import '~/vendor/fancybox.js';
import '~/vendor/luxon.js';

View File

@ -1,8 +1,5 @@
import initBase from '~/base.js';
import '~/vendor/bootstrapVue.js';
import '~/vendor/sweetalert.js';
import Webhooks from '~/components/Stations/Webhooks';
export default initBase(Webhooks);

8
frontend/vue/vendor/gettext.js vendored Normal file
View File

@ -0,0 +1,8 @@
import translations from "../../../translations/translations.json";
import {createGettext} from "vue3-gettext";
export default createGettext({
defaultLanguage: 'en_US',
translations: translations,
silent: true
});

View File

@ -1,7 +1,7 @@
import Vue from 'vue';
import {createPinia, PiniaVuePlugin} from 'pinia';
import {createPinia} from 'pinia';
Vue.use(PiniaVuePlugin);
const pinia = createPinia();
export default pinia;
export default function usePinia(vueApp) {
vueApp.use(pinia);
}