Repair Categories, DataSend and Motion Detail
update to angular 7
This commit is contained in:
parent
a7b01fc09c
commit
2a06075315
287
client/package-lock.json
generated
287
client/package-lock.json
generated
@ -115,19 +115,19 @@
|
||||
}
|
||||
},
|
||||
"@angular-devkit/schematics": {
|
||||
"version": "7.0.0-rc.3",
|
||||
"resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-7.0.0-rc.3.tgz",
|
||||
"integrity": "sha512-Dm+USTvcvgMWl1lfslK9diPtFje1rDBX0bIVPDHaBampxDSHyaQsfAEZxQWInoVB9c9NzjmCEcZoCogwMDoeUg==",
|
||||
"version": "7.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-7.0.2.tgz",
|
||||
"integrity": "sha512-b+ex7La9ZFxdh1JyuTvjhPKHsyCcXpGG2MQ43QQm0xbR1IigzVv5N2eyvm02rvQK+rY36+rG+FvO+korUeoLhw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@angular-devkit/core": "7.0.0-rc.3",
|
||||
"@angular-devkit/core": "7.0.2",
|
||||
"rxjs": "6.3.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"@angular-devkit/core": {
|
||||
"version": "7.0.0-rc.3",
|
||||
"resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.0-rc.3.tgz",
|
||||
"integrity": "sha512-xPhx4jCY1B4TLWWAEiUvpEJruIPlSxf8+cz9dFk/AkoDfJPOA21iEJ1Km6FPxkuKchm+W4n25ASDO45rOXhLaA==",
|
||||
"version": "7.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.2.tgz",
|
||||
"integrity": "sha512-liVqobArUfTvf0cZcjr3VI5tnHR+QjzfvC4HFBwIArls6/RxIATqd9GE9mFMWpy17xgVq8N7WmD6bymv1trbfA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ajv": "6.5.3",
|
||||
@ -200,17 +200,17 @@
|
||||
}
|
||||
},
|
||||
"@angular/animations": {
|
||||
"version": "7.0.0-rc.1",
|
||||
"resolved": "https://registry.npmjs.org/@angular/animations/-/animations-7.0.0-rc.1.tgz",
|
||||
"integrity": "sha512-VP3Lui1HyW7kQzdC/kfEw0NiH+VxA81EKMN1iLtDdNoOCpzTcnmjiiPUMtrGOhhhJJXH9y/eQMUOwUcSdKLPZg==",
|
||||
"version": "7.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/animations/-/animations-7.0.0.tgz",
|
||||
"integrity": "sha512-IYdryQXdYfPvhJpExLSAr0o9rlUeyVS++a6h/sjqN1dkUt/yJBHLRreuHx8Udvlj2nH70raHJgevk8FwhAkTdA==",
|
||||
"requires": {
|
||||
"tslib": "^1.9.0"
|
||||
}
|
||||
},
|
||||
"@angular/cdk": {
|
||||
"version": "7.0.0-rc.1",
|
||||
"resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-7.0.0-rc.1.tgz",
|
||||
"integrity": "sha512-JI8j+vxRrBpqIkvUW9TvR9MdlxAodVV0FIreS7boZJaGQa6XuBYfmM9JRhKEZgTg/si8aArxQ4eYh5tdGsUjkA==",
|
||||
"version": "7.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-7.0.0.tgz",
|
||||
"integrity": "sha512-HX+gIJzST/Nu07ASg1XR583KSEmHI6kUbiSBdq0LqF3mIQgId5z3auBqQcXAgvB0Cg29+/38aj31hnoK/LswEQ==",
|
||||
"requires": {
|
||||
"parse5": "^5.0.0",
|
||||
"tslib": "^1.7.1"
|
||||
@ -225,16 +225,16 @@
|
||||
}
|
||||
},
|
||||
"@angular/cli": {
|
||||
"version": "7.0.0-rc.3",
|
||||
"resolved": "https://registry.npmjs.org/@angular/cli/-/cli-7.0.0-rc.3.tgz",
|
||||
"integrity": "sha512-S1RNniDxpQIGzjyjIibI1OYPN6mEBC93DoKdTLlLLEBqhMfh5dT80Yx4KzZR14CPIiPEqc0vnRWtPt5eHkkrLA==",
|
||||
"version": "7.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@angular/cli/-/cli-7.0.2.tgz",
|
||||
"integrity": "sha512-z53fPkdwm+l4yii8+EwJqeYHgDtyTPywe9ZnpeUu4IvIoM5Mffeu+Rlen3sdwb4+7iL3qpLKtwdMosLJwin85w==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@angular-devkit/architect": "0.9.0-rc.3",
|
||||
"@angular-devkit/core": "7.0.0-rc.3",
|
||||
"@angular-devkit/schematics": "7.0.0-rc.3",
|
||||
"@schematics/angular": "7.0.0-rc.3",
|
||||
"@schematics/update": "0.9.0-rc.3",
|
||||
"@angular-devkit/architect": "0.10.2",
|
||||
"@angular-devkit/core": "7.0.2",
|
||||
"@angular-devkit/schematics": "7.0.2",
|
||||
"@schematics/angular": "7.0.2",
|
||||
"@schematics/update": "0.10.2",
|
||||
"inquirer": "6.2.0",
|
||||
"opn": "5.3.0",
|
||||
"rxjs": "6.3.3",
|
||||
@ -243,19 +243,19 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@angular-devkit/architect": {
|
||||
"version": "0.9.0-rc.3",
|
||||
"resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.9.0-rc.3.tgz",
|
||||
"integrity": "sha512-9G21dLXbpaAx5pBUgmW3DI6ZjoyEl662EXwLvggxn8DG2Q3v9RBbGnakkKSXlvmlxtT5xiRmS8puFZHffDjaNg==",
|
||||
"version": "0.10.2",
|
||||
"resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.10.2.tgz",
|
||||
"integrity": "sha512-jMok3FvXpj1zfI7tPmrMYe9yyBP2qivaBGxJqKa0H5SdwJFdudD+KwQOwamBdqz68WfEfzwvS2YCqE67thak7g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@angular-devkit/core": "7.0.0-rc.3",
|
||||
"@angular-devkit/core": "7.0.2",
|
||||
"rxjs": "6.3.3"
|
||||
}
|
||||
},
|
||||
"@angular-devkit/core": {
|
||||
"version": "7.0.0-rc.3",
|
||||
"resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.0-rc.3.tgz",
|
||||
"integrity": "sha512-xPhx4jCY1B4TLWWAEiUvpEJruIPlSxf8+cz9dFk/AkoDfJPOA21iEJ1Km6FPxkuKchm+W4n25ASDO45rOXhLaA==",
|
||||
"version": "7.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.2.tgz",
|
||||
"integrity": "sha512-liVqobArUfTvf0cZcjr3VI5tnHR+QjzfvC4HFBwIArls6/RxIATqd9GE9mFMWpy17xgVq8N7WmD6bymv1trbfA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ajv": "6.5.3",
|
||||
@ -334,25 +334,25 @@
|
||||
}
|
||||
},
|
||||
"@angular/common": {
|
||||
"version": "7.0.0-rc.1",
|
||||
"resolved": "https://registry.npmjs.org/@angular/common/-/common-7.0.0-rc.1.tgz",
|
||||
"integrity": "sha512-OXN0lIXDz1SWnuFH+vAM1o/8VoezPxyxk0s2t4TSr4AvwSMRAYL13+IeQcYcxyymuQry7XzFqXyjTVD2kNsoBA==",
|
||||
"version": "7.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/common/-/common-7.0.0.tgz",
|
||||
"integrity": "sha512-jp6MA6EOq/a1m+F0c1aZC345pAYYYFpN1m7GMM91JlqkjzJMhyYVk+Bod9xQOEWadcpY+RFudG+jRsPCMO8bvQ==",
|
||||
"requires": {
|
||||
"tslib": "^1.9.0"
|
||||
}
|
||||
},
|
||||
"@angular/compiler": {
|
||||
"version": "7.0.0-rc.1",
|
||||
"resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-7.0.0-rc.1.tgz",
|
||||
"integrity": "sha512-oCqavxWdx9eDtzW45MTkrTrLSC57MH8/PfY0luwu1R5AaJ9wldifrUCS9ThtpUncSOgZCK9BpJMcywMWhIqvPQ==",
|
||||
"version": "7.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-7.0.0.tgz",
|
||||
"integrity": "sha512-4fkohfGyG1BEpeYenOartuJmduyZ/R3XQx46hDDiR/9A8/Go4qLGkgr9Bd/JL/gPIR1XAHH9D5ii2sh+28ZEmA==",
|
||||
"requires": {
|
||||
"tslib": "^1.9.0"
|
||||
}
|
||||
},
|
||||
"@angular/compiler-cli": {
|
||||
"version": "7.0.0-rc.1",
|
||||
"resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-7.0.0-rc.1.tgz",
|
||||
"integrity": "sha512-eue8bnD1uBYD7UZp1In8THnInoAwidKk5Ibv9aOloxYcx64FH6ca1ABKPdIZd3hNm0zJsR+ItDi2jyN0xK6+5A==",
|
||||
"version": "7.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-7.0.0.tgz",
|
||||
"integrity": "sha512-fj5ixB4X3BsUnUukFx+dK5z2KkO7lCx5vlbUT2GOMbGCG43dIH6JKUfy5HbpCodLsJHG0gRgZZuY7/k+pbzS+g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"canonical-path": "0.0.2",
|
||||
@ -677,72 +677,63 @@
|
||||
}
|
||||
},
|
||||
"@angular/core": {
|
||||
"version": "7.0.0-rc.1",
|
||||
"resolved": "https://registry.npmjs.org/@angular/core/-/core-7.0.0-rc.1.tgz",
|
||||
"integrity": "sha512-pY7Aul+GOHHoVxbVTv26rFGwl34PKLI31lyC9mH0Eg2Wqq8XIa6XrNePQo4rbU0oO1ZplULSohMk8vVPfpWGpw==",
|
||||
"version": "7.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/core/-/core-7.0.0.tgz",
|
||||
"integrity": "sha512-DjVyWNGBWKEeBvxeXy8FGBNlnr/W/tNygOZEd6/uCktcXTG4DNyNQrWuNZUKEpr7RuIT3YVMj+UNwgTq0jB/9g==",
|
||||
"requires": {
|
||||
"tslib": "^1.9.0"
|
||||
}
|
||||
},
|
||||
"@angular/forms": {
|
||||
"version": "7.0.0-rc.1",
|
||||
"resolved": "https://registry.npmjs.org/@angular/forms/-/forms-7.0.0-rc.1.tgz",
|
||||
"integrity": "sha512-wEmRMG8vLAcJzvXiFWp9r1fhBH846AwvY6+75fpSz7n9vAgDJSlh/v/k+d+kG5hoIatzmnKWKVF+Zn8mlpd4Ig==",
|
||||
"version": "7.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/forms/-/forms-7.0.0.tgz",
|
||||
"integrity": "sha512-rTg1UHq9gHR6zY3Kkip1KCm/YTck/rlR8CvVFIMwF0bdQxUCT51SXVn58nXts9yDaieABcGaQHNkQn1mARslgw==",
|
||||
"requires": {
|
||||
"tslib": "^1.9.0"
|
||||
}
|
||||
},
|
||||
"@angular/http": {
|
||||
"version": "7.0.0-rc.1",
|
||||
"resolved": "https://registry.npmjs.org/@angular/http/-/http-7.0.0-rc.1.tgz",
|
||||
"integrity": "sha512-B/nQbrs8QcyiqgtHt6nCVy3Rkz/5N7MZCDUpt7skSmqNsXLMe+VnkYUMtayYQdzrk9wu89rzvkQI9WmXxcnQzA==",
|
||||
"version": "7.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/http/-/http-7.0.0.tgz",
|
||||
"integrity": "sha512-gHMVKosbhXu+2sXccR1fnKpaJBtZioneW+jpG6CW3oo6f4L5FXnGGx/lqYLsgKFM8yHiOs6OXqvuHh8wYEjayA==",
|
||||
"requires": {
|
||||
"tslib": "^1.9.0"
|
||||
}
|
||||
},
|
||||
"@angular/language-service": {
|
||||
"version": "7.0.0-rc.1",
|
||||
"resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-7.0.0-rc.1.tgz",
|
||||
"integrity": "sha512-UU3OoNG4lixRKYPQ6bOlxBaKP521hjqvZjGSIMBJjhDOS4V0FwZ6wQfy73hHl522w+x/VX6lyRE3ugvtB555Hg==",
|
||||
"version": "7.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-7.0.0.tgz",
|
||||
"integrity": "sha512-JlBAXvKrXCCdFc9AnQRaMDl9c0qmASagmmbEX+fuxJbcyqtsUF2y/15Hy5UUmmA+ldZ+mwAoX/naPZZrFSP2rw==",
|
||||
"dev": true
|
||||
},
|
||||
"@angular/material": {
|
||||
"version": "7.0.0-rc.1",
|
||||
"resolved": "https://registry.npmjs.org/@angular/material/-/material-7.0.0-rc.1.tgz",
|
||||
"integrity": "sha512-4LC3y5ZorNjdF1lEkVN/3zwOEnBwjfWLCY92tA06Kdvs1yENZdu0fGTRwcu9Hz4y+t84sL/KEKC9VjKN3Z7PSg==",
|
||||
"version": "7.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/material/-/material-7.0.0.tgz",
|
||||
"integrity": "sha512-HgHzHWsUvNiSpRmoOJqnH/TVb4Ki7sXxbWuw5OVKOKiBW6Gwvd29+cP4XauzH47wHMyvS9/HH8kj3gC72pLhJQ==",
|
||||
"requires": {
|
||||
"parse5": "^5.0.0",
|
||||
"tslib": "^1.7.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"parse5": {
|
||||
"version": "5.1.0",
|
||||
"resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz",
|
||||
"integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==",
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"@angular/platform-browser": {
|
||||
"version": "7.0.0-rc.1",
|
||||
"resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-7.0.0-rc.1.tgz",
|
||||
"integrity": "sha512-P9W+Q9UZoZT+8pg5Id6shc7VXWdJ6YZQAdnxXpp9H2Be5DB6DD5aqsgxSgKNRW1EmQScJHq0EY28vUPGC5idhA==",
|
||||
"version": "7.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-7.0.0.tgz",
|
||||
"integrity": "sha512-XyvL30d6meJ+SXlOmdR+sxoLdSvkQdmVNvpdvUzAHC/EqwA/byg4V3bTe5lpZmypclgFCjkGoTsz6uOnnwlQhw==",
|
||||
"requires": {
|
||||
"tslib": "^1.9.0"
|
||||
}
|
||||
},
|
||||
"@angular/platform-browser-dynamic": {
|
||||
"version": "7.0.0-rc.1",
|
||||
"resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-7.0.0-rc.1.tgz",
|
||||
"integrity": "sha512-LDULj9gdNxlzYjkHcxofSFwhchUT405Hh+8pCMcHxZEa1dtEzXGB8VYEMPc4EipZt3hleMzv6sjP9gL+4zXpeA==",
|
||||
"version": "7.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-7.0.0.tgz",
|
||||
"integrity": "sha512-lH2KuH+Em1y/mTOE6yTJmsOxYkMbYKzKLP9gYzc9vZu3er1df6Jx6jxefeBmAr9v+kNCLnpnHWHz2y4GzAesJA==",
|
||||
"requires": {
|
||||
"tslib": "^1.9.0"
|
||||
}
|
||||
},
|
||||
"@angular/router": {
|
||||
"version": "7.0.0-rc.1",
|
||||
"resolved": "https://registry.npmjs.org/@angular/router/-/router-7.0.0-rc.1.tgz",
|
||||
"integrity": "sha512-y3hbUhyRIOkHym86CqVkKhCldaXreA13BH1D/dprEfIxgAHBKA/oNZrbGGc20n2+aI+AhSUJjAqnruKwr0dgWw==",
|
||||
"version": "7.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@angular/router/-/router-7.0.0.tgz",
|
||||
"integrity": "sha512-BK6Ho/7ckldFKc724piuPuMX0HPYXD8SUfwNj6yc0wgzDxdWzSmZj/xPEYll2pGNIA9x8Tg1NQKCD+kp1WXngw==",
|
||||
"requires": {
|
||||
"tslib": "^1.9.0"
|
||||
}
|
||||
@ -974,7 +965,7 @@
|
||||
},
|
||||
"load-json-file": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
|
||||
"resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
|
||||
"integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@ -1233,7 +1224,7 @@
|
||||
},
|
||||
"minimist": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
|
||||
"resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
|
||||
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
|
||||
"dev": true
|
||||
},
|
||||
@ -1362,9 +1353,9 @@
|
||||
}
|
||||
},
|
||||
"@ngx-pwa/local-storage": {
|
||||
"version": "6.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@ngx-pwa/local-storage/-/local-storage-6.1.1.tgz",
|
||||
"integrity": "sha512-6SoKzNWZjWSEMZZS1jygRuDe7UoNYc6rOC5efnGuyqsQwm5LCuMCUqOEJ1xZl65ZFXOh6PREobMY6zSdTZa04g==",
|
||||
"version": "6.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@ngx-pwa/local-storage/-/local-storage-6.2.0.tgz",
|
||||
"integrity": "sha512-6S0Q/JgL0MqyyVh3rcVglet8rcwrJKF3v4iNZLyMQamJbtDlianHZdlQY5+84rwPt6ScIKz3hU8Jc+wDX2oZGQ==",
|
||||
"requires": {
|
||||
"tslib": "^1.9.0"
|
||||
}
|
||||
@ -1392,20 +1383,20 @@
|
||||
"dev": true
|
||||
},
|
||||
"@schematics/angular": {
|
||||
"version": "7.0.0-rc.3",
|
||||
"resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-7.0.0-rc.3.tgz",
|
||||
"integrity": "sha512-0sTXtlFlOF4wGgn3NG7DYmOf65wFVG+aZRvYmgqYIvXhqZlx7G0xN9b3+9CmC9+nE2XaD9TAMfN0PEzgFJEE6A==",
|
||||
"version": "7.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-7.0.2.tgz",
|
||||
"integrity": "sha512-EMYo3CguVFqpVkXPlyXdyMaPA3LIDDfHtrjc4kAkb+yLorTsKETTWoVFwOzG7xoF3uIG+inkeKr/MzU0OejrUw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@angular-devkit/core": "7.0.0-rc.3",
|
||||
"@angular-devkit/schematics": "7.0.0-rc.3",
|
||||
"typescript": "3.1.1"
|
||||
"@angular-devkit/core": "7.0.2",
|
||||
"@angular-devkit/schematics": "7.0.2",
|
||||
"typescript": "3.1.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"@angular-devkit/core": {
|
||||
"version": "7.0.0-rc.3",
|
||||
"resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.0-rc.3.tgz",
|
||||
"integrity": "sha512-xPhx4jCY1B4TLWWAEiUvpEJruIPlSxf8+cz9dFk/AkoDfJPOA21iEJ1Km6FPxkuKchm+W4n25ASDO45rOXhLaA==",
|
||||
"version": "7.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.2.tgz",
|
||||
"integrity": "sha512-liVqobArUfTvf0cZcjr3VI5tnHR+QjzfvC4HFBwIArls6/RxIATqd9GE9mFMWpy17xgVq8N7WmD6bymv1trbfA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ajv": "6.5.3",
|
||||
@ -1466,12 +1457,6 @@
|
||||
"integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
|
||||
"dev": true
|
||||
},
|
||||
"typescript": {
|
||||
"version": "3.1.1",
|
||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-3.1.1.tgz",
|
||||
"integrity": "sha512-Veu0w4dTc/9wlWNf2jeRInNodKlcdLgemvPsrNpfu5Pq39sgfFjvIIgTsvUHCoLBnMhPoUA+tFxsXjU6VexVRQ==",
|
||||
"dev": true
|
||||
},
|
||||
"uri-js": {
|
||||
"version": "4.2.2",
|
||||
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
|
||||
@ -1484,13 +1469,13 @@
|
||||
}
|
||||
},
|
||||
"@schematics/update": {
|
||||
"version": "0.9.0-rc.3",
|
||||
"resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.9.0-rc.3.tgz",
|
||||
"integrity": "sha512-SNww4o97T1Mp9YJZt6sUhNG3s5jqj5Ru+6lpfCSN4dxTjzhIFyGPX60OLMEZvISPnBwXU/hbo9mBEjU6QazpPg==",
|
||||
"version": "0.10.2",
|
||||
"resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.10.2.tgz",
|
||||
"integrity": "sha512-/U/HlA/1DRmN2rj/P5htxEWDiMyJE/pa/gGbG2z0IBabOaGsMfEDHPqqXphpB2+03lc2tmC+B19j6pHKtgXZUg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@angular-devkit/core": "7.0.0-rc.3",
|
||||
"@angular-devkit/schematics": "7.0.0-rc.3",
|
||||
"@angular-devkit/core": "7.0.2",
|
||||
"@angular-devkit/schematics": "7.0.2",
|
||||
"npm-registry-client": "8.6.0",
|
||||
"rxjs": "6.3.3",
|
||||
"semver": "5.5.1",
|
||||
@ -1498,9 +1483,9 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@angular-devkit/core": {
|
||||
"version": "7.0.0-rc.3",
|
||||
"resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.0-rc.3.tgz",
|
||||
"integrity": "sha512-xPhx4jCY1B4TLWWAEiUvpEJruIPlSxf8+cz9dFk/AkoDfJPOA21iEJ1Km6FPxkuKchm+W4n25ASDO45rOXhLaA==",
|
||||
"version": "7.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.2.tgz",
|
||||
"integrity": "sha512-liVqobArUfTvf0cZcjr3VI5tnHR+QjzfvC4HFBwIArls6/RxIATqd9GE9mFMWpy17xgVq8N7WmD6bymv1trbfA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ajv": "6.5.3",
|
||||
@ -1595,13 +1580,13 @@
|
||||
},
|
||||
"@types/node": {
|
||||
"version": "8.9.5",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-8.9.5.tgz",
|
||||
"resolved": "http://registry.npmjs.org/@types/node/-/node-8.9.5.tgz",
|
||||
"integrity": "sha512-jRHfWsvyMtXdbhnz5CVHxaBgnV6duZnPlQuRSo/dm/GnmikNcmZhxIES4E9OZjUmQ8C+HCl4KJux+cXN/ErGDQ==",
|
||||
"dev": true
|
||||
},
|
||||
"@types/q": {
|
||||
"version": "0.0.32",
|
||||
"resolved": "https://registry.npmjs.org/@types/q/-/q-0.0.32.tgz",
|
||||
"resolved": "http://registry.npmjs.org/@types/q/-/q-0.0.32.tgz",
|
||||
"integrity": "sha1-vShOV8hPEyXacCur/IKlMoGQwMU=",
|
||||
"dev": true
|
||||
},
|
||||
@ -1908,7 +1893,7 @@
|
||||
},
|
||||
"ajv": {
|
||||
"version": "6.4.0",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.4.0.tgz",
|
||||
"resolved": "http://registry.npmjs.org/ajv/-/ajv-6.4.0.tgz",
|
||||
"integrity": "sha1-06/3jpJ3VJdx2vAWTP9ISCt1T8Y=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@ -1954,7 +1939,7 @@
|
||||
},
|
||||
"ambi": {
|
||||
"version": "2.5.0",
|
||||
"resolved": "https://registry.npmjs.org/ambi/-/ambi-2.5.0.tgz",
|
||||
"resolved": "http://registry.npmjs.org/ambi/-/ambi-2.5.0.tgz",
|
||||
"integrity": "sha1-fI43K+SIkRV+fOoBy2+RQ9H3QiA=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@ -2242,7 +2227,7 @@
|
||||
},
|
||||
"async": {
|
||||
"version": "1.5.2",
|
||||
"resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
|
||||
"resolved": "http://registry.npmjs.org/async/-/async-1.5.2.tgz",
|
||||
"integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
|
||||
"dev": true
|
||||
},
|
||||
@ -2322,7 +2307,7 @@
|
||||
},
|
||||
"chalk": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
|
||||
"resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
|
||||
"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@ -2601,7 +2586,7 @@
|
||||
"dependencies": {
|
||||
"minimist": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
|
||||
"resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
|
||||
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
|
||||
"dev": true
|
||||
}
|
||||
@ -2721,7 +2706,7 @@
|
||||
},
|
||||
"browserify-aes": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
|
||||
"resolved": "http://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
|
||||
"integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@ -2758,7 +2743,7 @@
|
||||
},
|
||||
"browserify-rsa": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
|
||||
"resolved": "http://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
|
||||
"integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@ -2811,7 +2796,7 @@
|
||||
},
|
||||
"buffer": {
|
||||
"version": "4.9.1",
|
||||
"resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz",
|
||||
"resolved": "http://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz",
|
||||
"integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@ -3256,7 +3241,7 @@
|
||||
},
|
||||
"codelyzer": {
|
||||
"version": "4.2.1",
|
||||
"resolved": "https://registry.npmjs.org/codelyzer/-/codelyzer-4.2.1.tgz",
|
||||
"resolved": "http://registry.npmjs.org/codelyzer/-/codelyzer-4.2.1.tgz",
|
||||
"integrity": "sha512-CKwfgpfkqi9dyzy4s6ELaxJ54QgJ6A8iTSsM4bzHbLuTpbKncvNc3DUlCvpnkHBhK47gEf4qFsWoYqLrJPhy6g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@ -3614,7 +3599,7 @@
|
||||
},
|
||||
"create-hash": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
|
||||
"resolved": "http://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
|
||||
"integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@ -3627,7 +3612,7 @@
|
||||
},
|
||||
"create-hmac": {
|
||||
"version": "1.1.7",
|
||||
"resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
|
||||
"resolved": "http://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
|
||||
"integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@ -4029,7 +4014,7 @@
|
||||
},
|
||||
"diffie-hellman": {
|
||||
"version": "5.0.3",
|
||||
"resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
|
||||
"resolved": "http://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
|
||||
"integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@ -4159,7 +4144,7 @@
|
||||
},
|
||||
"duplexer": {
|
||||
"version": "0.1.1",
|
||||
"resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz",
|
||||
"resolved": "http://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz",
|
||||
"integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=",
|
||||
"dev": true
|
||||
},
|
||||
@ -4540,7 +4525,7 @@
|
||||
},
|
||||
"events": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz",
|
||||
"resolved": "http://registry.npmjs.org/events/-/events-1.1.1.tgz",
|
||||
"integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=",
|
||||
"dev": true
|
||||
},
|
||||
@ -5019,7 +5004,7 @@
|
||||
},
|
||||
"file-loader": {
|
||||
"version": "1.1.11",
|
||||
"resolved": "https://registry.npmjs.org/file-loader/-/file-loader-1.1.11.tgz",
|
||||
"resolved": "http://registry.npmjs.org/file-loader/-/file-loader-1.1.11.tgz",
|
||||
"integrity": "sha512-TGR4HU7HUsGg6GCOPJnFk06RhWgEWFLAGWiT6rcD+GRC2keU3s9RGJ+b3Z6/U73jwwNb2gKLJ7YCrp+jvU4ALg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@ -5068,7 +5053,7 @@
|
||||
},
|
||||
"finalhandler": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz",
|
||||
"resolved": "http://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz",
|
||||
"integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@ -5322,15 +5307,13 @@
|
||||
"version": "1.0.0",
|
||||
"resolved": false,
|
||||
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"brace-expansion": {
|
||||
"version": "1.1.11",
|
||||
"resolved": false,
|
||||
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"balanced-match": "^1.0.0",
|
||||
"concat-map": "0.0.1"
|
||||
@ -5353,8 +5336,7 @@
|
||||
"version": "0.0.1",
|
||||
"resolved": false,
|
||||
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"console-control-strings": {
|
||||
"version": "1.1.0",
|
||||
@ -5521,7 +5503,6 @@
|
||||
"resolved": false,
|
||||
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"brace-expansion": "^1.1.7"
|
||||
}
|
||||
@ -5530,8 +5511,7 @@
|
||||
"version": "0.0.8",
|
||||
"resolved": false,
|
||||
"integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"minipass": {
|
||||
"version": "2.2.4",
|
||||
@ -5646,8 +5626,7 @@
|
||||
"version": "1.0.1",
|
||||
"resolved": false,
|
||||
"integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"object-assign": {
|
||||
"version": "4.1.1",
|
||||
@ -5935,7 +5914,7 @@
|
||||
},
|
||||
"get-stream": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
|
||||
"resolved": "http://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
|
||||
"integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
|
||||
"dev": true
|
||||
},
|
||||
@ -6329,7 +6308,7 @@
|
||||
},
|
||||
"html-webpack-plugin": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz",
|
||||
"resolved": "http://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz",
|
||||
"integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@ -6385,7 +6364,7 @@
|
||||
},
|
||||
"readable-stream": {
|
||||
"version": "1.0.34",
|
||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
|
||||
"resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
|
||||
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@ -6430,7 +6409,7 @@
|
||||
},
|
||||
"http-errors": {
|
||||
"version": "1.6.3",
|
||||
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
|
||||
"resolved": "http://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
|
||||
"integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@ -6459,7 +6438,7 @@
|
||||
},
|
||||
"http-proxy-middleware": {
|
||||
"version": "0.18.0",
|
||||
"resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.18.0.tgz",
|
||||
"resolved": "http://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.18.0.tgz",
|
||||
"integrity": "sha512-Fs25KVMPAIIcgjMZkVHJoKg9VcXcC1C8yb9JUgeDvVXY0S/zgVIhMb+qVswDIgtJe2DfckMSY2d6TuTEutlk6Q==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@ -6881,7 +6860,7 @@
|
||||
},
|
||||
"is-builtin-module": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
|
||||
"resolved": "http://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
|
||||
"integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@ -7559,7 +7538,7 @@
|
||||
},
|
||||
"json5": {
|
||||
"version": "0.5.1",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
|
||||
"resolved": "http://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
|
||||
"integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
|
||||
"dev": true
|
||||
},
|
||||
@ -7611,7 +7590,7 @@
|
||||
},
|
||||
"es6-promise": {
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.0.2.tgz",
|
||||
"resolved": "http://registry.npmjs.org/es6-promise/-/es6-promise-3.0.2.tgz",
|
||||
"integrity": "sha1-AQ1YWEI6XxGJeWZfRkhqlcbuK7Y=",
|
||||
"dev": true
|
||||
},
|
||||
@ -7623,7 +7602,7 @@
|
||||
},
|
||||
"readable-stream": {
|
||||
"version": "2.0.6",
|
||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
|
||||
"resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
|
||||
"integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@ -8019,7 +7998,7 @@
|
||||
},
|
||||
"load-json-file": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
|
||||
"resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
|
||||
"integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@ -8332,7 +8311,7 @@
|
||||
"dependencies": {
|
||||
"minimist": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
|
||||
"resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
|
||||
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
@ -8462,7 +8441,7 @@
|
||||
},
|
||||
"minimist": {
|
||||
"version": "0.0.8",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
|
||||
"resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
|
||||
"integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
|
||||
"dev": true
|
||||
},
|
||||
@ -8525,7 +8504,7 @@
|
||||
},
|
||||
"mkdirp": {
|
||||
"version": "0.5.1",
|
||||
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
|
||||
"resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
|
||||
"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@ -8707,7 +8686,7 @@
|
||||
"dependencies": {
|
||||
"semver": {
|
||||
"version": "5.3.0",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
|
||||
"resolved": "http://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
|
||||
"integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
@ -8790,7 +8769,7 @@
|
||||
},
|
||||
"chalk": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
|
||||
"resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
|
||||
"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
@ -9216,7 +9195,7 @@
|
||||
},
|
||||
"os-locale": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
|
||||
"resolved": "http://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
|
||||
"integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
@ -9326,7 +9305,7 @@
|
||||
},
|
||||
"parse-asn1": {
|
||||
"version": "5.1.1",
|
||||
"resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz",
|
||||
"resolved": "http://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz",
|
||||
"integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@ -9480,7 +9459,7 @@
|
||||
},
|
||||
"pause-stream": {
|
||||
"version": "0.0.11",
|
||||
"resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz",
|
||||
"resolved": "http://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz",
|
||||
"integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@ -9782,7 +9761,7 @@
|
||||
},
|
||||
"chalk": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
|
||||
"resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
|
||||
"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@ -9795,7 +9774,7 @@
|
||||
},
|
||||
"minimist": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
|
||||
"resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
|
||||
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
|
||||
"dev": true
|
||||
},
|
||||
@ -10116,7 +10095,7 @@
|
||||
},
|
||||
"readable-stream": {
|
||||
"version": "2.3.6",
|
||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
|
||||
"resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
|
||||
"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@ -10587,7 +10566,7 @@
|
||||
},
|
||||
"sax": {
|
||||
"version": "0.5.8",
|
||||
"resolved": "https://registry.npmjs.org/sax/-/sax-0.5.8.tgz",
|
||||
"resolved": "http://registry.npmjs.org/sax/-/sax-0.5.8.tgz",
|
||||
"integrity": "sha1-1HLbIo6zMcJQaw6MFVJK25OdEsE=",
|
||||
"dev": true
|
||||
},
|
||||
@ -10849,7 +10828,7 @@
|
||||
},
|
||||
"sha.js": {
|
||||
"version": "2.4.11",
|
||||
"resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
|
||||
"resolved": "http://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
|
||||
"integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@ -11543,7 +11522,7 @@
|
||||
},
|
||||
"strip-ansi": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
|
||||
"resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
|
||||
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@ -11707,7 +11686,7 @@
|
||||
},
|
||||
"through": {
|
||||
"version": "2.3.8",
|
||||
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
|
||||
"resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz",
|
||||
"integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
|
||||
"dev": true
|
||||
},
|
||||
@ -11898,7 +11877,7 @@
|
||||
},
|
||||
"minimist": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
|
||||
"resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
|
||||
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
|
||||
"dev": true
|
||||
}
|
||||
@ -13071,7 +13050,7 @@
|
||||
},
|
||||
"wrap-ansi": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
|
||||
"resolved": "http://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
|
||||
"integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@ -13116,7 +13095,7 @@
|
||||
},
|
||||
"xmlbuilder": {
|
||||
"version": "9.0.7",
|
||||
"resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz",
|
||||
"resolved": "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz",
|
||||
"integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=",
|
||||
"dev": true
|
||||
},
|
||||
|
@ -15,18 +15,18 @@
|
||||
},
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"@angular/animations": "^7.0.0-rc.1",
|
||||
"@angular/cdk": "~7.0.0-rc.1",
|
||||
"@angular/common": "^7.0.0-rc.1",
|
||||
"@angular/compiler": "^7.0.0-rc.1",
|
||||
"@angular/core": "^7.0.0-rc.1",
|
||||
"@angular/forms": "^7.0.0-rc.1",
|
||||
"@angular/http": "^7.0.0-rc.1",
|
||||
"@angular/material": "^7.0.0-rc.1",
|
||||
"@angular/platform-browser": "^7.0.0-rc.1",
|
||||
"@angular/platform-browser-dynamic": "^7.0.0-rc.1",
|
||||
"@angular/router": "^7.0.0-rc.1",
|
||||
"@ngx-pwa/local-storage": "^6.1.1",
|
||||
"@angular/animations": "^7.0.0",
|
||||
"@angular/cdk": "^7.0.0",
|
||||
"@angular/common": "^7.0.0",
|
||||
"@angular/compiler": "^7.0.0",
|
||||
"@angular/core": "^7.0.0",
|
||||
"@angular/forms": "^7.0.0",
|
||||
"@angular/http": "^7.0.0",
|
||||
"@angular/material": "^7.0.0",
|
||||
"@angular/platform-browser": "^7.0.0",
|
||||
"@angular/platform-browser-dynamic": "^7.0.0",
|
||||
"@angular/router": "^7.0.0",
|
||||
"@ngx-pwa/local-storage": "^6.2.0",
|
||||
"@ngx-translate/core": "^10.0.2",
|
||||
"@ngx-translate/http-loader": "^3.0.1",
|
||||
"core-js": "^2.5.4",
|
||||
@ -39,9 +39,9 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@angular-devkit/build-angular": "^0.7.0",
|
||||
"@angular/cli": "^7.0.0-rc.3",
|
||||
"@angular/compiler-cli": "^7.0.0-rc.1",
|
||||
"@angular/language-service": "^7.0.0-rc.1",
|
||||
"@angular/cli": "^7.0.2",
|
||||
"@angular/compiler-cli": "^7.0.0",
|
||||
"@angular/language-service": "^7.0.0",
|
||||
"@biesbjerg/ngx-translate-extract": "^2.3.4",
|
||||
"@compodoc/compodoc": "^1.1.5",
|
||||
"@types/jasmine": "^2.8.9",
|
||||
|
@ -25,7 +25,8 @@ export class DataSendService {
|
||||
* Usually for new Models
|
||||
*/
|
||||
public createModel(model: BaseModel): Observable<BaseModel> {
|
||||
return this.httpService.create('rest/' + model.collectionString + '/', model) as Observable<BaseModel>;
|
||||
const restPath = `rest/${model.collectionString}/`;
|
||||
return this.httpService.create(restPath, model) as Observable<BaseModel>;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -36,7 +37,7 @@ export class DataSendService {
|
||||
*/
|
||||
public updateModel(model: BaseModel, method: HTTPMethod): Observable<BaseModel> {
|
||||
const restPath = `rest/${model.collectionString}/${model.id}`;
|
||||
return this.httpService.update(restPath + '/' + model.id, model, method) as Observable<BaseModel>;
|
||||
return this.httpService.update(restPath, model, method) as Observable<BaseModel>;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -44,10 +45,9 @@ export class DataSendService {
|
||||
*
|
||||
* @param model the BaseModel that shall be removed
|
||||
* @return Observable of BaseModel
|
||||
*
|
||||
* TODO Not tested
|
||||
*/
|
||||
public deleteModel(model: BaseModel): Observable<BaseModel> {
|
||||
return this.httpService.delete(model.collectionString + '/' + model.id) as Observable<BaseModel>;
|
||||
const restPath = `rest/${model.collectionString}/${model.id}`;
|
||||
return this.httpService.delete(restPath) as Observable<BaseModel>;
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
<cdk-drop class="list" (cdkDropDropped)="drop($event)">
|
||||
<div cdkDropList class="list" (cdkDropListDropped)="drop($event)">
|
||||
<div class="box line" *ngFor="let item of array" cdkDrag>
|
||||
<div class="section-one" cdkDragHandle>
|
||||
<mat-icon>drag_handle</mat-icon>
|
||||
@ -7,4 +7,4 @@
|
||||
{{item}}
|
||||
</div>
|
||||
</div>
|
||||
</cdk-drop>
|
||||
</div>
|
||||
|
@ -13,32 +13,61 @@
|
||||
</div>
|
||||
|
||||
</os-head-bar>
|
||||
<div class="custom-table-header"></div>
|
||||
|
||||
<!-- Creating a new category -->
|
||||
<mat-card *ngIf="categoryToCreate">
|
||||
<mat-card-title translate>Create new category</mat-card-title>
|
||||
<mat-card-content>
|
||||
<form [formGroup]="createForm" (keydown)="keyDownFunction($event)">
|
||||
<p>
|
||||
<!-- Prefix field -->
|
||||
<mat-form-field>
|
||||
<input formControlName="prefix" matInput placeholder="{{'Prefix' | translate}}" required>
|
||||
<mat-hint *ngIf="!createForm.controls.name.valid">
|
||||
<span translate>Required</span>
|
||||
</mat-hint>
|
||||
</mat-form-field>
|
||||
|
||||
<!-- Name field -->
|
||||
<mat-form-field>
|
||||
<input formControlName="name" matInput placeholder="{{'Name' | translate}}" required>
|
||||
<mat-hint *ngIf="!createForm.controls.name.valid">
|
||||
<span translate>Required</span>
|
||||
</mat-hint>
|
||||
</mat-form-field>
|
||||
</p>
|
||||
</form>
|
||||
</mat-card-content>
|
||||
|
||||
<!-- Save and Cancel buttons -->
|
||||
<mat-card-actions>
|
||||
<button mat-button (click)="onCreateButton()" translate>Create</button>
|
||||
<button mat-button (click)="categoryToCreate = null" translate>Abort</button>
|
||||
</mat-card-actions>
|
||||
</mat-card>
|
||||
|
||||
<div class='custom-table-header on-transition-fade'>
|
||||
<button mat-button>
|
||||
<mat-icon>search</mat-icon>
|
||||
</button>
|
||||
</div>
|
||||
<mat-accordion class="os-card">
|
||||
<mat-expansion-panel [ngClass]="{new: category.id === undefined}" *ngFor="let category of this.dataSource" (opened)="panelOpening('true', category)"
|
||||
(closed)="panelOpening('false', category)" multiple="false">
|
||||
<mat-expansion-panel *ngFor="let category of this.categories" multiple="false">
|
||||
|
||||
<!-- Header shows Prefix and name -->
|
||||
<mat-expansion-panel-header>
|
||||
<mat-panel-title>
|
||||
<div class="header-container">
|
||||
<div class="header-prefix">
|
||||
<div *ngIf="!category.edit">
|
||||
<div *ngIf="editId !== category.id">
|
||||
{{ category.prefix }}
|
||||
</div>
|
||||
<div *ngIf="category.edit">
|
||||
{{this.formGroup.get('prefix').value}}
|
||||
<div *ngIf="editId === category.id">
|
||||
{{ this.updateForm.get('prefix').value }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="header-name">
|
||||
<div *ngIf="!category.edit">
|
||||
<div *ngIf="editId !== category.id">
|
||||
{{ category.name }}
|
||||
</div>
|
||||
<div *ngIf="category.edit">
|
||||
{{this.formGroup.get('name').value}}
|
||||
<div *ngIf="editId === category.id">
|
||||
{{ this.updateForm.get('name').value }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="header-size">
|
||||
@ -47,46 +76,52 @@
|
||||
</div>
|
||||
</mat-panel-title>
|
||||
</mat-expansion-panel-header>
|
||||
<form [formGroup]='this.formGroup' *ngIf="category.edit" (keydown)="keyDownFunction($event, category)">
|
||||
|
||||
<!-- Edit form shows during the edit event -->
|
||||
<form [formGroup]='this.updateForm' *ngIf="editId === category.id" (keydown)="keyDownFunction($event, category)">
|
||||
<span translate>Edit category details:</span><br>
|
||||
<mat-form-field>
|
||||
<input formControlName="prefix" matInput placeholder="{{'Prefix' | translate}}">
|
||||
<small *ngIf="!this.formGroup.controls.prefix.valid">
|
||||
<mat-hint>
|
||||
<span translate>Required</span>
|
||||
</small>
|
||||
</mat-hint>
|
||||
</mat-form-field>
|
||||
<mat-form-field>
|
||||
<input formControlName="name" matInput placeholder="{{'Name' | translate}}">
|
||||
<small *ngIf="!this.formGroup.controls.name.valid">
|
||||
<mat-hint>
|
||||
<span translate>Required</span>
|
||||
</small>
|
||||
</mat-hint>
|
||||
</mat-form-field>
|
||||
</form>
|
||||
|
||||
<!-- Show and sort corresponding motions-->
|
||||
<div *ngIf="motionsInCategory(category).length > 0">
|
||||
<span translate>Motions:</span>
|
||||
<div *ngIf="!category.edit">
|
||||
<div *ngIf="editId !== category.id">
|
||||
<ul *ngFor="let motion of motionsInCategory(category)">
|
||||
<li>{{motion}}</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div *ngIf="category.edit">
|
||||
<div *ngIf="editId === category.id">
|
||||
<os-sorting-list [input]="motionsInCategory(category)" #sorter></os-sorting-list>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Buttons to edit, delete, save ... -->
|
||||
<mat-action-row>
|
||||
<button *ngIf="!category.edit" mat-button class='on-transition-fade' (click)=onEditButton(category)
|
||||
mat-icon-button>
|
||||
<button mat-icon-button *ngIf="editId !== category.id" class='on-transition-fade' (click)=onEditButton(category)>
|
||||
<mat-icon>edit</mat-icon>
|
||||
</button>
|
||||
<button *ngIf="category.edit" mat-button class='on-transition-fade' (click)=onCancelButton(category)
|
||||
mat-icon-button>
|
||||
<button mat-icon-button *ngIf="editId === category.id" class='on-transition-fade' (click)=onCancelButton()>
|
||||
<mat-icon>close</mat-icon>
|
||||
</button>
|
||||
<button *ngIf="category.edit" mat-button class='on-transition-fade' (click)=onSaveButton(category)
|
||||
mat-icon-button>
|
||||
<button mat-icon-button *ngIf="editId === category.id" class='on-transition-fade' (click)=onSaveButton(category)>
|
||||
<mat-icon>save</mat-icon>
|
||||
</button>
|
||||
<button mat-button class='on-transition-fade' (click)=onDeleteButton(category) mat-icon-button>
|
||||
<button mat-icon-button mat-button class='on-transition-fade' (click)=onDeleteButton(category)>
|
||||
<mat-icon>delete</mat-icon>
|
||||
</button>
|
||||
</mat-action-row>
|
||||
|
||||
</mat-expansion-panel>
|
||||
</mat-accordion>
|
||||
|
@ -1,8 +1,3 @@
|
||||
.new {
|
||||
// put in theme later
|
||||
background-color: lightblue;
|
||||
}
|
||||
|
||||
.custom-table-header {
|
||||
// display: none;
|
||||
width: 100%;
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { Component, OnInit, OnDestroy, ViewChild } from '@angular/core';
|
||||
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||
import { Title } from '@angular/platform-browser';
|
||||
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
@ -12,6 +12,7 @@ import { Motion } from '../../../../shared/models/motions/motion';
|
||||
import { SortingListComponent } from '../../../../shared/components/sorting-list/sorting-list.component';
|
||||
import { MotionRepositoryService } from '../../services/motion-repository.service';
|
||||
import { ViewMotion } from '../../models/view-motion';
|
||||
import { PromptService } from 'app/core/services/prompt.service';
|
||||
|
||||
/**
|
||||
* List view for the categories.
|
||||
@ -21,21 +22,31 @@ import { ViewMotion } from '../../models/view-motion';
|
||||
templateUrl: './category-list.component.html',
|
||||
styleUrls: ['./category-list.component.scss']
|
||||
})
|
||||
export class CategoryListComponent extends BaseComponent implements OnInit, OnDestroy {
|
||||
export class CategoryListComponent extends BaseComponent implements OnInit {
|
||||
/**
|
||||
* States the edit mode
|
||||
* Hold the category to create
|
||||
*/
|
||||
public editMode = false;
|
||||
public categoryToCreate: Category | null;
|
||||
|
||||
/**
|
||||
* Source of the Data
|
||||
* Determine which category to edit
|
||||
*/
|
||||
public dataSource: Array<ViewCategory>;
|
||||
public editId: number | null;
|
||||
|
||||
/**
|
||||
* The current focussed formgroup
|
||||
* Source of the data
|
||||
*/
|
||||
public formGroup: FormGroup;
|
||||
public categories: Array<ViewCategory>;
|
||||
|
||||
/**
|
||||
* For new categories
|
||||
*/
|
||||
public createForm: FormGroup;
|
||||
|
||||
/**
|
||||
* The current focussed form
|
||||
*/
|
||||
public updateForm: FormGroup;
|
||||
|
||||
/**
|
||||
* The MultiSelect Component
|
||||
@ -55,55 +66,36 @@ export class CategoryListComponent extends BaseComponent implements OnInit, OnDe
|
||||
protected translate: TranslateService,
|
||||
private repo: CategoryRepositoryService,
|
||||
private formBuilder: FormBuilder,
|
||||
private motionRepo: MotionRepositoryService
|
||||
private motionRepo: MotionRepositoryService,
|
||||
private promptService: PromptService
|
||||
) {
|
||||
super(titleService, translate);
|
||||
this.formGroup = this.formBuilder.group({
|
||||
name: ['', Validators.required],
|
||||
prefix: ['', Validators.required]
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* On Destroy Function
|
||||
*
|
||||
* Saves the edits
|
||||
*/
|
||||
public ngOnDestroy(): void {
|
||||
this.dataSource.forEach(viewCategory => {
|
||||
if (viewCategory.edit && viewCategory.opened) {
|
||||
const nameControl = this.formGroup.get('name');
|
||||
const prefixControl = this.formGroup.get('prefix');
|
||||
const nameValue = nameControl.value;
|
||||
const prefixValue = prefixControl.value;
|
||||
viewCategory.name = nameValue;
|
||||
viewCategory.prefix = prefixValue;
|
||||
this.saveCategory(viewCategory);
|
||||
}
|
||||
this.createForm = this.formBuilder.group({
|
||||
prefix: ['', Validators.required],
|
||||
name: ['', Validators.required]
|
||||
});
|
||||
|
||||
this.updateForm = this.formBuilder.group({
|
||||
prefix: ['', Validators.required],
|
||||
name: ['', Validators.required]
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Event on Key Down in form
|
||||
*/
|
||||
public keyDownFunction(event: KeyboardEvent, viewCategory: ViewCategory): void {
|
||||
public keyDownFunction(event: KeyboardEvent, viewCategory?: ViewCategory): void {
|
||||
if (event.keyCode === 13) {
|
||||
console.log('hit enter');
|
||||
if (viewCategory) {
|
||||
this.onSaveButton(viewCategory);
|
||||
} else {
|
||||
this.onCreateButton();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Stores the Datamodel in the repo
|
||||
* @param viewCategory
|
||||
*/
|
||||
private saveCategory(viewCategory: ViewCategory): void {
|
||||
if (this.repo.osInDataStore(viewCategory)) {
|
||||
this.repo.update(viewCategory.category).subscribe();
|
||||
} else {
|
||||
this.repo.create(viewCategory.category, viewCategory).subscribe();
|
||||
}
|
||||
viewCategory.edit = false;
|
||||
}
|
||||
/**
|
||||
* Init function.
|
||||
*
|
||||
@ -112,147 +104,104 @@ export class CategoryListComponent extends BaseComponent implements OnInit, OnDe
|
||||
public ngOnInit(): void {
|
||||
super.setTitle('Category');
|
||||
this.repo.getViewModelListObservable().subscribe(newViewCategories => {
|
||||
this.dataSource = newViewCategories;
|
||||
});
|
||||
this.categories = newViewCategories;
|
||||
this.sortDataSource();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a new Category.
|
||||
*/
|
||||
public onPlusButton(): void {
|
||||
let noNewOnes = true;
|
||||
this.dataSource.forEach(viewCategory => {
|
||||
if (viewCategory.id === undefined) {
|
||||
noNewOnes = false;
|
||||
}
|
||||
});
|
||||
if (noNewOnes) {
|
||||
const newCategory = new Category();
|
||||
newCategory.id = undefined;
|
||||
newCategory.name = this.translate.instant('Name');
|
||||
newCategory.prefix = this.translate.instant('Prefix');
|
||||
const newViewCategory = new ViewCategory(newCategory);
|
||||
newViewCategory.opened = true;
|
||||
this.dataSource.reverse();
|
||||
this.dataSource.push(newViewCategory);
|
||||
this.dataSource.reverse();
|
||||
this.editMode = true;
|
||||
if (!this.categoryToCreate) {
|
||||
this.categoryToCreate = new Category();
|
||||
this.createForm.reset();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Executed on edit button
|
||||
* @param viewCategory
|
||||
* Creates a new category. Executed after hitting save.
|
||||
*/
|
||||
public onCreateButton(): void {
|
||||
if (this.createForm.valid) {
|
||||
this.categoryToCreate.patchValues(this.createForm.value as Category);
|
||||
this.repo.create(this.categoryToCreate).subscribe(resp => {
|
||||
this.categoryToCreate = null;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Category specific edit button
|
||||
* @param viewCategory individual cat
|
||||
*/
|
||||
public onEditButton(viewCategory: ViewCategory): void {
|
||||
viewCategory.edit = true;
|
||||
viewCategory.synced = false;
|
||||
this.editMode = true;
|
||||
const nameControl = this.formGroup.get('name');
|
||||
const prefixControl = this.formGroup.get('prefix');
|
||||
nameControl.setValue(viewCategory.name);
|
||||
prefixControl.setValue(viewCategory.prefix);
|
||||
this.editId = viewCategory.id;
|
||||
this.updateForm.reset();
|
||||
this.updateForm.patchValue({
|
||||
prefix: viewCategory.prefix,
|
||||
name: viewCategory.name
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Saves the categories
|
||||
*/
|
||||
public onSaveButton(viewCategory: ViewCategory): void {
|
||||
if (this.formGroup.controls.name.valid && this.formGroup.controls.prefix.valid) {
|
||||
this.editMode = false;
|
||||
viewCategory.edit = false;
|
||||
const nameControl = this.formGroup.get('name');
|
||||
const prefixControl = this.formGroup.get('prefix');
|
||||
const nameValue = nameControl.value;
|
||||
const prefixValue = prefixControl.value;
|
||||
if (
|
||||
viewCategory.id === undefined ||
|
||||
nameValue !== viewCategory.name ||
|
||||
prefixValue !== viewCategory.prefix
|
||||
) {
|
||||
viewCategory.prefix = prefixValue;
|
||||
viewCategory.name = nameValue;
|
||||
this.saveCategory(viewCategory);
|
||||
}
|
||||
}
|
||||
const motionList = this.sortSelector.array as Motion[];
|
||||
this.repo.updateCategoryNumbering(viewCategory.category, motionList).subscribe();
|
||||
if (this.updateForm.valid) {
|
||||
this.repo.update(this.updateForm.value as Partial<Category>, viewCategory).subscribe(resp => {
|
||||
this.onCancelButton();
|
||||
this.sortDataSource();
|
||||
});
|
||||
}
|
||||
|
||||
// get the sorted motions
|
||||
if (this.sortSelector) {
|
||||
const manuallySortedMotions = this.sortSelector.array as Motion[];
|
||||
this.repo.updateCategoryNumbering(viewCategory.category, manuallySortedMotions).subscribe();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* sorts the datasource by prefix alphabetically
|
||||
* sorts the categories by prefix
|
||||
*/
|
||||
protected sortDataSource(): void {
|
||||
this.dataSource.sort((viewCategory1, viewCategory2) => {
|
||||
if (viewCategory1.prefix > viewCategory2.prefix) {
|
||||
return 1;
|
||||
}
|
||||
if (viewCategory1.prefix < viewCategory2.prefix) {
|
||||
return -1;
|
||||
}
|
||||
});
|
||||
this.categories.sort((viewCategory1, viewCategory2) => (viewCategory1 > viewCategory2 ? 1 : -1));
|
||||
}
|
||||
|
||||
/**
|
||||
* executed on cancel button
|
||||
* @param viewCategory
|
||||
*/
|
||||
public onCancelButton(viewCategory: ViewCategory): void {
|
||||
viewCategory.edit = false;
|
||||
this.editMode = false;
|
||||
public onCancelButton(): void {
|
||||
this.editId = null;
|
||||
}
|
||||
|
||||
/**
|
||||
* is executed, when the delete button is pressed
|
||||
*/
|
||||
public onDeleteButton(viewCategory: ViewCategory): void {
|
||||
if (this.repo.osInDataStore(viewCategory) && viewCategory.id !== undefined) {
|
||||
public async onDeleteButton(viewCategory: ViewCategory): Promise<any> {
|
||||
const content = this.translate.instant('Delete') + ` ${viewCategory.name}?`;
|
||||
if (await this.promptService.open('Are you sure?', content)) {
|
||||
const motList = this.motionsInCategory(viewCategory.category);
|
||||
motList.forEach(motion => {
|
||||
motion.category_id = null;
|
||||
this.motionRepo.update(motion, new ViewMotion(motion));
|
||||
});
|
||||
this.repo.delete(viewCategory).subscribe();
|
||||
}
|
||||
const index = this.dataSource.indexOf(viewCategory, 0);
|
||||
if (index > -1) {
|
||||
this.dataSource.splice(index, 1);
|
||||
}
|
||||
// if no category is there, we still have to be able to create one
|
||||
if (this.dataSource.length < 1) {
|
||||
this.editMode = false;
|
||||
|
||||
this.repo.delete(viewCategory).subscribe(resp => {
|
||||
this.onCancelButton();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Is executed when a mat-extension-panel is opened or closed
|
||||
* @param open true if opened, false if being closed
|
||||
* @param category the category in the panel
|
||||
* Returns the motions corresponding to a category
|
||||
* @param category target
|
||||
*/
|
||||
public panelOpening(open: boolean, category: ViewCategory): void {
|
||||
category.opened = open as boolean;
|
||||
if (category.edit === true) {
|
||||
this.onSaveButton(category);
|
||||
this.onCancelButton(category);
|
||||
}
|
||||
if (!open) {
|
||||
category.edit = false;
|
||||
this.editMode = false;
|
||||
}
|
||||
}
|
||||
|
||||
public motionsInCategory(category: Category): Array<Motion> {
|
||||
const motList = this.repo.getMotionsOfCategory(category);
|
||||
motList.sort((motion1, motion2) => {
|
||||
if (motion1 > motion2) {
|
||||
return 1;
|
||||
}
|
||||
if (motion1 < motion2) {
|
||||
return -1;
|
||||
}
|
||||
});
|
||||
motList.sort((motion1, motion2) => (motion1 > motion2 ? 1 : -1));
|
||||
return motList;
|
||||
}
|
||||
}
|
||||
|
@ -285,18 +285,21 @@ export class MotionDetailComponent extends BaseComponent implements OnInit {
|
||||
}
|
||||
});
|
||||
|
||||
const motList = this.categoryRepo.getMotionsOfCategory(
|
||||
this.categoryRepo.getCategoryByID(fromForm.category_id)
|
||||
);
|
||||
if (!motList.includes(fromForm)) {
|
||||
motList.push(fromForm);
|
||||
// TODO: Document and evaluate if this actually does what it is supposed to do
|
||||
if (fromForm.category_id) {
|
||||
const catOfFormMotion = this.categoryRepo.getCategoryByID(fromForm.category_id);
|
||||
const motionsWithSameCat = this.categoryRepo.getMotionsOfCategory(catOfFormMotion);
|
||||
|
||||
if (!motionsWithSameCat.includes(fromForm)) {
|
||||
motionsWithSameCat.push(fromForm);
|
||||
this.categoryRepo.updateCategoryNumbering(
|
||||
this.categoryRepo.getCategoryByID(fromForm.category_id),
|
||||
motList
|
||||
motionsWithSameCat
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* get the formated motion text from the repository.
|
||||
|
@ -10,9 +10,6 @@ import { BaseViewModel } from '../../base/base-view-model';
|
||||
*/
|
||||
export class ViewCategory extends BaseViewModel {
|
||||
private _category: Category;
|
||||
private _edit: boolean;
|
||||
private _synced: boolean;
|
||||
private _opened: boolean;
|
||||
|
||||
public get category(): Category {
|
||||
return this._category;
|
||||
@ -30,18 +27,6 @@ export class ViewCategory extends BaseViewModel {
|
||||
return this.category ? this.category.prefix : null;
|
||||
}
|
||||
|
||||
public set synced(bol: boolean) {
|
||||
this._synced = bol;
|
||||
}
|
||||
|
||||
public set edit(bol: boolean) {
|
||||
this._edit = bol;
|
||||
}
|
||||
|
||||
public set opened(bol: boolean) {
|
||||
this._opened = bol;
|
||||
}
|
||||
|
||||
public set prefix(pref: string) {
|
||||
this._category.prefix = pref;
|
||||
}
|
||||
@ -50,18 +35,6 @@ export class ViewCategory extends BaseViewModel {
|
||||
this._category.name = nam;
|
||||
}
|
||||
|
||||
public get opened(): boolean {
|
||||
return this._opened;
|
||||
}
|
||||
|
||||
public get synced(): boolean {
|
||||
return this._synced;
|
||||
}
|
||||
|
||||
public get edit(): boolean {
|
||||
return this._edit;
|
||||
}
|
||||
|
||||
public constructor(category?: Category, id?: number, prefix?: string, name?: string) {
|
||||
super();
|
||||
if (!category) {
|
||||
@ -71,9 +44,6 @@ export class ViewCategory extends BaseViewModel {
|
||||
category.prefix = prefix;
|
||||
}
|
||||
this._category = category;
|
||||
this._edit = false;
|
||||
this._synced = true;
|
||||
this._opened = false;
|
||||
}
|
||||
|
||||
public getTitle(): string {
|
||||
|
@ -8,6 +8,7 @@ import { BaseRepository } from '../../base/base-repository';
|
||||
import { Motion } from '../../../shared/models/motions/motion';
|
||||
import { CategoryNumbering } from '../models/category-numbering';
|
||||
import { HttpService, HTTPMethod } from '../../../core/services/http.service';
|
||||
|
||||
/**
|
||||
* Repository Services for Categories
|
||||
*
|
||||
@ -40,24 +41,18 @@ export class CategoryRepositoryService extends BaseRepository<ViewCategory, Cate
|
||||
return new ViewCategory(category);
|
||||
}
|
||||
|
||||
public create(update: Category, viewCategory?: ViewCategory): Observable<any> {
|
||||
console.log('update: ', update);
|
||||
console.log('viewCategory: ', viewCategory);
|
||||
if (this.osInDataStore(viewCategory)) {
|
||||
return this.update(update, viewCategory);
|
||||
} else {
|
||||
return this.dataSend.createModel(viewCategory.category);
|
||||
}
|
||||
public create(newCategory: Category): Observable<any> {
|
||||
return this.dataSend.createModel(newCategory);
|
||||
}
|
||||
|
||||
public update(update: Category, viewCategory?: ViewCategory): Observable<any> {
|
||||
public update(category: Partial<Category>, viewCategory?: ViewCategory): Observable<any> {
|
||||
let updateCategory: Category;
|
||||
if (viewCategory) {
|
||||
updateCategory = viewCategory.category;
|
||||
} else {
|
||||
updateCategory = new Category();
|
||||
}
|
||||
updateCategory.patchValues(update);
|
||||
updateCategory.patchValues(category);
|
||||
return this.dataSend.updateModel(updateCategory, HTTPMethod.PUT);
|
||||
}
|
||||
|
||||
@ -74,7 +69,7 @@ export class CategoryRepositoryService extends BaseRepository<ViewCategory, Cate
|
||||
const motList = this.DS.getAll(Motion);
|
||||
const retList: Array<Motion> = [];
|
||||
motList.forEach(motion => {
|
||||
if (motion.category_id === category.id) {
|
||||
if (motion.category_id && motion.category_id === category.id) {
|
||||
retList.push(motion);
|
||||
}
|
||||
});
|
||||
@ -82,34 +77,17 @@ export class CategoryRepositoryService extends BaseRepository<ViewCategory, Cate
|
||||
return retList;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if a Catagory is on the server already
|
||||
* @param viewCategory the category to check if it is already on the server
|
||||
*/
|
||||
public osInDataStore(viewCategory: ViewCategory): boolean {
|
||||
const serverCategoryArray = this.DS.getAll(Category);
|
||||
if (serverCategoryArray.find(cat => cat.id === viewCategory.id)) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the category for the ID
|
||||
* @param category_id category ID
|
||||
*/
|
||||
public getCategoryByID(category_id: number): Category {
|
||||
const catList = this.DS.getAll(Category);
|
||||
catList.forEach(category => {
|
||||
if (category.id === category_id) {
|
||||
return category;
|
||||
}
|
||||
});
|
||||
return null;
|
||||
return catList.find(category => category.id === category_id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Updates a Categorys numbering
|
||||
* Updates a Categories numbering
|
||||
* @param category the category it should be updated in
|
||||
* @param motionList the list of motions on this category
|
||||
*/
|
||||
|
@ -1,15 +1,16 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Observable } from 'rxjs';
|
||||
import { map } from 'rxjs/operators';
|
||||
|
||||
import { DataSendService } from '../../../core/services/data-send.service';
|
||||
import { User } from '../../../shared/models/users/user';
|
||||
import { Category } from '../../../shared/models/motions/category';
|
||||
import { Workflow } from '../../../shared/models/motions/workflow';
|
||||
import { Observable } from 'rxjs';
|
||||
import { BaseRepository } from '../../base/base-repository';
|
||||
import { DataStoreService } from '../../../core/services/data-store.service';
|
||||
import { MotionChangeReco } from '../../../shared/models/motions/motion-change-reco';
|
||||
import { ViewChangeReco } from '../models/view-change-reco';
|
||||
import { map } from 'rxjs/operators';
|
||||
import { HTTPMethod } from 'app/core/services/http.service';
|
||||
|
||||
/**
|
||||
* Repository Services for change recommendations
|
||||
@ -78,7 +79,7 @@ export class ChangeRecommendationRepositoryService extends BaseRepository<ViewCh
|
||||
* @param {ViewChangeReco} viewModel
|
||||
*/
|
||||
public delete(viewModel: ViewChangeReco): Observable<MotionChangeReco> {
|
||||
return this.dataSend.delete(viewModel.changeRecommendation) as Observable<MotionChangeReco>;
|
||||
return this.dataSend.deleteModel(viewModel.changeRecommendation) as Observable<MotionChangeReco>;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -93,7 +94,7 @@ export class ChangeRecommendationRepositoryService extends BaseRepository<ViewCh
|
||||
public update(update: Partial<MotionChangeReco>, viewModel: ViewChangeReco): Observable<MotionChangeReco> {
|
||||
const changeReco = viewModel.changeRecommendation;
|
||||
changeReco.patchValues(update);
|
||||
return this.dataSend.updateModel(changeReco, 'patch') as Observable<MotionChangeReco>;
|
||||
return this.dataSend.updateModel(changeReco, HTTPMethod.PATCH) as Observable<MotionChangeReco>;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -117,7 +118,7 @@ export class ChangeRecommendationRepositoryService extends BaseRepository<ViewCh
|
||||
changeReco.patchValues({
|
||||
rejected: false
|
||||
});
|
||||
return this.dataSend.updateModel(changeReco, 'patch') as Observable<MotionChangeReco>;
|
||||
return this.dataSend.updateModel(changeReco, HTTPMethod.PATCH) as Observable<MotionChangeReco>;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -130,6 +131,6 @@ export class ChangeRecommendationRepositoryService extends BaseRepository<ViewCh
|
||||
changeReco.patchValues({
|
||||
rejected: true
|
||||
});
|
||||
return this.dataSend.updateModel(changeReco, 'patch') as Observable<MotionChangeReco>;
|
||||
return this.dataSend.updateModel(changeReco, HTTPMethod.PATCH) as Observable<MotionChangeReco>;
|
||||
}
|
||||
}
|
||||
|
@ -5,6 +5,7 @@ import { DataStoreService } from '../../../core/services/data-store.service';
|
||||
import { BaseRepository } from '../../base/base-repository';
|
||||
import { ViewStatuteParagraph } from '../models/view-statute-paragraph';
|
||||
import { StatuteParagraph } from '../../../shared/models/motions/statute-paragraph';
|
||||
import { HTTPMethod } from 'app/core/services/http.service';
|
||||
|
||||
/**
|
||||
* Repository Services for statute paragraphs
|
||||
@ -41,10 +42,10 @@ export class StatuteParagraphRepositoryService extends BaseRepository<ViewStatut
|
||||
): Observable<any> {
|
||||
const updateParagraph = viewStatuteParagraph.statuteParagraph;
|
||||
updateParagraph.patchValues(statuteParagraph);
|
||||
return this.dataSend.updateModel(updateParagraph, 'put');
|
||||
return this.dataSend.updateModel(updateParagraph, HTTPMethod.PUT);
|
||||
}
|
||||
|
||||
public delete(viewStatuteParagraph: ViewStatuteParagraph): Observable<any> {
|
||||
return this.dataSend.delete(viewStatuteParagraph.statuteParagraph);
|
||||
return this.dataSend.deleteModel(viewStatuteParagraph.statuteParagraph);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user