diff --git a/package-lock.json b/package-lock.json
index 07377a4..42433f3 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -17,6 +17,7 @@
"sloc": "^0.3.2",
"striptags": "^3.2.0",
"vue": "^3.5.13",
+ "vue-async-computed": "^4.0.1",
"vue-router": "^4.5.0"
},
"devDependencies": {
@@ -2278,6 +2279,15 @@
}
}
},
+ "node_modules/vue-async-computed": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/vue-async-computed/-/vue-async-computed-4.0.1.tgz",
+ "integrity": "sha512-INDaMHK7MSkfSLdIDSxmeFCeW+JO+Hj7wO+tVNE4u+W7ixSEPfGi4hlwBnv2pk/NmyDCTqSnmcfgxYZpofE5eQ==",
+ "license": "MIT",
+ "peerDependencies": {
+ "vue": "~3"
+ }
+ },
"node_modules/vue-router": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.5.0.tgz",
diff --git a/package.json b/package.json
index 6eebf92..9bf4a29 100644
--- a/package.json
+++ b/package.json
@@ -21,6 +21,7 @@
"sloc": "^0.3.2",
"striptags": "^3.2.0",
"vue": "^3.5.13",
+ "vue-async-computed": "^4.0.1",
"vue-router": "^4.5.0"
},
"devDependencies": {
diff --git a/src/components/bulitipp/Rangliste.vue b/src/components/bulitipp/Rangliste.vue
index 76ae289..49e0b00 100644
--- a/src/components/bulitipp/Rangliste.vue
+++ b/src/components/bulitipp/Rangliste.vue
@@ -21,7 +21,7 @@
Punkte |
- | {{ i }} |
+ {{ i+1 }} |
diff --git a/src/components/bulitipp/Tabelle.vue b/src/components/bulitipp/Tabelle.vue
index 1eba7a3..d4dcd82 100644
--- a/src/components/bulitipp/Tabelle.vue
+++ b/src/components/bulitipp/Tabelle.vue
@@ -1,26 +1,20 @@
@@ -29,22 +23,22 @@ export default {
Punktetabelle
-
+
| Tag |
- {{ user.name }} |
+ {{ spieltag.user.name }} |
-
+
| {{ i+1 }} |
- {{ userpoints }} |
+ {{ userpoints.points }} |
diff --git a/src/main.ts b/src/main.ts
index 3f0fb84..f8d2d06 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -1,7 +1,9 @@
import { createApp } from "vue";
import App from "./App.vue";
import router from "./router";
+import AsyncComputed from "vue-async-computed";
createApp(App)
.use(router)
+.use(AsyncComputed)
.mount("#app");
diff --git a/src/views/Bulitipp.vue b/src/views/Bulitipp.vue
index ee0c8fd..d24e57f 100644
--- a/src/views/Bulitipp.vue
+++ b/src/views/Bulitipp.vue
@@ -6,6 +6,8 @@ import Uebersicht from "../components/bulitipp/Uebersicht.vue";
import Rangliste from "../components/bulitipp/Rangliste.vue";
import Paarungsergebnisse from "../components/bulitipp/Paarungsergebnisse.vue";
import Tabelle from "../components/bulitipp/Tabelle.vue";
+import $ from "jquery";
+import RitzenbergenLib from "../ritzenbergenlib.ts";
export default {
components: {
@@ -15,51 +17,36 @@ export default {
Uebersicht,
Rangliste,
Paarungsergebnisse,
- Tabelle
+ Tabelle,
+ },
+ asyncComputed: {
+ async users() {
+ return fetch(RitzenbergenLib.api("/bulitipp/get-users.php"))
+ .then((response) => response.json())
+ .then((result) => {
+ result.forEach((user, i) => {
+ let sum = 0;
+ this.spieltage.forEach((spieltag) => {
+ let points = spieltag.find((element) => {
+ return element.user.id === user.id;
+ });
+ sum += points.points;
+ });
+ user.points = sum;
+ });
+ })
+ .catch((error) => console.error("Error:", error));
+
+
+ },
},
computed: {
tippenoffen() {
return this.$route.path === "/bulitipp/tippen";
},
- users() {
- return [
- {
- id: 1,
- name: "User 1",
- points: 10,
- kuerzel: "U1",
- },
- {
- id: 2,
- name: "User 2",
- points: 20,
- kuerzel: "U2",
- },
- {
- id: 3,
- name: "User 3",
- points: 10,
- kuerzel: "U3",
- },
- {
- id: 4,
- name: "User 4",
- points: 20,
- kuerzel: "U4",
- },
- {
- id: 5,
- name: "User 5",
- points: 10,
- kuerzel: "U5",
- },
- {
- id: 6,
- name: "User 6",
- points: 20,
- kuerzel: "U6",
- },
- ].sort((a, b) => b.points - a.points);
+
+ sortedUsers() {
+ if(this.users instanceof Array) return [...this.users].sort((a, b) => b.points - a.points);
},
teams() {
return {
@@ -186,11 +173,29 @@ export default {
},
];
},
+ spieltage() {
+ let result: number[][] = [];
+ $.ajax(RitzenbergenLib.api("/bulitipp/ts.php"), {
+ async: false,
+ success(data) {
+ console.log("success");
+ result = JSON.parse(data);
+ },
+ });
+ return result;
+ },
},
methods: {
tippenschliessen() {
this.$router.push("/bulitipp");
},
+ gs(i: number) {
+ let result = 0;
+ this.spieltage[i].forEach((element) => {
+ result += element;
+ });
+ return result;
+ },
},
};
@@ -226,30 +231,29 @@ export default {
Test
-
-
-
+
-
+
-
+
+
|