base files update

This commit is contained in:
Jérémy Munsch 2023-05-03 12:42:19 +02:00
parent b27174fc1f
commit e0eec48cb2
No known key found for this signature in database
GPG key ID: 18361AF3BFEC0FEC
12 changed files with 150 additions and 60 deletions

View file

@ -1,5 +1,6 @@
{
"extends": [
"stylelint-config-prettier",
"stylelint-config-standard-scss",
"stylelint-config-sass-guidelines",
"stylelint-config-idiomatic-order"
@ -14,9 +15,7 @@
"**/vendor/*.sass",
"**/vendor/**/*.sass",
"**/vendor/*.less",
"**/vendor/**/*.less",
"**/vendor/*.vue",
"**/vendor/**/*.vue"
"**/vendor/**/*.less"
],
"customSyntax": "postcss-scss",
"rules": {
@ -27,6 +26,9 @@
"order/properties-alphabetical-order": null,
"max-nesting-depth": 5,
"selector-max-compound-selectors": 5,
"declaration-colon-space-after": "always-single-line",
"function-parentheses-space-inside": "never-single-line",
"declaration-colon-newline-after": null,
"scss/double-slash-comment-empty-line-before": [
"always",
{

20
.vscode/settings.json vendored
View file

@ -1,21 +1,21 @@
{
"workbench.colorCustomizations": {
"activityBar.activeBackground": "#e4f100",
"activityBar.background": "#e4f100",
"activityBar.activeBackground": "#d6de61",
"activityBar.background": "#d6de61",
"activityBar.foreground": "#15202b",
"activityBar.inactiveForeground": "#15202b99",
"activityBarBadge.background": "#00b5bf",
"activityBarBadge.foreground": "#15202b",
"activityBarBadge.background": "#21969e",
"activityBarBadge.foreground": "#e7e7e7",
"commandCenter.border": "#15202b99",
"sash.hoverBorder": "#e4f100",
"statusBar.background": "#b4be00",
"sash.hoverBorder": "#d6de61",
"statusBar.background": "#cbd537",
"statusBar.foreground": "#15202b",
"statusBarItem.hoverBackground": "#848b00",
"statusBarItem.remoteBackground": "#b4be00",
"statusBarItem.hoverBackground": "#aab326",
"statusBarItem.remoteBackground": "#cbd537",
"statusBarItem.remoteForeground": "#15202b",
"titleBar.activeBackground": "#b4be00",
"titleBar.activeBackground": "#cbd537",
"titleBar.activeForeground": "#15202b",
"titleBar.inactiveBackground": "#b4be0099",
"titleBar.inactiveBackground": "#cbd53799",
"titleBar.inactiveForeground": "#15202b99"
},
"peacock.remoteColor": "#CBD537"

128
package-lock.json generated
View file

@ -4,10 +4,6 @@
"requires": true,
"packages": {
"": {
"dependencies": {
"@splidejs/splide": "^4.1.4",
"alpinejs": "^3.12.0"
},
"devDependencies": {
"@babel/types": "^7.21.2",
"@fortawesome/fontawesome-svg-core": "^6.1.2",
@ -17,6 +13,7 @@
"@fortawesome/vue-fontawesome": "^3.0.1",
"@rushstack/eslint-patch": "^1.1.4",
"@sipec/vue3-tags-input": "^3.0.4",
"@splidejs/splide": "^4.1.4",
"@types/alpinejs": "^3.7.1",
"@types/bootstrap": "^5.2.6",
"@types/cropperjs": "^1.3.0",
@ -27,6 +24,7 @@
"@vitejs/plugin-legacy": "^4.0.1",
"@vitejs/plugin-vue": "^4.0.0",
"@vue/eslint-config-typescript": "^11.0.0",
"alpinejs": "^3.12.0",
"axios": "^1.1.2",
"bootstrap": "^5.2.3",
"cropperjs": "^1.5.12",
@ -44,6 +42,7 @@
"slugify": "^1.6.5",
"stylelint": "^14.16.1",
"stylelint-config-idiomatic-order": "^8.1.0",
"stylelint-config-prettier": "^9.0.5",
"stylelint-config-sass-guidelines": "^9.0.1",
"stylelint-config-standard-scss": "^6.1.0",
"stylelint-scss": "^4.4.0",
@ -2426,7 +2425,8 @@
"node_modules/@splidejs/splide": {
"version": "4.1.4",
"resolved": "https://registry.npmjs.org/@splidejs/splide/-/splide-4.1.4.tgz",
"integrity": "sha512-5I30evTJcAJQXt6vJ26g2xEkG+l1nXcpEw4xpKh0/FWQ8ozmAeTbtniVtVmz2sH1Es3vgfC4SS8B2X4o5JMptA=="
"integrity": "sha512-5I30evTJcAJQXt6vJ26g2xEkG+l1nXcpEw4xpKh0/FWQ8ozmAeTbtniVtVmz2sH1Es3vgfC4SS8B2X4o5JMptA==",
"dev": true
},
"node_modules/@types/alpinejs": {
"version": "3.7.1",
@ -2437,6 +2437,21 @@
"@vue/reactivity": "^3.2.26"
}
},
"node_modules/@types/alpinejs/node_modules/@vue/reactivity": {
"version": "3.2.47",
"resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.47.tgz",
"integrity": "sha512-7khqQ/75oyyg+N/e+iwV6lpy1f5wq759NdlS1fpAhFXa8VeAIKGgk2E/C4VF59lx5b+Ezs5fpp/5WsRYXQiKxQ==",
"dev": true,
"dependencies": {
"@vue/shared": "3.2.47"
}
},
"node_modules/@types/alpinejs/node_modules/@vue/shared": {
"version": "3.2.47",
"resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.47.tgz",
"integrity": "sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==",
"dev": true
},
"node_modules/@types/bootstrap": {
"version": "5.2.6",
"resolved": "https://registry.npmjs.org/@types/bootstrap/-/bootstrap-5.2.6.tgz",
@ -2935,6 +2950,12 @@
"source-map": "^0.6.1"
}
},
"node_modules/@vue/compiler-core/node_modules/@vue/shared": {
"version": "3.2.47",
"resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.47.tgz",
"integrity": "sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==",
"dev": true
},
"node_modules/@vue/compiler-dom": {
"version": "3.2.47",
"resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.47.tgz",
@ -2945,6 +2966,12 @@
"@vue/shared": "3.2.47"
}
},
"node_modules/@vue/compiler-dom/node_modules/@vue/shared": {
"version": "3.2.47",
"resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.47.tgz",
"integrity": "sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==",
"dev": true
},
"node_modules/@vue/compiler-sfc": {
"version": "3.2.47",
"resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.47.tgz",
@ -2963,6 +2990,12 @@
"source-map": "^0.6.1"
}
},
"node_modules/@vue/compiler-sfc/node_modules/@vue/shared": {
"version": "3.2.47",
"resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.47.tgz",
"integrity": "sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==",
"dev": true
},
"node_modules/@vue/compiler-sfc/node_modules/magic-string": {
"version": "0.25.9",
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz",
@ -2982,6 +3015,12 @@
"@vue/shared": "3.2.47"
}
},
"node_modules/@vue/compiler-ssr/node_modules/@vue/shared": {
"version": "3.2.47",
"resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.47.tgz",
"integrity": "sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==",
"dev": true
},
"node_modules/@vue/eslint-config-typescript": {
"version": "11.0.3",
"resolved": "https://registry.npmjs.org/@vue/eslint-config-typescript/-/eslint-config-typescript-11.0.3.tgz",
@ -3007,12 +3046,12 @@
}
},
"node_modules/@vue/reactivity": {
"version": "3.2.47",
"resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.47.tgz",
"integrity": "sha512-7khqQ/75oyyg+N/e+iwV6lpy1f5wq759NdlS1fpAhFXa8VeAIKGgk2E/C4VF59lx5b+Ezs5fpp/5WsRYXQiKxQ==",
"version": "3.1.5",
"resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.1.5.tgz",
"integrity": "sha512-1tdfLmNjWG6t/CsPldh+foumYFo3cpyCHgBYQ34ylaMsJ+SNHQ1kApMIa8jN+i593zQuaw3AdWH0nJTARzCFhg==",
"dev": true,
"dependencies": {
"@vue/shared": "3.2.47"
"@vue/shared": "3.1.5"
}
},
"node_modules/@vue/reactivity-transform": {
@ -3028,6 +3067,12 @@
"magic-string": "^0.25.7"
}
},
"node_modules/@vue/reactivity-transform/node_modules/@vue/shared": {
"version": "3.2.47",
"resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.47.tgz",
"integrity": "sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==",
"dev": true
},
"node_modules/@vue/reactivity-transform/node_modules/magic-string": {
"version": "0.25.9",
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz",
@ -3047,6 +3092,21 @@
"@vue/shared": "3.2.47"
}
},
"node_modules/@vue/runtime-core/node_modules/@vue/reactivity": {
"version": "3.2.47",
"resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.47.tgz",
"integrity": "sha512-7khqQ/75oyyg+N/e+iwV6lpy1f5wq759NdlS1fpAhFXa8VeAIKGgk2E/C4VF59lx5b+Ezs5fpp/5WsRYXQiKxQ==",
"dev": true,
"dependencies": {
"@vue/shared": "3.2.47"
}
},
"node_modules/@vue/runtime-core/node_modules/@vue/shared": {
"version": "3.2.47",
"resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.47.tgz",
"integrity": "sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==",
"dev": true
},
"node_modules/@vue/runtime-dom": {
"version": "3.2.47",
"resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.47.tgz",
@ -3058,6 +3118,12 @@
"csstype": "^2.6.8"
}
},
"node_modules/@vue/runtime-dom/node_modules/@vue/shared": {
"version": "3.2.47",
"resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.47.tgz",
"integrity": "sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==",
"dev": true
},
"node_modules/@vue/server-renderer": {
"version": "3.2.47",
"resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.47.tgz",
@ -3071,12 +3137,18 @@
"vue": "3.2.47"
}
},
"node_modules/@vue/shared": {
"node_modules/@vue/server-renderer/node_modules/@vue/shared": {
"version": "3.2.47",
"resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.47.tgz",
"integrity": "sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==",
"dev": true
},
"node_modules/@vue/shared": {
"version": "3.1.5",
"resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.1.5.tgz",
"integrity": "sha512-oJ4F3TnvpXaQwZJNF3ZK+kLPHKarDmJjJ6jyzVNDKH9md1dptjC7lWR//jrGuLdek/U6iltWxqAnYOu8gCiOvA==",
"dev": true
},
"node_modules/@webassemblyjs/ast": {
"version": "1.11.5",
"resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.5.tgz",
@ -3365,23 +3437,11 @@
"version": "3.12.0",
"resolved": "https://registry.npmjs.org/alpinejs/-/alpinejs-3.12.0.tgz",
"integrity": "sha512-YENcRBA9dlwR8PsZNFMTHbmdlTNwd1BkCeivPvOzzCKHas6AfwNRsDK9UEFmE5dXTMEZjnnpCTxV8vkdpWiOCw==",
"dev": true,
"dependencies": {
"@vue/reactivity": "~3.1.1"
}
},
"node_modules/alpinejs/node_modules/@vue/reactivity": {
"version": "3.1.5",
"resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.1.5.tgz",
"integrity": "sha512-1tdfLmNjWG6t/CsPldh+foumYFo3cpyCHgBYQ34ylaMsJ+SNHQ1kApMIa8jN+i593zQuaw3AdWH0nJTARzCFhg==",
"dependencies": {
"@vue/shared": "3.1.5"
}
},
"node_modules/alpinejs/node_modules/@vue/shared": {
"version": "3.1.5",
"resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.1.5.tgz",
"integrity": "sha512-oJ4F3TnvpXaQwZJNF3ZK+kLPHKarDmJjJ6jyzVNDKH9md1dptjC7lWR//jrGuLdek/U6iltWxqAnYOu8gCiOvA=="
},
"node_modules/ansi-escapes": {
"version": "4.3.2",
"resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
@ -7892,6 +7952,22 @@
"stylelint": ">=11"
}
},
"node_modules/stylelint-config-prettier": {
"version": "9.0.5",
"resolved": "https://registry.npmjs.org/stylelint-config-prettier/-/stylelint-config-prettier-9.0.5.tgz",
"integrity": "sha512-U44lELgLZhbAD/xy/vncZ2Pq8sh2TnpiPvo38Ifg9+zeioR+LAkHu0i6YORIOxFafZoVg0xqQwex6e6F25S5XA==",
"dev": true,
"bin": {
"stylelint-config-prettier": "bin/check.js",
"stylelint-config-prettier-check": "bin/check.js"
},
"engines": {
"node": ">= 12"
},
"peerDependencies": {
"stylelint": ">= 11.x < 15"
}
},
"node_modules/stylelint-config-recommended": {
"version": "9.0.0",
"resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-9.0.0.tgz",
@ -9347,6 +9423,12 @@
"typescript": "*"
}
},
"node_modules/vue/node_modules/@vue/shared": {
"version": "3.2.47",
"resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.47.tgz",
"integrity": "sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==",
"dev": true
},
"node_modules/vue3-nestable": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/vue3-nestable/-/vue3-nestable-3.0.3.tgz",

