From 92591c23fa464d9af862af80a9eb2a84a6806c6a Mon Sep 17 00:00:00 2001
From: Artur Carvalho <artur.carvalho@uni.lu>
Date: Mon, 23 Jan 2023 16:03:53 +0100
Subject: [PATCH] Fix eslint errors

---
 .eslintrc.cjs                                |  4 ++++
 README.md                                    |  2 ++
 src/components/AgCellRenderer.vue            |  4 ++--
 src/components/AgHeader.vue                  |  6 +++---
 src/components/{Table.vue => AgTable.vue}    | 17 +++++++++--------
 src/components/AgTooltip.vue                 | 11 +++++------
 src/components/{Echart.vue => ChartComp.vue} |  0
 src/components/{Home.vue => HomePage.vue}    |  2 +-
 src/components/{List.vue => ListComp.vue}    |  0
 src/components/TanTable.vue                  |  6 +++---
 src/router/index.ts                          |  4 ++--
 11 files changed, 31 insertions(+), 25 deletions(-)
 rename src/components/{Table.vue => AgTable.vue} (92%)
 rename src/components/{Echart.vue => ChartComp.vue} (100%)
 rename src/components/{Home.vue => HomePage.vue} (91%)
 rename src/components/{List.vue => ListComp.vue} (100%)

