Compare commits

...

3 Commits

Author SHA1 Message Date
HardiReady 59483b29d8 fix lint 2018-07-06 23:45:03 +02:00
HardiReady 8f9b955e42 update stats upload buttons 2018-07-06 23:42:50 +02:00
HardiReady 798727bbae replace all add buttons 2018-07-06 23:23:29 +02:00
19 changed files with 4291 additions and 4278 deletions

3523
api/package-lock.json generated

File diff suppressed because it is too large Load Diff

192
package-lock.json generated
View File

@ -10,10 +10,10 @@
"integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
"dev": true, "dev": true,
"requires": { "requires": {
"co": "^4.6.0", "co": "4.6.0",
"fast-deep-equal": "^1.0.0", "fast-deep-equal": "1.1.0",
"fast-json-stable-stringify": "^2.0.0", "fast-json-stable-stringify": "2.0.0",
"json-schema-traverse": "^0.3.0" "json-schema-traverse": "0.3.1"
} }
}, },
"ansi-styles": { "ansi-styles": {
@ -22,7 +22,7 @@
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
"dev": true, "dev": true,
"requires": { "requires": {
"color-convert": "^1.9.0" "color-convert": "1.9.2"
} }
}, },
"asn1": { "asn1": {
@ -62,7 +62,7 @@
"dev": true, "dev": true,
"optional": true, "optional": true,
"requires": { "requires": {
"tweetnacl": "^0.14.3" "tweetnacl": "0.14.5"
} }
}, },
"builtin-modules": { "builtin-modules": {
@ -83,9 +83,9 @@
"integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"ansi-styles": "^3.2.1", "ansi-styles": "3.2.1",
"escape-string-regexp": "^1.0.5", "escape-string-regexp": "1.0.5",
"supports-color": "^5.3.0" "supports-color": "5.4.0"
}, },
"dependencies": { "dependencies": {
"supports-color": { "supports-color": {
@ -94,7 +94,7 @@
"integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
"dev": true, "dev": true,
"requires": { "requires": {
"has-flag": "^3.0.0" "has-flag": "3.0.0"
} }
} }
} }
@ -126,7 +126,7 @@
"integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=",
"dev": true, "dev": true,
"requires": { "requires": {
"delayed-stream": "~1.0.0" "delayed-stream": "1.0.0"
} }
}, },
"commander": { "commander": {
@ -141,15 +141,15 @@
"integrity": "sha512-6XiIYtYzmGEccNZFkih5JOH92jLA4ulZArAYy5j1uDSdrPLB3KzdE8GW7t2fHPcg9ry2+5LP9IEYzXzxw9lFdA==", "integrity": "sha512-6XiIYtYzmGEccNZFkih5JOH92jLA4ulZArAYy5j1uDSdrPLB3KzdE8GW7t2fHPcg9ry2+5LP9IEYzXzxw9lFdA==",
"dev": true, "dev": true,
"requires": { "requires": {
"chalk": "^2.4.1", "chalk": "2.4.1",
"commander": "2.6.0", "commander": "2.6.0",
"date-fns": "^1.23.0", "date-fns": "1.29.0",
"lodash": "^4.5.1", "lodash": "4.17.10",
"read-pkg": "^3.0.0", "read-pkg": "3.0.0",
"rx": "2.3.24", "rx": "2.3.24",
"spawn-command": "^0.0.2-1", "spawn-command": "0.0.2-1",
"supports-color": "^3.2.3", "supports-color": "3.2.3",
"tree-kill": "^1.1.0" "tree-kill": "1.2.0"
} }
}, },
"core-js": { "core-js": {
@ -170,7 +170,7 @@
"integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
"dev": true, "dev": true,
"requires": { "requires": {
"assert-plus": "^1.0.0" "assert-plus": "1.0.0"
} }
}, },
"date-fns": { "date-fns": {
@ -192,7 +192,7 @@
"dev": true, "dev": true,
"optional": true, "optional": true,
"requires": { "requires": {
"jsbn": "~0.1.0" "jsbn": "0.1.1"
} }
}, },
"error-ex": { "error-ex": {
@ -201,7 +201,7 @@
"integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
"dev": true, "dev": true,
"requires": { "requires": {
"is-arrayish": "^0.2.1" "is-arrayish": "0.2.1"
} }
}, },
"escape-string-regexp": { "escape-string-regexp": {
@ -246,9 +246,9 @@
"integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=",
"dev": true, "dev": true,
"requires": { "requires": {
"asynckit": "^0.4.0", "asynckit": "0.4.0",
"combined-stream": "1.0.6", "combined-stream": "1.0.6",
"mime-types": "^2.1.12" "mime-types": "2.1.18"
} }
}, },
"getpass": { "getpass": {
@ -257,7 +257,7 @@
"integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
"dev": true, "dev": true,
"requires": { "requires": {
"assert-plus": "^1.0.0" "assert-plus": "1.0.0"
} }
}, },
"graceful-fs": { "graceful-fs": {
@ -278,8 +278,8 @@
"integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=",
"dev": true, "dev": true,
"requires": { "requires": {
"ajv": "^5.1.0", "ajv": "5.5.2",
"har-schema": "^2.0.0" "har-schema": "2.0.0"
} }
}, },
"has-flag": { "has-flag": {
@ -306,9 +306,9 @@
"integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
"dev": true, "dev": true,
"requires": { "requires": {
"assert-plus": "^1.0.0", "assert-plus": "1.0.0",
"jsprim": "^1.2.2", "jsprim": "1.4.1",
"sshpk": "^1.7.0" "sshpk": "1.14.2"
} }
}, },
"is-arrayish": { "is-arrayish": {
@ -323,7 +323,7 @@
"integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
"dev": true, "dev": true,
"requires": { "requires": {
"builtin-modules": "^1.0.0" "builtin-modules": "1.1.1"
} }
}, },
"is-typedarray": { "is-typedarray": {
@ -356,11 +356,11 @@
"integrity": "sha1-M4WseQGSEwy+Iw6ALsAskhW7/to=", "integrity": "sha1-M4WseQGSEwy+Iw6ALsAskhW7/to=",
"dev": true, "dev": true,
"requires": { "requires": {
"hoek": "4.x.x", "hoek": "4.2.1",
"isemail": "2.x.x", "isemail": "2.2.1",
"items": "2.x.x", "items": "2.1.1",
"moment": "2.x.x", "moment": "2.22.2",
"topo": "2.x.x" "topo": "2.0.2"
} }
}, },
"jsbn": { "jsbn": {
@ -412,10 +412,10 @@
"integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
"dev": true, "dev": true,
"requires": { "requires": {
"graceful-fs": "^4.1.2", "graceful-fs": "4.1.11",
"parse-json": "^4.0.0", "parse-json": "4.0.0",
"pify": "^3.0.0", "pify": "3.0.0",
"strip-bom": "^3.0.0" "strip-bom": "3.0.0"
} }
}, },
"lodash": { "lodash": {
@ -436,7 +436,7 @@
"integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"mime-db": "~1.33.0" "mime-db": "1.33.0"
} }
}, },
"minimist": { "minimist": {
@ -457,10 +457,10 @@
"integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==",
"dev": true, "dev": true,
"requires": { "requires": {
"hosted-git-info": "^2.1.4", "hosted-git-info": "2.6.1",
"is-builtin-module": "^1.0.0", "is-builtin-module": "1.0.0",
"semver": "2 || 3 || 4 || 5", "semver": "5.5.0",
"validate-npm-package-license": "^3.0.1" "validate-npm-package-license": "3.0.3"
} }
}, },
"oauth-sign": { "oauth-sign": {
@ -475,8 +475,8 @@
"integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
"dev": true, "dev": true,
"requires": { "requires": {
"error-ex": "^1.3.1", "error-ex": "1.3.2",
"json-parse-better-errors": "^1.0.1" "json-parse-better-errors": "1.0.2"
} }
}, },
"path-type": { "path-type": {
@ -485,7 +485,7 @@
"integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
"dev": true, "dev": true,
"requires": { "requires": {
"pify": "^3.0.0" "pify": "3.0.0"
} }
}, },
"performance-now": { "performance-now": {
@ -518,9 +518,9 @@
"integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=",
"dev": true, "dev": true,
"requires": { "requires": {
"load-json-file": "^4.0.0", "load-json-file": "4.0.0",
"normalize-package-data": "^2.3.2", "normalize-package-data": "2.4.0",
"path-type": "^3.0.0" "path-type": "3.0.0"
} }
}, },
"request": { "request": {
@ -529,26 +529,26 @@
"integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==", "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==",
"dev": true, "dev": true,
"requires": { "requires": {
"aws-sign2": "~0.7.0", "aws-sign2": "0.7.0",
"aws4": "^1.6.0", "aws4": "1.7.0",
"caseless": "~0.12.0", "caseless": "0.12.0",
"combined-stream": "~1.0.5", "combined-stream": "1.0.6",
"extend": "~3.0.1", "extend": "3.0.1",
"forever-agent": "~0.6.1", "forever-agent": "0.6.1",
"form-data": "~2.3.1", "form-data": "2.3.2",
"har-validator": "~5.0.3", "har-validator": "5.0.3",
"http-signature": "~1.2.0", "http-signature": "1.2.0",
"is-typedarray": "~1.0.0", "is-typedarray": "1.0.0",
"isstream": "~0.1.2", "isstream": "0.1.2",
"json-stringify-safe": "~5.0.1", "json-stringify-safe": "5.0.1",
"mime-types": "~2.1.17", "mime-types": "2.1.18",
"oauth-sign": "~0.8.2", "oauth-sign": "0.8.2",
"performance-now": "^2.1.0", "performance-now": "2.1.0",
"qs": "~6.5.1", "qs": "6.5.2",
"safe-buffer": "^5.1.1", "safe-buffer": "5.1.2",
"tough-cookie": "~2.3.3", "tough-cookie": "2.3.4",
"tunnel-agent": "^0.6.0", "tunnel-agent": "0.6.0",
"uuid": "^3.1.0" "uuid": "3.3.2"
} }
}, },
"rx": { "rx": {
@ -587,8 +587,8 @@
"integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==",
"dev": true, "dev": true,
"requires": { "requires": {
"spdx-expression-parse": "^3.0.0", "spdx-expression-parse": "3.0.0",
"spdx-license-ids": "^3.0.0" "spdx-license-ids": "3.0.0"
} }
}, },
"spdx-exceptions": { "spdx-exceptions": {
@ -603,8 +603,8 @@
"integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
"dev": true, "dev": true,
"requires": { "requires": {
"spdx-exceptions": "^2.1.0", "spdx-exceptions": "2.1.0",
"spdx-license-ids": "^3.0.0" "spdx-license-ids": "3.0.0"
} }
}, },
"spdx-license-ids": { "spdx-license-ids": {
@ -619,15 +619,15 @@
"integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=", "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=",
"dev": true, "dev": true,
"requires": { "requires": {
"asn1": "~0.2.3", "asn1": "0.2.3",
"assert-plus": "^1.0.0", "assert-plus": "1.0.0",
"bcrypt-pbkdf": "^1.0.0", "bcrypt-pbkdf": "1.0.2",
"dashdash": "^1.12.0", "dashdash": "1.14.1",
"ecc-jsbn": "~0.1.1", "ecc-jsbn": "0.1.1",
"getpass": "^0.1.1", "getpass": "0.1.7",
"jsbn": "~0.1.0", "jsbn": "0.1.1",
"safer-buffer": "^2.0.2", "safer-buffer": "2.1.2",
"tweetnacl": "~0.14.0" "tweetnacl": "0.14.5"
} }
}, },
"strip-bom": { "strip-bom": {
@ -642,7 +642,7 @@
"integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
"dev": true, "dev": true,
"requires": { "requires": {
"has-flag": "^1.0.0" "has-flag": "1.0.0"
}, },
"dependencies": { "dependencies": {
"has-flag": { "has-flag": {
@ -659,7 +659,7 @@
"integrity": "sha1-zVYVdSU5BXwNwEkaYhw7xvvh0YI=", "integrity": "sha1-zVYVdSU5BXwNwEkaYhw7xvvh0YI=",
"dev": true, "dev": true,
"requires": { "requires": {
"hoek": "4.x.x" "hoek": "4.2.1"
} }
}, },
"tough-cookie": { "tough-cookie": {
@ -668,7 +668,7 @@
"integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==",
"dev": true, "dev": true,
"requires": { "requires": {
"punycode": "^1.4.1" "punycode": "1.4.1"
} }
}, },
"tree-kill": { "tree-kill": {
@ -683,7 +683,7 @@
"integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
"dev": true, "dev": true,
"requires": { "requires": {
"safe-buffer": "^5.0.1" "safe-buffer": "5.1.2"
} }
}, },
"tweetnacl": { "tweetnacl": {
@ -705,8 +705,8 @@
"integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==",
"dev": true, "dev": true,
"requires": { "requires": {
"spdx-correct": "^3.0.0", "spdx-correct": "3.0.0",
"spdx-expression-parse": "^3.0.0" "spdx-expression-parse": "3.0.0"
} }
}, },
"verror": { "verror": {
@ -715,9 +715,9 @@
"integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
"dev": true, "dev": true,
"requires": { "requires": {
"assert-plus": "^1.0.0", "assert-plus": "1.0.0",
"core-util-is": "1.0.2", "core-util-is": "1.0.2",
"extsprintf": "^1.2.0" "extsprintf": "1.3.0"
} }
}, },
"wait-on": { "wait-on": {
@ -726,11 +726,11 @@
"integrity": "sha512-hDwJ674+7dfiiK/cxtYCwPxlnjXDjto/pCz1PF02sXUhqCqCWsgvxZln0699PReWqXXgkxqkF6DDo5Rj9sjNvw==", "integrity": "sha512-hDwJ674+7dfiiK/cxtYCwPxlnjXDjto/pCz1PF02sXUhqCqCWsgvxZln0699PReWqXXgkxqkF6DDo5Rj9sjNvw==",
"dev": true, "dev": true,
"requires": { "requires": {
"core-js": "^2.4.1", "core-js": "2.5.7",
"joi": "^9.2.0", "joi": "9.2.0",
"minimist": "^1.2.0", "minimist": "1.2.0",
"request": "^2.78.0", "request": "2.87.0",
"rx": "^4.1.0" "rx": "4.1.0"
}, },
"dependencies": { "dependencies": {
"rx": { "rx": {

4765
static/package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -20,9 +20,9 @@
<li routerLinkActive="active"> <li routerLinkActive="active">
<a [routerLink]="[config.publicPath,{outlets:{right:'ranks'}}]" class="link">Ränge</a> <a [routerLink]="[config.publicPath,{outlets:{right:'ranks'}}]" class="link">Ränge</a>
</li> </li>
<li routerLinkActive="active"> <!--<li routerLinkActive="active">-->
<a [routerLink]="[config.publicPath,{outlets:{right:'decorations'}}]" class="link">Auszeichnungen</a> <!--<a [routerLink]="[config.publicPath,{outlets:{right:'decorations'}}]" class="link">Auszeichnungen</a>-->
</li> <!--</li>-->
<li routerLinkActive="active"> <li routerLinkActive="active">
<a routerLink='{{config.statsPath}}' class="link">Statistiken</a> <a routerLink='{{config.statsPath}}' class="link">Statistiken</a>
</li> </li>

View File

@ -5,8 +5,8 @@ import {PromotionService} from './services/army-management/promotion.service';
import {AwardingService} from './services/army-management/awarding.service'; import {AwardingService} from './services/army-management/awarding.service';
import {RouteConfig} from './app.config'; import {RouteConfig} from './app.config';
import {DOCUMENT} from '@angular/common'; import {DOCUMENT} from '@angular/common';
import {DomSanitizer} from "@angular/platform-browser"; import {DomSanitizer} from '@angular/platform-browser';
import {MatIconRegistry} from "@angular/material"; import {MatIconRegistry} from '@angular/material';
declare function require(url: string); declare function require(url: string);

View File

@ -24,7 +24,7 @@ import {UserStore} from './services/stores/user.store';
import {CookieService} from 'ngx-cookie-service'; import {CookieService} from 'ngx-cookie-service';
import {SnackBarService} from './services/user-interface/snack-bar/snack-bar.service'; import {SnackBarService} from './services/user-interface/snack-bar/snack-bar.service';
import {MaterialComponentsModule} from './material-components.module'; import {MaterialComponentsModule} from './material-components.module';
import {HttpClientModule} from "@angular/common/http"; import {HttpClientModule} from '@angular/common/http';
@NgModule({ @NgModule({
imports: [SharedModule, BrowserModule, BrowserAnimationsModule, appRouting, HttpModule, HttpClientModule, imports: [SharedModule, BrowserModule, BrowserAnimationsModule, appRouting, HttpModule, HttpClientModule,

View File

@ -11,7 +11,10 @@
Global Global
</mat-button-toggle> </mat-button-toggle>
</mat-button-toggle-group> </mat-button-toggle-group>
<a class="pull-right btn btn-success" (click)="openNewDecorationForm()">+</a> <button mat-icon-button class="add-btn">
<mat-icon svgIcon="add" title="Neue Auszeichnung hinzufügen"
(click)="openNewDecorationForm()"></mat-icon>
</button>
</div> </div>
<div class="input-group list-header"> <div class="input-group list-header">

View File

@ -5,10 +5,13 @@ import {DecorationStore} from '../services/stores/decoration.store';
import {DecorationService} from '../services/army-management/decoration.service'; import {DecorationService} from '../services/army-management/decoration.service';
import {NgModule} from '@angular/core'; import {NgModule} from '@angular/core';
import {MatButtonToggleModule} from '@angular/material'; import {MatButtonToggleModule} from '@angular/material';
import {MatIconModule} from '@angular/material/icon';
import {MatButtonModule} from '@angular/material/button';
@NgModule({ @NgModule({
declarations: decorationsRoutingComponents, declarations: decorationsRoutingComponents,
imports: [CommonModule, SharedModule, MatButtonToggleModule, decorationRoutesModule], imports: [CommonModule, SharedModule, MatButtonToggleModule, MatButtonModule, MatIconModule,
decorationRoutesModule],
providers: [DecorationStore, DecorationService] providers: [DecorationStore, DecorationService]
}) })
export class DecorationsModule { export class DecorationsModule {

View File

@ -8,7 +8,10 @@
{{fraction.OPFOR}} {{fraction.OPFOR}}
</mat-button-toggle> </mat-button-toggle>
</mat-button-toggle-group> </mat-button-toggle-group>
<a class="pull-right btn btn-success" (click)="openNewRankForm()">+</a> <button mat-icon-button class="add-btn">
<mat-icon svgIcon="add" title="Neuen Rang hinzufügen"
(click)="openNewRankForm()"></mat-icon>
</button>
</div> </div>
<div class="input-group list-header"> <div class="input-group list-header">

View File

@ -5,10 +5,13 @@ import {CommonModule} from '@angular/common';
import {RankService} from '../services/army-management/rank.service'; import {RankService} from '../services/army-management/rank.service';
import {RankStore} from '../services/stores/rank.store'; import {RankStore} from '../services/stores/rank.store';
import {MatButtonToggleModule} from '@angular/material'; import {MatButtonToggleModule} from '@angular/material';
import {MatIconModule} from '@angular/material/icon';
import {MatButtonModule} from '@angular/material/button';
@NgModule({ @NgModule({
declarations: ranksRoutingComponents, declarations: ranksRoutingComponents,
imports: [CommonModule, SharedModule, MatButtonToggleModule, rankRouterModule], imports: [CommonModule, SharedModule, MatButtonToggleModule, MatButtonModule, MatIconModule,
rankRouterModule],
providers: [RankStore, RankService] providers: [RankStore, RankService]
}) })
export class RanksModule { export class RanksModule {

View File

@ -8,7 +8,10 @@
{{fraction.OPFOR}} {{fraction.OPFOR}}
</mat-button-toggle> </mat-button-toggle>
</mat-button-toggle-group> </mat-button-toggle-group>
<a class="pull-right btn btn-success" (click)="openNewSquadForm()">+</a> <button mat-icon-button class="add-btn">
<mat-icon svgIcon="add" title="Neues Squad hinzufügen"
(click)="openNewSquadForm()"></mat-icon>
</button>
</div> </div>
<div class="input-group search-bar"> <div class="input-group search-bar">

View File

@ -5,10 +5,13 @@ import {squadRouterModule, squadsRoutingComponents} from './squads.routing';
import {SquadStore} from '../services/stores/squad.store'; import {SquadStore} from '../services/stores/squad.store';
import {SquadService} from '../services/army-management/squad.service'; import {SquadService} from '../services/army-management/squad.service';
import {MatButtonToggleModule} from '@angular/material'; import {MatButtonToggleModule} from '@angular/material';
import {MatIconModule} from '@angular/material/icon';
import {MatButtonModule} from '@angular/material/button';
@NgModule({ @NgModule({
declarations: squadsRoutingComponents, declarations: squadsRoutingComponents,
imports: [CommonModule, SharedModule, MatButtonToggleModule, squadRouterModule], imports: [CommonModule, SharedModule, MatButtonToggleModule, MatButtonModule, MatIconModule,
squadRouterModule],
providers: [SquadStore, SquadService] providers: [SquadStore, SquadService]
}) })
export class SquadsModule { export class SquadsModule {

View File

@ -8,12 +8,12 @@ import {CampaignService} from '../services/logs/campaign.service';
import {NgxDatatableModule} from '@swimlane/ngx-datatable'; import {NgxDatatableModule} from '@swimlane/ngx-datatable';
import {PlayerService} from '../services/logs/player.service'; import {PlayerService} from '../services/logs/player.service';
import {LogsService} from '../services/logs/logs.service'; import {LogsService} from '../services/logs/logs.service';
import {MatButtonToggleModule, MatExpansionModule} from '@angular/material'; import {MatButtonModule, MatButtonToggleModule, MatExpansionModule} from '@angular/material';
@NgModule({ @NgModule({
declarations: statsRoutingComponents, declarations: statsRoutingComponents,
imports: [CommonModule, SharedModule, statsRouterModule, NgxChartsModule, NgxDatatableModule, MatExpansionModule, imports: [CommonModule, SharedModule, statsRouterModule, NgxChartsModule, NgxDatatableModule,
MatButtonToggleModule], MatButtonModule, MatExpansionModule, MatButtonToggleModule],
providers: [WarService, CampaignService, PlayerService, LogsService] providers: [WarService, CampaignService, PlayerService, LogsService]
}) })
export class StatsModule { export class StatsModule {

View File

@ -65,3 +65,11 @@ mat-expansion-panel-header.mat-expansion-panel-header:focus {
.select-list > mat-accordion:first-child .mat-expansion-panel-header { .select-list > mat-accordion:first-child .mat-expansion-panel-header {
border-radius: 4px 4px 0 0; border-radius: 4px 4px 0 0;
} }
.stats-add-btn {
background: white;
font-weight: 700;
color: #3e3e3e;
margin: 5px;
width: 95%;
}

View File

@ -1,11 +1,11 @@
<div class="select-list"> <div class="select-list">
<div class="input-group list-header" *ngIf="loginService.hasPermission(3)"> <div class="input-group list-header" *ngIf="loginService.hasPermission(3)">
<a class="pull-left btn btn-success" (click)="selectNewWar()"> <button mat-stroked-button class="stats-add-btn" (click)="selectNewWar()">
Schlacht hinzufügen Schlacht hinzufügen
</a> </button>
<a class="pull-right btn btn-success" (click)="selectNewCampaign()"> <button mat-stroked-button class="stats-add-btn" (click)="selectNewCampaign()">
Kampagne hinzufügen Kampagne hinzufügen
</a> </button>
</div> </div>
<mat-accordion *ngFor="let campaign of campaigns; let isFirstRow=first"> <mat-accordion *ngFor="let campaign of campaigns; let isFirstRow=first">
@ -15,8 +15,8 @@
{{campaign.title}} {{campaign.title}}
</mat-panel-title> </mat-panel-title>
<mat-panel-description class="war-interaction-panel" *ngIf="loginService.hasPermission(3)"> <mat-panel-description class="war-interaction-panel" *ngIf="loginService.hasPermission(3)">
<span (click)="deleteCampaign(campaign); $event.stopPropagation()" title="Löschen" <span (click)="deleteCampaign(campaign); $event.stopPropagation()" title="Löschen"
class="glyphicon glyphicon-trash trash"> class="glyphicon glyphicon-trash trash">
</span> </span>
<span (click)="editCampaign(campaign); $event.stopPropagation()" title="Bearbeiten" <span (click)="editCampaign(campaign); $event.stopPropagation()" title="Bearbeiten"
class="glyphicon glyphicon-edit trash" class="glyphicon glyphicon-edit trash"

View File

@ -1,5 +1,5 @@
<form #form="ngForm" class="overview"> <form #form="ngForm" class="overview">
<h3>Schlacht hinzufügen</h3> <h3>Neue Schlacht hinzufügen</h3>
<div class="form-group"> <div class="form-group">
<label for="title">Titel</label> <label for="title">Titel</label>

View File

@ -2,7 +2,7 @@
overflow: hidden !important; overflow: hidden !important;
padding-top: 80px !important; padding-top: 80px !important;
width: 20%; width: 20%;
min-width: 280px; min-width: 380px;
} }
h3 { h3 {

View File

@ -7,7 +7,13 @@
padding-bottom: 20px; padding-bottom: 20px;
} }
:host/deep/.mat-icon { .add-btn {
height: 42px; margin-right: 16px;
width: 42px; margin-top: -3px;
float: right;
}
:host/deep/.mat-icon {
height: 32px;
width: 32px;
} }

View File

@ -11,8 +11,9 @@
Ohne Squad Ohne Squad
</mat-button-toggle> </mat-button-toggle>
</mat-button-toggle-group> </mat-button-toggle-group>
<button mat-icon-button class="pull-right" style="margin-right: 16px;"> <button mat-icon-button class="add-btn">
<mat-icon svgIcon="add-user" (click)="openNewUserForm()"></mat-icon> <mat-icon svgIcon="add-user" title="Neuen Teilnehmer hinzufügen"
(click)="openNewUserForm()"></mat-icon>
</button> </button>
</div> </div>