View file

@ -20,6 +20,7 @@
"@fortawesome/vue-fontawesome": "^3.0.1",
"@rushstack/eslint-patch": "^1.1.4",
"@sipec/vue3-tags-input": "^3.0.4",
"@splidejs/splide": "^4.1.4",
"@types/alpinejs": "^3.7.1",
"@types/bootstrap": "^5.2.6",
"@types/cropperjs": "^1.3.0",
@ -30,6 +31,7 @@
"@vitejs/plugin-legacy": "^4.0.1",
"@vitejs/plugin-vue": "^4.0.0",
"@vue/eslint-config-typescript": "^11.0.0",
"alpinejs": "^3.12.0",
"axios": "^1.1.2",
"bootstrap": "^5.2.3",
"cropperjs": "^1.5.12",
@ -47,6 +49,7 @@
"slugify": "^1.6.5",
"stylelint": "^14.16.1",
"stylelint-config-idiomatic-order": "^8.1.0",
"stylelint-config-prettier": "^9.0.5",
"stylelint-config-sass-guidelines": "^9.0.1",
"stylelint-config-standard-scss": "^6.1.0",
"stylelint-scss": "^4.4.0",
@ -66,9 +69,5 @@
"vue-loader": "^16.8.3",
"vue-tsc": "^1.2.0",
"vue3-nestable": "^3.0.3"
},
"dependencies": {
"@splidejs/splide": "^4.1.4",
"alpinejs": "^3.12.0"
}
}