diff --git a/.eslintrc.cjs b/.eslintrc.cjs
index dc51c01..7c24883 100644
--- a/.eslintrc.cjs
+++ b/.eslintrc.cjs
@@ -3,6 +3,10 @@ require("@rushstack/eslint-patch/modern-module-resolution");
 
 module.exports = {
   root: true,
+  // env.node = true, makes eslint accept module.exports
+  env: {
+    node: true,
+  },
   extends: [
     "plugin:vue/vue3-essential",
     "eslint:recommended",
diff --git a/README.md b/README.md
index 61a733b..933a055 100644
--- a/README.md
+++ b/README.md
@@ -70,3 +70,5 @@ npm run test:e2e -- --debug
 npm run lint
 npm run format
 ```
+
+Linting rules: https://eslint.vuejs.org/rules
diff --git a/src/components/AgCellRenderer.vue b/src/components/AgCellRenderer.vue
index 165d333..306cb53 100644
--- a/src/components/AgCellRenderer.vue
+++ b/src/components/AgCellRenderer.vue
@@ -1,12 +1,12 @@
 <script setup lang="ts">
 import type { IHeaderParams } from "ag-grid-community";
-const props: any = defineProps();
+const props: any = defineProps<{ params: any; value?: any }>();
 const params = props.params as IHeaderParams & { value: boolean };
 
 console.log(params?.value);
 const hasValue = params?.value !== undefined;
 
-const f = (evt: any) => console.log("focus");
+// const f = (evt: any) => console.log("focus");
 </script>
 <template>
   <div class="focus:ring-green-500">
diff --git a/src/components/AgHeader.vue b/src/components/AgHeader.vue
index 3b9fb7c..1c0b9c3 100644
--- a/src/components/AgHeader.vue
+++ b/src/components/AgHeader.vue
@@ -9,12 +9,12 @@ import "ag-grid-community/styles/ag-grid.css"; // Core grid CSS, always needed
 import "ag-grid-community/styles/ag-theme-alpine.css"; // Optional theme CSS
 
 // const props = defineProps<IComponent<any>>();
-const props: any = defineProps();
+const props: any = defineProps<{ params: any; value: any }>();
 const params = props.params as IHeaderParams & { menuIcon: string };
 const menuButton = ref(null);
 console.log(params);
 
-function onMenuClicked(evt: any) {
+function onMenuClicked() {
   params.showColumnMenu(menuButton.value as any); // some problem here
 }
 </script>
@@ -26,7 +26,7 @@ function onMenuClicked(evt: any) {
       v-if="params.enableMenu"
       ref="menuButton"
       class="customHeaderMenuButton"
-      @click="onMenuClicked($event)"
+      @click="onMenuClicked()"
     >
       <i class="fa" :class="params.menuIcon"></i>
     </div>
diff --git a/src/components/Table.vue b/src/components/AgTable.vue
similarity index 92%
rename from src/components/Table.vue
rename to src/components/AgTable.vue
index 75c26d5..fa2839e 100644
--- a/src/components/Table.vue
+++ b/src/components/AgTable.vue
@@ -1,7 +1,8 @@
 <script setup lang="ts">
 import { AgGridVue } from "ag-grid-vue3";
 import { ref } from "vue";
-import type { GridReadyEvent, ColDef } from "ag-grid-community";
+import type { ColDef } from "ag-grid-community";
+// import type { GridReadyEvent } from "ag-grid-community";
 import { useTippy } from "vue-tippy";
 // import AgHeader from "./AgHeader.vue";
 import AgTooltip from "./AgTooltip.vue";
@@ -42,15 +43,15 @@ interface ICar {
   isValid?: boolean;
 }
 
-const gridApi: any = ref(null);
-const onGridReady = (params: GridReadyEvent) => {
-  gridApi.value = params.api;
-};
+// const gridApi: any = ref(null);
+// const onGridReady = (params: GridReadyEvent) => {
+//   gridApi.value = params.api;
+// };
 const rowData: any = ref(rows);
 
-const cellWasClicked = (evt: any) => {
-  console.log("xxx cell was clicked", evt.value);
-};
+// const cellWasClicked = (evt: any) => {
+//   console.log("xxx cell was clicked", evt.value);
+// };
 const cellFocused = (evt: any) => {
   console.log("xxx cell was focused", evt);
 };
diff --git a/src/components/AgTooltip.vue b/src/components/AgTooltip.vue
index e66bafa..8048da0 100644
--- a/src/components/AgTooltip.vue
+++ b/src/components/AgTooltip.vue
@@ -5,20 +5,19 @@
 -->
 
 <script setup lang="ts">
-import { ref } from "vue";
-import Echart from "./Echart.vue";
+// import { ref } from "vue";
+import ChartComp from "./ChartComp.vue";
 
-const props: any = defineProps();
-const params: any = props.params;
+const props: any = defineProps<{ params: any; value: any }>();
 
-const isHeader = params.rowIndex === undefined;
+const isHeader = props.params.rowIndex === undefined;
 </script>
 <template>
   <div class="border">
     <div class="bg-slate-700 text-white center" v-if="isHeader">hello!</div>
 
     <div class="">
-      <echart />
+      <chart-comp />
     </div>
   </div>
 </template>
diff --git a/src/components/Echart.vue b/src/components/ChartComp.vue
similarity index 100%
rename from src/components/Echart.vue
rename to src/components/ChartComp.vue
diff --git a/src/components/Home.vue b/src/components/HomePage.vue
similarity index 91%
rename from src/components/Home.vue
rename to src/components/HomePage.vue
index 4faf5bf..3632444 100644
--- a/src/components/Home.vue
+++ b/src/components/HomePage.vue
@@ -1,5 +1,5 @@
 <script setup lang="ts">
-import List from "./List.vue";
+import List from "./ListComp.vue";
 </script>
 
 <template>
diff --git a/src/components/List.vue b/src/components/ListComp.vue
similarity index 100%
rename from src/components/List.vue
rename to src/components/ListComp.vue
diff --git a/src/components/TanTable.vue b/src/components/TanTable.vue
index c06895b..896f52a 100644
--- a/src/components/TanTable.vue
+++ b/src/components/TanTable.vue
@@ -78,9 +78,9 @@ const columns = [
 
 const data = ref(defaultData);
 
-const rerender = () => {
-  data.value = defaultData;
-};
+// const rerender = () => {
+//   data.value = defaultData;
+// };
 
 const table = useVueTable({
   get data() {
diff --git a/src/router/index.ts b/src/router/index.ts
index 2875bdd..4e2a2be 100644
--- a/src/router/index.ts
+++ b/src/router/index.ts
@@ -1,11 +1,11 @@
 import { createRouter, createWebHistory } from "vue-router";
-import Home from "../components/Home.vue";
+import Home from "../components/HomePage.vue";
 
 const router = createRouter({
   history: createWebHistory(),
   routes: [
     { path: "/", component: Home },
-    { path: "/ag-grid", component: () => import("../components/Table.vue") },
+    { path: "/ag-grid", component: () => import("../components/AgTable.vue") },
     {
       path: "/tanstack",
       component: () => import("../components/TanTable.vue"),
-- 
GitLab