Compare commits

..

8 Commits

Author SHA1 Message Date
valerio 93394c1940 update solution 2025-01-28 08:59:23 +01:00
Ann-Kathrin Stracke 7cc724e05b move global css 2025-01-28 08:40:49 +01:00
Ann-Kathrin Stracke c0963994d2 move global css 2025-01-28 08:40:21 +01:00
valerio 05c4e09ace add solution 2025-01-25 11:29:27 +01:00
valerio f208ddd171 add solution 2025-01-25 11:25:16 +01:00
valerio 9195535aad add solution 2025-01-25 11:14:32 +01:00
valerio a37263efff add solution 2025-01-25 11:09:33 +01:00
valerio 550c7ecc4b add solution 2025-01-25 10:49:39 +01:00
16 changed files with 3018 additions and 1 deletions

1
.gitignore vendored
View File

@ -19,7 +19,6 @@ coverage
# Editor directories and files
.vscode/*
vue-project/.vscode/*
!.vscode/extensions.json
.idea
*.suo

30
vue-project/.gitignore vendored 100644
View File

@ -0,0 +1,30 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
node_modules
.DS_Store
dist
dist-ssr
coverage
*.local
/cypress/videos/
/cypress/screenshots/
# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
*.tsbuildinfo

View File

@ -0,0 +1,3 @@
{
"recommendations": ["Vue.volar"]
}

View File

@ -0,0 +1,8 @@
{
"explorer.fileNesting.enabled": true,
"explorer.fileNesting.patterns": {
"tsconfig.json": "tsconfig.*.json, env.d.ts",
"vite.config.*": "jsconfig*, vitest.config.*, cypress.config.*, playwright.config.*",
"package.json": "package-lock.json, pnpm*, .yarnrc*, yarn*, .eslint*, eslint*, .prettier*, prettier*, .editorconfig"
}
}

View File

@ -0,0 +1,29 @@
# vue-project
This template should help get you started developing with Vue 3 in Vite.
## Recommended IDE Setup
[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur).
## Customize configuration
See [Vite Configuration Reference](https://vite.dev/config/).
## Project Setup
```sh
npm install
```
### Compile and Hot-Reload for Development
```sh
npm run dev
```
### Compile and Minify for Production
```sh
npm run build
```

View File

@ -0,0 +1,14 @@
<!DOCTYPE html>
<html lang="">
<head>
<link rel="stylesheet" href="src/assets/global.css">
<meta charset="UTF-8">
<link rel="icon" href="/favicon.ico">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Vue Test Projekt</title>
</head>
<body>
<div id="app"></div>
<script type="module" src="/src/main.js"></script>
</body>
</html>

View File

@ -0,0 +1,8 @@
{
"compilerOptions": {
"paths": {
"@/*": ["./src/*"]
}
},
"exclude": ["node_modules", "dist"]
}

2767
vue-project/package-lock.json generated 100644

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,19 @@
{
"name": "vue-project",
"version": "0.0.0",
"private": true,
"type": "module",
"scripts": {
"dev": "vite",
"build": "vite build",
"preview": "vite preview"
},
"dependencies": {
"vue": "^3.5.13"
},
"devDependencies": {
"@vitejs/plugin-vue": "^5.2.1",
"vite": "^6.0.11",
"vite-plugin-vue-devtools": "^7.7.0"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

@ -0,0 +1,28 @@
<script setup>
import {ref} from "vue";
import InputMask from "@/components/InputMask.vue";
const counter = ref(0)
function incrementCounter() {
counter.value++
}
const name = ref('')
setTimeout(() => {
name.value = 'Bob'
}, 1000)
</script>
<template>
<h1>Hello {{ name }}</h1>
<button @click="incrementCounter">click me for cookies</button>
You have {{ counter }} cookies
<InputMask/>
</template>
<style scoped></style>

View File

@ -0,0 +1,32 @@
body {
display: flex;
justify-content: center;
}
.input-mask {
background-color: aquamarine;
padding: 1em;
text-align: center;
}
.list {
padding: 1em;
background-color: cadetblue;
justify-content: center;
display: flex;
flex-direction: column;
}
table {
border-collapse: collapse;
}
th, td {
border: 1px solid #ddd;
padding: 8px;
text-align: left;
}
th {
background-color: #f4f4f4;
}

View File

@ -0,0 +1,37 @@
<template>
<div class="input-mask">
<span>Ich bin InputMask.vue</span>
<form>
<label>
Modulkürzel
<input type="text" placeholder="z.B. 'IWS'" v-model="grade_form_input.kuerzel">
</label>
<label>
Note
<input type="number" min="1" max="5" placeholder="1.0" step="0.1" v-model="grade_form_input.note">
</label>
<label>
Credits
<input type="number" min="2" max="30" placeholder="5" v-model="grade_form_input.credits">
</label>
<button type="submit">Note Eintragen</button>
</form>
<List/>
</div>
</template>
<script setup>
import {ref} from 'vue';
import List from "@/components/List.vue";
const grade_form_input = ref({
kuerzel: "",
note: 1.0,
credits: 5
})
</script>
<style scoped>
</style>

View File

@ -0,0 +1,21 @@
<template>
<div class="list">
<span>Ich bin List.vue</span>
<table>
<thead>
<tr>
<th>Kürzel</th>
<th>Note</th>
<th>Credits</th>
<th></th>
</tr>
</thead>
</table>
</div>
</template>
<script setup>
</script>
<style lang="css">
</style>

View File

@ -0,0 +1,4 @@
import { createApp } from 'vue'
import App from './App.vue'
createApp(App).mount('#app')

View File

@ -0,0 +1,18 @@
import { fileURLToPath, URL } from 'node:url'
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import vueDevTools from 'vite-plugin-vue-devtools'
// https://vite.dev/config/
export default defineConfig({
plugins: [
vue(),
vueDevTools(),
],
resolve: {
alias: {
'@': fileURLToPath(new URL('./src', import.meta.url))
},
},
})