View file

@ -20,6 +20,7 @@
<rule ref="Generic.CodeAnalysis.UnnecessaryFinalModifier"/>
<rule ref="Generic.CodeAnalysis.UnusedFunctionParameter"/>
<rule ref="Generic.CodeAnalysis.UselessOverridingMethod"/>
<rule ref="Generic.Commenting.DocComment.SpacingBeforeTags"/>
<rule ref="Generic.Commenting.Todo"/>
<rule ref="Generic.Commenting.Fixme"/>
<rule ref="Generic.ControlStructures.InlineControlStructure"/>

View file

@ -12,12 +12,12 @@ import Alpine from "alpinejs";
window.Alpine = Alpine;
Alpine.start();
window.addEventListener("scroll", (e) => { // eslint-disable-line no-unused-vars
window.addEventListener("scroll", () => {
const html = document.documentElement;
const scroll = html.scrollTop;
if(scroll > 100) {
if (scroll > 100) {
document.querySelector("header")?.classList.add("small");
} else {
document.querySelector("header")?.classList.remove("small");
}
});
});

View file

@ -25,6 +25,10 @@ export default {
.map(function (tooltipTriggerEl) {
return new window.bootstrap.Tooltip(tooltipTriggerEl, {
customClass: "large-tooltip",
delay: {
show: 1250,
hide: 0,
},
});
});
},

View file

@ -38,9 +38,9 @@ export default {
allErrors: Record<string, Array<string>> = {}
): string | null {
let errorList = [] as Array<string>;
Object.keys(allErrors).filter((value) => {
Object.keys(allErrors).filter((value, index) => {
if (value == inputName) {
errorList = allErrors[value];
errorList = allErrors[index];
}
});
return errorList.length

View file

@ -13,8 +13,8 @@ window.addEventListener("DOMContentLoaded", () => {
);
}
confirm.methods.confirm(
"Confirm",
"Do you really want to remove this element ?",
"Confirmez",
"Voulez-vous vraiment supprimer cet élément ?",
el as HTMLFormElement,
function () {
(el as HTMLFormElement).submit();
@ -35,8 +35,8 @@ window.addEventListener("DOMContentLoaded", () => {
);
}
confirm.methods.confirm(
"Confirm",
"Do you really want to mark this item as treated ?",
"Confirmez",
"Voulez-vous vraiment marquer cet élément comme traité ?",
el as HTMLFormElement,
function () {
(el as HTMLFormElement).submit();
@ -57,8 +57,8 @@ window.addEventListener("DOMContentLoaded", () => {
);
}
confirm.methods.confirm(
"Confirm",
"Do you want to save this element as it is ?",
"Confirmez",
"Voulez-vous enregistrer cet élément tel-quel ?",
el as HTMLFormElement,
function () {
(el as HTMLFormElement).submit();
@ -85,8 +85,8 @@ window.addEventListener("DOMContentLoaded", () => {
const promise = new Promise(
(resolve: (value: boolean) => void) => {
confirm.methods.confirm(
"Confirm",
"Are you sure ?",
"Confirmez",
"Êtes vous sure ?",
el,
function (response: SweetAlertResult<any>) {
resolve(response.isConfirmed);

View file

@ -27,14 +27,15 @@ export default {
showCancelButton: true,
confirmButtonText:
options.confirmButtonText ??
trans.default.methods.__("Yes"),
trans.default.methods.__("Oui"),
cancelButtonText:
options.cancelButtonText ??
trans.default.methods.__("Cancel"),
trans.default.methods.__("Annuler"),
reverseButtons: true,
// * Bootstrap Styling
customClass: {
confirmButton: "btn btn-primary mx-1",
cancelButton: "btn btn-danger mx-1",
confirmButton: "btn btn-lg btn-success ms-3 me-3",
cancelButton: "btn btn-lg btn-danger ms-3 me-3",
},
buttonsStyling: false,
}).then((result) => {
@ -48,12 +49,12 @@ export default {
) {
Swal.fire({
title: trans.default.methods.__(
"The operation has not been performed"
"L'opération n'as pas été effectuée"
),
confirmButtonText: trans.default.methods.__("Ok"),
// * Bootstrap Styling
customClass: {
confirmButton: "btn btn-primary",
confirmButton: "btn btn-lg btn-primary",
},
buttonsStyling: false,
});

View file

@ -1,4 +1,4 @@
import * as Toastify from "toastify-js";
import Toastify from "toastify-js";
import { Options } from "toastify-js";
export default {

View file

@ -1,6 +1,7 @@
{
"sourceMap": true,
"compilerOptions": {
"esModuleInterop": true,
"target": "esnext",
"lib": ["es5", "es6", "es2021", "dom", "dom.iterable"],
"module": "esnext",