Add data structure

This commit is contained in:
Lars Westermann 2019-04-04 17:38:31 +02:00
parent b5029e4594
commit aa91345523
Signed by: lars.westermann
GPG key ID: 9D417FA5BB9D5E1D
144 changed files with 3658 additions and 97 deletions

1
.gitignore vendored
View file

@ -6,3 +6,4 @@ web/
*.swp
*.swo
*.db

View file

@ -30,7 +30,16 @@ def ktor_version = '1.1.2'
def serialization_version = '0.10.0'
kotlin {
jvm()
jvm() {
compilations.all {
kotlinOptions {
freeCompilerArgs += [
"-Xuse-experimental=io.ktor.locations.KtorExperimentalLocationsAPI",
"-Xuse-experimental=io.ktor.util.KtorExperimentalAPI"
]
}
}
}
js() {
compilations.all {
kotlinOptions {
@ -62,11 +71,17 @@ kotlin {
implementation "io.ktor:ktor-server-netty:$ktor_version"
implementation "io.ktor:ktor-auth:$ktor_version"
implementation "io.ktor:ktor-websockets:$ktor_version"
implementation "io.ktor:ktor-locations:$ktor_version"
//implementation "io.ktor:ktor-websockets:$ktor_version"
implementation "io.ktor:ktor-html-builder:$ktor_version"
api 'io.github.microutils:kotlin-logging:1.5.4'
implementation 'org.xerial:sqlite-jdbc:3.25.2'
implementation 'org.jetbrains.exposed:exposed:0.12.2'
implementation 'org.mindrot:jbcrypt:0.4'
api 'io.github.microutils:kotlin-logging:1.6.23'
api 'ch.qos.logback:logback-classic:1.2.3'
api 'org.fusesource.jansi:jansi:1.8'
}
@ -98,6 +113,8 @@ sass {
main {
srcDir = file("$projectDir/src/jsMain/resources/style")
outDir = file("$buildDir/processedResources/js/main/style")
exclude = "**/*.css"
}
}
@ -112,7 +129,10 @@ task populateWebFolder(dependsOn: [jsMainClasses, sass]) {
from kotlin.sourceSets.jsMain.resources.srcDirs
jsCompilations.test.runtimeDependencyFiles.each {
if (it.exists() && !it.isDirectory()) {
from zipTree(it.absolutePath).matching { include '*.js' }
from zipTree(it.absolutePath).matching {
include '*.js'
exclude '*.meta.js'
}
}
}
into webFolder
@ -142,11 +162,13 @@ clean.doFirst {
task jar(type: ShadowJar, dependsOn: [jvmMainClasses, jsMainClasses, sass]) {
from kotlin.targets.jvm.compilations.main.output
from (kotlin.targets.js.compilations.main.output) {
from(kotlin.targets.js.compilations.main.output) {
into "web"
exclude '*.meta.js'
}
from (kotlin.sourceSets.jsMain.resources.srcDirs) {
from(kotlin.sourceSets.jsMain.resources.srcDirs) {
into "web"
exclude '*.meta.js'
}
configurations = [kotlin.targets.jvm.compilations.main.compileDependencyFiles]

View file

@ -0,0 +1,11 @@
package de.kif.frontend.calendar
import de.westermann.kwebview.View
import de.westermann.kwebview.ViewCollection
import de.westermann.kwebview.createHtmlView
class Calendar : ViewCollection<View>(createHtmlView()) {
init {
}
}

View file

@ -1,9 +1,19 @@
package de.kif.frontend
import de.kif.frontend.calendar.Calendar
import de.westermann.kwebview.components.boxView
import de.westermann.kwebview.components.h1
import de.westermann.kwebview.components.init
fun main() = init {
clear()
h1("Test")
boxView {
style {
width = "600px"
height = "400px"
margin = "10px"
}
+Calendar()
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,399 @@
/** =================== MONTSERRAT =================== **/
/** Montserrat Thin **/
@font-face {
font-family: "Montserrat";
font-weight: 100;
font-style: normal;
src: url("Montserrat-Thin.eot");
src: url("Montserrat-Thin.eot?#iefix") format('embedded-opentype'),
url("Montserrat-Thin.woff2") format("woff2"),
url("Montserrat-Thin.woff") format("woff");
}
/** Montserrat Thin-Italic **/
@font-face {
font-family: "Montserrat";
font-weight: 100;
font-style: italic;
src: url("Montserrat-ThinItalic.eot");
src: url("Montserrat-ThinItalic.eot?#iefix") format('embedded-opentype'),
url("Montserrat-ThinItalic.woff2") format("woff2"),
url("Montserrat-ThinItalic.woff") format("woff");
}
/** Montserrat ExtraLight **/
@font-face {
font-family: "Montserrat";
font-weight: 200;
font-style: normal;
src: url("Montserrat-ExtraLight.eot");
src: url("Montserrat-ExtraLight.eot?#iefix") format('embedded-opentype'),
url("Montserrat-ExtraLight.woff2") format("woff2"),
url("Montserrat-ExtraLight.woff") format("woff");
}
/** Montserrat ExtraLight-Italic **/
@font-face {
font-family: "Montserrat";
font-weight: 200;
font-style: italic;
src: url("Montserrat-ExtraLightItalic.eot");
src: url("Montserrat-ExtraLightItalic.eot?#iefix") format('embedded-opentype'),
url("Montserrat-ExtraLightItalic.woff2") format("woff2"),
url("Montserrat-ExtraLightItalic.woff") format("woff");
}
/** Montserrat Light **/
@font-face {
font-family: "Montserrat";
font-weight: 300;
font-style: normal;
src: url("Montserrat-Light.eot");
src: url("Montserrat-Light.eot?#iefix") format('embedded-opentype'),
url("Montserrat-Light.woff2") format("woff2"),
url("Montserrat-Light.woff") format("woff");
}
/** Montserrat Light-Italic **/
@font-face {
font-family: "Montserrat";
font-weight: 300;
font-style: italic;
src: url("Montserrat-LightItalic.eot");
src: url("Montserrat-LightItalic.eot?#iefix") format('embedded-opentype'),
url("Montserrat-LightItalic.woff2") format("woff2"),
url("Montserrat-LightItalic.woff") format("woff");
}
/** Montserrat Regular **/
@font-face {
font-family: "Montserrat";
font-weight: 400;
font-style: normal;
src: url("Montserrat-Regular.eot");
src: url("Montserrat-Regular.eot?#iefix") format('embedded-opentype'),
url("Montserrat-Regular.woff2") format("woff2"),
url("Montserrat-Regular.woff") format("woff");
}
/** Montserrat Regular-Italic **/
@font-face {
font-family: "Montserrat";
font-weight: 400;
font-style: italic;
src: url("Montserrat-Italic.eot");
src: url("Montserrat-Italic.eot?#iefix") format('embedded-opentype'),
url("Montserrat-Italic.woff2") format("woff2"),
url("Montserrat-Italic.woff") format("woff");
}
/** Montserrat Medium **/
@font-face {
font-family: "Montserrat";
font-weight: 500;
font-style: normal;
src: url("Montserrat-Medium.eot");
src: url("Montserrat-Medium.eot?#iefix") format('embedded-opentype'),
url("Montserrat-Medium.woff2") format("woff2"),
url("Montserrat-Medium.woff") format("woff");
}
/** Montserrat Medium-Italic **/
@font-face {
font-family: "Montserrat";
font-weight: 500;
font-style: italic;
src: url("Montserrat-MediumItalic.eot");
src: url("Montserrat-MediumItalic.eot?#iefix") format('embedded-opentype'),
url("Montserrat-MediumItalic.woff2") format("woff2"),
url("Montserrat-MediumItalic.woff") format("woff");
}
/** Montserrat SemiBold **/
@font-face {
font-family: "Montserrat";
font-weight: 600;
font-style: normal;
src: url("Montserrat-SemiBold.eot");
src: url("Montserrat-SemiBold.eot?#iefix") format('embedded-opentype'),
url("Montserrat-SemiBold.woff2") format("woff2"),
url("Montserrat-SemiBold.woff") format("woff");
}
/** Montserrat SemiBold-Italic **/
@font-face {
font-family: "Montserrat";
font-weight: 600;
font-style: italic;
src: url("Montserrat-SemiBoldItalic.eot");
src: url("Montserrat-SemiBoldItalic.eot?#iefix") format('embedded-opentype'),
url("Montserrat-SemiBoldItalic.woff2") format("woff2"),
url("Montserrat-SemiBoldItalic.woff") format("woff");
}
/** Montserrat Bold **/
@font-face {
font-family: "Montserrat";
font-weight: 700;
font-style: normal;
src: url("Montserrat-Bold.eot");
src: url("Montserrat-Bold.eot?#iefix") format('embedded-opentype'),
url("Montserrat-Bold.woff2") format("woff2"),
url("Montserrat-Bold.woff") format("woff");
}
/** Montserrat Bold-Italic **/
@font-face {
font-family: "Montserrat";
font-weight: 700;
font-style: italic;
src: url("Montserrat-BoldItalic.eot");
src: url("Montserrat-BoldItalic.eot?#iefix") format('embedded-opentype'),
url("Montserrat-BoldItalic.woff2") format("woff2"),
url("Montserrat-BoldItalic.woff") format("woff");
}
/** Montserrat ExtraBold **/
@font-face {
font-family: "Montserrat";
font-weight: 800;
font-style: normal;
src: url("Montserrat-ExtraBold.eot");
src: url("Montserrat-ExtraBold.eot?#iefix") format('embedded-opentype'),
url("Montserrat-ExtraBold.woff2") format("woff2"),
url("Montserrat-ExtraBold.woff") format("woff");
}
/** Montserrat ExtraBold-Italic **/
@font-face {
font-family: "Montserrat";
font-weight: 800;
font-style: italic;
src: url("Montserrat-ExtraBoldItalic.eot");
src: url("Montserrat-ExtraBoldItalic.eot?#iefix") format('embedded-opentype'),
url("Montserrat-ExtraBoldItalic.woff2") format("woff2"),
url("Montserrat-ExtraBoldItalic.woff") format("woff");
}
/** Montserrat Black **/
@font-face {
font-family: "Montserrat";
font-weight: 900;
font-style: normal;
src: url("Montserrat-Black.eot");
src: url("Montserrat-Black.eot?#iefix") format('embedded-opentype'),
url("Montserrat-Black.woff2") format("woff2"),
url("Montserrat-Black.woff") format("woff");
}
/** Montserrat Black-Italic **/
@font-face {
font-family: "Montserrat";
font-weight: 900;
font-style: italic;
src: url("Montserrat-BlackItalic.eot");
src: url("Montserrat-BlackItalic.eot?#iefix") format('embedded-opentype'),
url("Montserrat-BlackItalic.woff2") format("woff2"),
url("Montserrat-BlackItalic.woff") format("woff");
}
/** =================== MONTSERRAT ALTERNATES =================== **/
/** Montserrat Alternates Thin **/
@font-face {
font-family: "Montserrat Alternates";
font-weight: 100;
font-style: normal;
src: url("MontserratAlternates-Thin.eot");
src: url("MontserratAlternates-Thin.eot?#iefix") format('embedded-opentype'),
url("MontserratAlternates-Thin.woff2") format("woff2"),
url("MontserratAlternates-Thin.woff") format("woff");
}
/** Montserrat Alternates Thin-Italic **/
@font-face {
font-family: "Montserrat Alternates";
font-weight: 100;
font-style: italic;
src: url("MontserratAlternates-ThinItalic.eot");
src: url("MontserratAlternates-ThinItalic.eot?#iefix") format('embedded-opentype'),
url("MontserratAlternates-ThinItalic.woff2") format("woff2"),
url("MontserratAlternates-ThinItalic.woff") format("woff");
}
/** Montserrat Alternates ExtraLight **/
@font-face {
font-family: "Montserrat Alternates";
font-weight: 200;
font-style: normal;
src: url("MontserratAlternates-ExtraLight.eot");
src: url("MontserratAlternates-ExtraLight.eot?#iefix") format('embedded-opentype'),
url("MontserratAlternates-ExtraLight.woff2") format("woff2"),
url("MontserratAlternates-ExtraLight.woff") format("woff");
}
/** Montserrat Alternates ExtraLight-Italic **/
@font-face {
font-family: "Montserrat Alternates";
font-weight: 200;
font-style: italic;
src: url("MontserratAlternates-ExtraLightItalic.eot");
src: url("MontserratAlternates-ExtraLightItalic.eot?#iefix") format('embedded-opentype'),
url("MontserratAlternates-ExtraLightItalic.woff2") format("woff2"),
url("MontserratAlternates-ExtraLightItalic.woff") format("woff");
}
/** Montserrat Alternates Light **/
@font-face {
font-family: "Montserrat Alternates";
font-weight: 300;
font-style: normal;
src: url("MontserratAlternates-Light.eot");
src: url("MontserratAlternates-Light.eot?#iefix") format('embedded-opentype'),
url("MontserratAlternates-Light.woff2") format("woff2"),
url("MontserratAlternates-Light.woff") format("woff");
}
/** Montserrat Alternates Light-Italic **/
@font-face {
font-family: "Montserrat Alternates";
font-weight: 300;
font-style: italic;
src: url("MontserratAlternates-LightItalic.eot");
src: url("MontserratAlternates-LightItalic.eot?#iefix") format('embedded-opentype'),
url("MontserratAlternates-LightItalic.woff2") format("woff2"),
url("MontserratAlternates-LightItalic.woff") format("woff");
}
/** Montserrat Alternates Regular **/
@font-face {
font-family: "Montserrat Alternates";
font-weight: 400;
font-style: normal;
src: url("MontserratAlternates-Regular.eot");
src: url("MontserratAlternates-Regular.eot?#iefix") format('embedded-opentype'),
url("MontserratAlternates-Regular.woff2") format("woff2"),
url("MontserratAlternates-Regular.woff") format("woff");
}
/** Montserrat Alternates Regular-Italic **/
@font-face {
font-family: "Montserrat Alternates";
font-weight: 400;
font-style: italic;
src: url("MontserratAlternates-Italic.eot");
src: url("MontserratAlternates-Italic.eot?#iefix") format('embedded-opentype'),
url("MontserratAlternates-Italic.woff2") format("woff2"),
url("MontserratAlternates-Italic.woff") format("woff");
}
/** Montserrat Alternates Medium **/
@font-face {
font-family: "Montserrat Alternates";
font-weight: 500;
font-style: normal;
src: url("MontserratAlternates-Medium.eot");
src: url("MontserratAlternates-Medium.eot?#iefix") format('embedded-opentype'),
url("MontserratAlternates-Medium.woff2") format("woff2"),
url("MontserratAlternates-Medium.woff") format("woff");
}
/** Montserrat Alternates Medium-Italic **/
@font-face {
font-family: "Montserrat Alternates";
font-weight: 500;
font-style: italic;
src: url("MontserratAlternates-MediumItalic.eot");
src: url("MontserratAlternates-MediumItalic.eot?#iefix") format('embedded-opentype'),
url("MontserratAlternates-MediumItalic.woff2") format("woff2"),
url("MontserratAlternates-MediumItalic.woff") format("woff");
}
/** Montserrat Alternates SemiBold **/
@font-face {
font-family: "Montserrat Alternates";
font-weight: 600;
font-style: normal;
src: url("MontserratAlternates-SemiBold.eot");
src: url("MontserratAlternates-SemiBold.eot?#iefix") format('embedded-opentype'),
url("MontserratAlternates-SemiBold.woff2") format("woff2"),
url("MontserratAlternates-SemiBold.woff") format("woff");
}
/** Montserrat Alternates SemiBold-Italic **/
@font-face {
font-family: "Montserrat Alternates";
font-weight: 600;
font-style: italic;
src: url("MontserratAlternates-SemiBoldItalic.eot");
src: url("MontserratAlternates-SemiBoldItalic.eot?#iefix") format('embedded-opentype'),
url("MontserratAlternates-SemiBoldItalic.woff2") format("woff2"),
url("MontserratAlternates-SemiBoldItalic.woff") format("woff");
}
/** Montserrat Alternates Bold **/
@font-face {
font-family: "Montserrat Alternates";
font-weight: 700;
font-style: normal;
src: url("MontserratAlternates-Bold.eot");
src: url("MontserratAlternates-Bold.eot?#iefix") format('embedded-opentype'),
url("MontserratAlternates-Bold.woff2") format("woff2"),
url("MontserratAlternates-Bold.woff") format("woff");
}
/** Montserrat Alternates Bold-Italic **/
@font-face {
font-family: "Montserrat Alternates";
font-weight: 700;
font-style: italic;
src: url("MontserratAlternates-BoldItalic.eot");
src: url("MontserratAlternates-BoldItalic.eot?#iefix") format('embedded-opentype'),
url("MontserratAlternates-BoldItalic.woff2") format("woff2"),
url("MontserratAlternates-BoldItalic.woff") format("woff");
}
/** Montserrat Alternates ExtraBold **/
@font-face {
font-family: "Montserrat Alternates";
font-weight: 800;
font-style: normal;
src: url("MontserratAlternates-ExtraBold.eot");
src: url("MontserratAlternates-ExtraBold.eot?#iefix") format('embedded-opentype'),
url("MontserratAlternates-ExtraBold.woff2") format("woff2"),
url("MontserratAlternates-ExtraBold.woff") format("woff");
}
/** Montserrat Alternates ExtraBold-Italic **/
@font-face {
font-family: "Montserrat Alternates";
font-weight: 800;
font-style: italic;
src: url("MontserratAlternates-ExtraBoldItalic.eot");
src: url("MontserratAlternates-ExtraBoldItalic.eot?#iefix") format('embedded-opentype'),
url("MontserratAlternates-ExtraBoldItalic.woff2") format("woff2"),
url("MontserratAlternates-ExtraBoldItalic.woff") format("woff");
}
/** Montserrat Alternates Black **/
@font-face {
font-family: "Montserrat Alternates";
font-weight: 900;
font-style: normal;
src: url("MontserratAlternates-Black.eot");
src: url("MontserratAlternates-Black.eot?#iefix") format('embedded-opentype'),
url("MontserratAlternates-Black.woff2") format("woff2"),
url("MontserratAlternates-Black.woff") format("woff");
}
/** Montserrat Alternates Black-Italic **/
@font-face {
font-family: "Montserrat";
font-weight: 900;
font-style: italic;
src: url("MontserratAlternates-BlackItalic.eot");
src: url("MontserratAlternates-BlackItalic.eot?#iefix") format('embedded-opentype'),
url("MontserratAlternates-BlackItalic.woff2") format("woff2"),
url("MontserratAlternates-BlackItalic.woff") format("woff");
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show more