Skip to content
Snippets Groups Projects
Commit 1e409433 authored by Patrick Thorkildsen's avatar Patrick Thorkildsen
Browse files

fixed several bugs

parent 0e5fa33b
Branches
No related tags found
No related merge requests found
Showing
with 20 additions and 0 deletions
{"ast":null,"code":"import _createClass from \"C:\\\\Users\\\\patri\\\\OneDrive\\\\Dokumenter\\\\NTNU Data\\\\Systemutvikling 2 med web-applikasjoner\\\\Oving3og12\\\\oving3__12\\\\Oving12jaja\\\\node_modules\\\\@babel\\\\runtime/helpers/esm/createClass\";\nimport _possibleConstructorReturn from \"C:\\\\Users\\\\patri\\\\OneDrive\\\\Dokumenter\\\\NTNU Data\\\\Systemutvikling 2 med web-applikasjoner\\\\Oving3og12\\\\oving3__12\\\\Oving12jaja\\\\node_modules\\\\@babel\\\\runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"C:\\\\Users\\\\patri\\\\OneDrive\\\\Dokumenter\\\\NTNU Data\\\\Systemutvikling 2 med web-applikasjoner\\\\Oving3og12\\\\oving3__12\\\\Oving12jaja\\\\node_modules\\\\@babel\\\\runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"C:\\\\Users\\\\patri\\\\OneDrive\\\\Dokumenter\\\\NTNU Data\\\\Systemutvikling 2 med web-applikasjoner\\\\Oving3og12\\\\oving3__12\\\\Oving12jaja\\\\node_modules\\\\@babel\\\\runtime/helpers/esm/inherits\";\nimport _classCallCheck from \"C:\\\\Users\\\\patri\\\\OneDrive\\\\Dokumenter\\\\NTNU Data\\\\Systemutvikling 2 med web-applikasjoner\\\\Oving3og12\\\\oving3__12\\\\Oving12jaja\\\\node_modules\\\\@babel\\\\runtime/helpers/esm/classCallCheck\";\nvar _jsxFileName = \"C:\\\\Users\\\\patri\\\\OneDrive\\\\Dokumenter\\\\NTNU Data\\\\Systemutvikling 2 med web-applikasjoner\\\\Oving3og12\\\\oving3__12\\\\Oving12jaja\\\\src\\\\index.js\";\n\n/* eslint eqeqeq: \"off\" */\nimport ReactDOM from \"react-dom\";\nimport * as React from \"react\";\nimport { Component } from \"react-simplified\";\nimport { HashRouter, Route, NavLink } from \"react-router-dom\";\nimport { Alert } from \"./widgets\";\nimport \"bootstrap/dist/css/bootstrap.min.css\";\nimport createHashHistory from \"history/createHashHistory\";\nvar history = createHashHistory(); // Use history.push(...) to programmatically change path, for instance after successfully saving a student\n\nvar Student = function Student(firstName, lastName, email) {\n _classCallCheck(this, Student);\n\n this.id = void 0;\n this.firstName = void 0;\n this.lastName = void 0;\n this.email = void 0;\n this.id = Student.nextId++;\n this.firstName = firstName;\n this.lastName = lastName;\n this.email = email;\n};\n\nStudent.nextId = 1;\nvar students = [new Student(\"Ola\", \"Jensen\", \"ola.jensen@ntnu.no\"), new Student(\"Kari\", \"Larsen\", \"kari.larsen@ntnu.no\")];\nvar today = new Date();\nvar dd = today.getDate();\nvar mm = today.getMonth() + 1; //January is 0!\n\nvar yyyy = today.getFullYear();\n\nfunction findMonth(month) {\n if (month > 12) {\n return null;\n } else if (month < 1) {\n return null;\n } else if (month == 1) {\n return \"Jan\";\n } else if (month == 10) {\n return \"Oct\";\n }\n}\n\nvar FindDate = function FindDate() {\n _classCallCheck(this, FindDate);\n\n this.day = void 0;\n this.month = void 0;\n var today = new Date();\n this.day = today.getDate();\n this.month = today.getMonth() + 1;\n\n if (this.month == 1) {\n this.month = \"Jan\";\n } else if (this.month == 10) {\n this.month = \"Okt\";\n } else if (this.month == 2) {\n this.month = \"Feb\";\n } else if (this.month == 3) {\n this.month = \"Mar\";\n } else if (this.month == 4) {\n this.month = \"Apr\";\n } else if (this.month == 5) {\n this.month = \"May\";\n } else if (this.month == 6) {\n this.month = \"Jun\";\n } else if (this.month == 7) {\n this.month = \"Jul\";\n } else if (this.month == 8) {\n this.month = \"Aug\";\n } else if (this.month == 9) {\n this.month = \"Sep\";\n } else if (this.month == 11) {\n this.month = \"Nov\";\n } else {\n this.month = \"Des\";\n }\n};\n\nvar NewsCase = function NewsCase(title, date, category, pictureUrl, text) {\n _classCallCheck(this, NewsCase);\n\n this.id = void 0;\n this.title = void 0;\n this.date = void 0;\n this.category = void 0;\n this.pictureUrl = void 0;\n this.text = void 0;\n this.title = title;\n this.date = date;\n this.category = category;\n this.pictureUrl = pictureUrl;\n this.text = text;\n};\n\nNewsCase.nextId = 1;\nvar cases = [new NewsCase(\"Oilers forbi Vålerenga på tabellen\", \"Oct 21\", \"Sport\", \"https://smp.vgc.no/v2/images/313edf09-be76-4254-9320-cb406477d843?fit=crop&h=1267&w=1900&s=55488cd2bf0654c01d34e940180d9009a60f6c48\", \"(Vålerenga-Stavanger Oilers 1–3) Med en sterk borteseier i hovedstaden tok Stavanger Oilers seg forbi Vålerenga på tabellen.\"), new NewsCase(\"PUBG beklager servertrøbbel og gir spillere en lue som plaster på såret\", \"Oct 22\", \"Dataspill\", \"https://o.aolcdn.com/images/dims?quality=100&image_uri=http%3A%2F%2Fo.aolcdn.com%2Fhss%2Fstorage%2Fmidas%2F8db17a3120d671ee6a2427ea1d8c53ec%2F206345127%2Fpubg-ed.jpg&client=amp-blogside-v2&signature=edeb4e9fba9137e8c59df7fa4a4ea85badd42c74\", \"Utvikleren har også sluppet detaljer om spillets neste oppdatering.\"), new NewsCase(\"Dette er verdens beste turistby\", \"Oct 10\", \"Kultur\", \"https://vgc.no/drfront/images/2018/10/23/c=139,51,1162,1162;w=318;h=318;430949.jpg\", \"Det er ikke bare deilig å være norsk i Danmark. Alle kan føle seg vel i København. Så vel at byen nå troner på toppen av Lonely Planets prestisjetunge ti-på-topp-liste for byer i 2019.\") //new NewsCase(\n// \"Jakob er teit\",\n// \"Nov 2\",\n// \"Politikk\",\n// \"https://scontent-arn2-1.xx.fbcdn.net/v/t1.0-0/p206x206/296213_166901403389133_326271926_n.jpg?_nc_cat=106&_nc_ht=scontent-arn2-1.xx&oh=bce76d678cedb7290b4e99409087f639&oe=5C890A75\",\n// \"Jakob er en liten shitkid som liker å drite på andres dører xd\"\n//)\n];\n\nvar LatestCases =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(LatestCases, _Component);\n\n function LatestCases(props) {\n var _this;\n\n _classCallCheck(this, LatestCases);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(LatestCases).call(this, props));\n _this.state = {\n error: null,\n isLoaded: false,\n items: []\n };\n return _this;\n }\n\n _createClass(LatestCases, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this2 = this;\n\n fetch(\"http://localhost:8080/caseslatest\", {\n method: \"GET\"\n }).then(function (res) {\n return res.json();\n }) //.then(json => console.log(JSON.stringify(json)))\n .then(function (res) {\n console.log(res);\n\n _this2.setState({\n isLoaded: true,\n items: res\n });\n }, function (error) {\n _this2.setState({\n isLoaded: true,\n error: error\n });\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$state = this.state,\n error = _this$state.error,\n isLoaded = _this$state.isLoaded,\n items = _this$state.items;\n var text = \"\";\n return React.createElement(\"div\", {\n class: \"card\",\n style: {\n width: \"1750px\",\n margin: \"auto\",\n top: \"10px\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 180\n },\n __self: this\n }, React.createElement(\"div\", {\n class: \"card-body\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 184\n },\n __self: this\n }, React.createElement(\"marquee\", {\n __source: {\n fileName: _jsxFileName,\n lineNumber: 185\n },\n __self: this\n }, items.map(function (NewsCase) {\n return React.createElement(\"b\", {\n style: {\n margin: \"100px\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 187\n },\n __self: this\n }, NewsCase.title, \" - \", NewsCase.date);\n }))));\n }\n }]);\n\n return LatestCases;\n}(Component);\n\nvar NewsList =\n/*#__PURE__*/\nfunction (_Component2) {\n _inherits(NewsList, _Component2);\n\n function NewsList(props) {\n var _this3;\n\n _classCallCheck(this, NewsList);\n\n _this3 = _possibleConstructorReturn(this, _getPrototypeOf(NewsList).call(this, props));\n _this3.state = {\n error: null,\n isLoaded: false,\n items: []\n };\n return _this3;\n }\n\n _createClass(NewsList, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this4 = this;\n\n fetch(\"http://localhost:8080/cases\", {\n method: \"GET\"\n }).then(function (res) {\n return res.json();\n }) //.then(json => console.log(JSON.stringify(json)))\n .then(function (res) {\n console.log(res);\n\n _this4.setState({\n isLoaded: true,\n items: res\n });\n }, function (error) {\n _this4.setState({\n isLoaded: true,\n error: error\n });\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$state2 = this.state,\n error = _this$state2.error,\n isLoaded = _this$state2.isLoaded,\n items = _this$state2.items;\n\n if (error) {\n return React.createElement(\"div\", {\n __source: {\n fileName: _jsxFileName,\n lineNumber: 234\n },\n __self: this\n }, \"Error: \", error.message);\n } else if (!isLoaded) {\n return React.createElement(\"div\", {\n __source: {\n fileName: _jsxFileName,\n lineNumber: 236\n },\n __self: this\n }, \"Loading...\");\n } else {\n return React.createElement(\"div\", {\n style: {\n background: \"#24282c\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 239\n },\n __self: this\n }, React.createElement(\"div\", {\n class: \"row mb-2\",\n style: {\n margin: \"20px\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 240\n },\n __self: this\n }, items.map(function (NewsCase) {\n return React.createElement(\"div\", {\n class: \"col-md-6\",\n key: NewsCase.id,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 242\n },\n __self: this\n }, React.createElement(\"div\", {\n class: \"card flex-md-row mb-4 shadow-sm h-md-250\",\n style: {\n background: \"#1f2226\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 243\n },\n __self: this\n }, React.createElement(\"div\", {\n class: \"card-body d-flex flex-column align-items-start\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 247\n },\n __self: this\n }, React.createElement(\"strong\", {\n class: \"d-inline-block mb-2 text-success\",\n style: {\n color: \"white\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 248\n },\n __self: this\n }, NewsCase.category), React.createElement(\"h3\", {\n class: \"mb-0\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 254\n },\n __self: this\n }, React.createElement(\"a\", {\n class: \"text-light\",\n href: \"#\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 255\n },\n __self: this\n }, NewsCase.title)), React.createElement(\"div\", {\n class: \"mb-1 text-muted\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 259\n },\n __self: this\n }, NewsCase.date), React.createElement(\"p\", {\n class: \"card-text mb-auto\",\n style: {\n color: \"white\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 260\n },\n __self: this\n }, NewsCase.titleText), React.createElement(NavLink, {\n exact: true,\n to: \"/\" + NewsCase.id,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 263\n },\n __self: this\n }, \"Les videre\")), React.createElement(\"img\", {\n class: \"card-img-right flex-auto d-none d-lg-block\",\n src: NewsCase.picture,\n alt: \"Card image cap\",\n height: \"300px\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 267\n },\n __self: this\n })));\n })));\n }\n }\n }]);\n\n return NewsList;\n}(Component);\n\nvar OnlyNewsList =\n/*#__PURE__*/\nfunction (_Component3) {\n _inherits(OnlyNewsList, _Component3);\n\n function OnlyNewsList(props) {\n var _this5;\n\n _classCallCheck(this, OnlyNewsList);\n\n _this5 = _possibleConstructorReturn(this, _getPrototypeOf(OnlyNewsList).call(this, props));\n _this5.state = {\n error: null,\n isLoaded: false,\n items: []\n };\n return _this5;\n }\n\n _createClass(OnlyNewsList, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this6 = this;\n\n fetch(\"http://localhost:8080/newslist\", {\n method: \"GET\"\n }).then(function (res) {\n return res.json();\n }) //.then(json => console.log(JSON.stringify(json)))\n .then(function (res) {\n console.log(res);\n\n _this6.setState({\n isLoaded: true,\n items: res\n });\n }, function (error) {\n _this6.setState({\n isLoaded: true,\n error: error\n });\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$state3 = this.state,\n error = _this$state3.error,\n isLoaded = _this$state3.isLoaded,\n items = _this$state3.items;\n\n if (error) {\n return React.createElement(\"div\", {\n __source: {\n fileName: _jsxFileName,\n lineNumber: 319\n },\n __self: this\n }, \"Error: \", error.message);\n } else if (!isLoaded) {\n return React.createElement(\"div\", {\n __source: {\n fileName: _jsxFileName,\n lineNumber: 321\n },\n __self: this\n }, \"Loading...\");\n } else {\n return React.createElement(\"div\", {\n style: {\n background: \"#a6a6a6\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 324\n },\n __self: this\n }, React.createElement(\"div\", {\n class: \"row mb-2\",\n style: {\n margin: \"20px\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 325\n },\n __self: this\n }, items.map(function (NewsCase) {\n return React.createElement(\"div\", {\n class: \"col-md-6\",\n key: NewsCase.id,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 327\n },\n __self: this\n }, React.createElement(\"div\", {\n class: \"card flex-md-row mb-4 shadow-sm h-md-250\",\n style: {\n background: \"#f2f2f2\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 328\n },\n __self: this\n }, React.createElement(\"div\", {\n class: \"card-body d-flex flex-column align-items-start\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 332\n },\n __self: this\n }, React.createElement(\"strong\", {\n class: \"d-inline-block mb-2 text-success\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 333\n },\n __self: this\n }, NewsCase.category), React.createElement(\"h3\", {\n class: \"mb-0\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 336\n },\n __self: this\n }, React.createElement(\"a\", {\n class: \"text-dark\",\n href: \"#\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 337\n },\n __self: this\n }, NewsCase.title)), React.createElement(\"div\", {\n class: \"mb-1 text-muted\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 341\n },\n __self: this\n }, NewsCase.date), React.createElement(\"p\", {\n class: \"card-text mb-auto\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 342\n },\n __self: this\n }, NewsCase.titleText), React.createElement(\"a\", {\n href: \"#\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 343\n },\n __self: this\n }, \"Les videre\")), React.createElement(\"img\", {\n class: \"card-img-right flex-auto d-none d-lg-block\",\n src: NewsCase.picture,\n alt: \"Card image cap\",\n height: \"300px\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 345\n },\n __self: this\n })));\n })));\n }\n }\n }]);\n\n return OnlyNewsList;\n}(Component);\n\nvar SportList =\n/*#__PURE__*/\nfunction (_Component4) {\n _inherits(SportList, _Component4);\n\n function SportList(props) {\n var _this7;\n\n _classCallCheck(this, SportList);\n\n _this7 = _possibleConstructorReturn(this, _getPrototypeOf(SportList).call(this, props));\n _this7.state = {\n error: null,\n isLoaded: false,\n items: []\n };\n return _this7;\n }\n\n _createClass(SportList, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this8 = this;\n\n fetch(\"http://localhost:8080/sportlist\", {\n method: \"GET\"\n }).then(function (res) {\n return res.json();\n }) //.then(json => console.log(JSON.stringify(json)))\n .then(function (res) {\n console.log(res);\n\n _this8.setState({\n isLoaded: true,\n items: res\n });\n }, function (error) {\n _this8.setState({\n isLoaded: true,\n error: error\n });\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$state4 = this.state,\n error = _this$state4.error,\n isLoaded = _this$state4.isLoaded,\n items = _this$state4.items;\n\n if (error) {\n return React.createElement(\"div\", {\n __source: {\n fileName: _jsxFileName,\n lineNumber: 397\n },\n __self: this\n }, \"Error: \", error.message);\n } else if (!isLoaded) {\n return React.createElement(\"div\", {\n __source: {\n fileName: _jsxFileName,\n lineNumber: 399\n },\n __self: this\n }, \"Loading...\");\n } else {\n return React.createElement(\"div\", {\n style: {\n background: \"#a6a6a6\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 402\n },\n __self: this\n }, React.createElement(\"div\", {\n class: \"row mb-2\",\n style: {\n margin: \"20px\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 403\n },\n __self: this\n }, items.map(function (NewsCase) {\n return React.createElement(\"div\", {\n class: \"col-md-6\",\n key: NewsCase.id,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 405\n },\n __self: this\n }, React.createElement(\"div\", {\n class: \"card flex-md-row mb-4 shadow-sm h-md-250\",\n style: {\n background: \"#f2f2f2\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 406\n },\n __self: this\n }, React.createElement(\"div\", {\n class: \"card-body d-flex flex-column align-items-start\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 410\n },\n __self: this\n }, React.createElement(\"strong\", {\n class: \"d-inline-block mb-2 text-success\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 411\n },\n __self: this\n }, NewsCase.category), React.createElement(\"h3\", {\n class: \"mb-0\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 414\n },\n __self: this\n }, React.createElement(\"a\", {\n class: \"text-dark\",\n href: \"#\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 415\n },\n __self: this\n }, NewsCase.title)), React.createElement(\"div\", {\n class: \"mb-1 text-muted\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 419\n },\n __self: this\n }, NewsCase.date), React.createElement(\"p\", {\n class: \"card-text mb-auto\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 420\n },\n __self: this\n }, NewsCase.titleText), React.createElement(\"a\", {\n href: \"#\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 421\n },\n __self: this\n }, \"Les videre\")), React.createElement(\"img\", {\n class: \"card-img-right flex-auto d-none d-lg-block\",\n src: NewsCase.picture,\n alt: \"Card image cap\",\n height: \"300px\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 423\n },\n __self: this\n })));\n })));\n }\n }\n }]);\n\n return SportList;\n}(Component);\n\nvar CultureList =\n/*#__PURE__*/\nfunction (_Component5) {\n _inherits(CultureList, _Component5);\n\n function CultureList(props) {\n var _this9;\n\n _classCallCheck(this, CultureList);\n\n _this9 = _possibleConstructorReturn(this, _getPrototypeOf(CultureList).call(this, props));\n _this9.state = {\n error: null,\n isLoaded: false,\n items: []\n };\n return _this9;\n }\n\n _createClass(CultureList, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this10 = this;\n\n fetch(\"http://localhost:8080/culturelist\", {\n method: \"GET\"\n }).then(function (res) {\n return res.json();\n }) //.then(json => console.log(JSON.stringify(json)))\n .then(function (res) {\n console.log(res);\n\n _this10.setState({\n isLoaded: true,\n items: res\n });\n }, function (error) {\n _this10.setState({\n isLoaded: true,\n error: error\n });\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$state5 = this.state,\n error = _this$state5.error,\n isLoaded = _this$state5.isLoaded,\n items = _this$state5.items;\n\n if (error) {\n return React.createElement(\"div\", {\n __source: {\n fileName: _jsxFileName,\n lineNumber: 475\n },\n __self: this\n }, \"Error: \", error.message);\n } else if (!isLoaded) {\n return React.createElement(\"div\", {\n __source: {\n fileName: _jsxFileName,\n lineNumber: 477\n },\n __self: this\n }, \"Loading...\");\n } else {\n return React.createElement(\"div\", {\n style: {\n background: \"#a6a6a6\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 480\n },\n __self: this\n }, React.createElement(\"div\", {\n class: \"row mb-2\",\n style: {\n margin: \"20px\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 481\n },\n __self: this\n }, items.map(function (NewsCase) {\n return React.createElement(\"div\", {\n class: \"col-md-6\",\n key: NewsCase.id,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 483\n },\n __self: this\n }, React.createElement(\"div\", {\n class: \"card flex-md-row mb-4 shadow-sm h-md-250\",\n style: {\n background: \"#f2f2f2\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 484\n },\n __self: this\n }, React.createElement(\"div\", {\n class: \"card-body d-flex flex-column align-items-start\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 488\n },\n __self: this\n }, React.createElement(\"strong\", {\n class: \"d-inline-block mb-2 text-success\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 489\n },\n __self: this\n }, NewsCase.category), React.createElement(\"h3\", {\n class: \"mb-0\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 492\n },\n __self: this\n }, React.createElement(\"a\", {\n class: \"text-dark\",\n href: \"#\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 493\n },\n __self: this\n }, NewsCase.title)), React.createElement(\"div\", {\n class: \"mb-1 text-muted\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 497\n },\n __self: this\n }, NewsCase.date), React.createElement(\"p\", {\n class: \"card-text mb-auto\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 498\n },\n __self: this\n }, NewsCase.titleText), React.createElement(\"a\", {\n href: \"#\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 499\n },\n __self: this\n }, \"Les videre\")), React.createElement(\"img\", {\n class: \"card-img-right flex-auto d-none d-lg-block\",\n src: NewsCase.picture,\n alt: \"Card image cap\",\n height: \"300px\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 501\n },\n __self: this\n })));\n })));\n }\n }\n }]);\n\n return CultureList;\n}(Component);\n\nvar GamesList =\n/*#__PURE__*/\nfunction (_Component6) {\n _inherits(GamesList, _Component6);\n\n function GamesList(props) {\n var _this11;\n\n _classCallCheck(this, GamesList);\n\n _this11 = _possibleConstructorReturn(this, _getPrototypeOf(GamesList).call(this, props));\n _this11.state = {\n error: null,\n isLoaded: false,\n items: []\n };\n return _this11;\n }\n\n _createClass(GamesList, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this12 = this;\n\n fetch(\"http://localhost:8080/gameslist\", {\n method: \"GET\"\n }).then(function (res) {\n return res.json();\n }) //.then(json => console.log(JSON.stringify(json)))\n .then(function (res) {\n console.log(res);\n\n _this12.setState({\n isLoaded: true,\n items: res\n });\n }, function (error) {\n _this12.setState({\n isLoaded: true,\n error: error\n });\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$state6 = this.state,\n error = _this$state6.error,\n isLoaded = _this$state6.isLoaded,\n items = _this$state6.items;\n\n if (error) {\n return React.createElement(\"div\", {\n __source: {\n fileName: _jsxFileName,\n lineNumber: 553\n },\n __self: this\n }, \"Error: \", error.message);\n } else if (!isLoaded) {\n return React.createElement(\"div\", {\n __source: {\n fileName: _jsxFileName,\n lineNumber: 555\n },\n __self: this\n }, \"Loading...\");\n } else {\n return React.createElement(\"div\", {\n style: {\n background: \"#a6a6a6\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 558\n },\n __self: this\n }, React.createElement(\"div\", {\n class: \"row mb-2\",\n style: {\n margin: \"20px\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 559\n },\n __self: this\n }, items.map(function (NewsCase) {\n return React.createElement(\"div\", {\n class: \"col-md-6\",\n key: NewsCase.id,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 561\n },\n __self: this\n }, React.createElement(\"div\", {\n class: \"card flex-md-row mb-4 shadow-sm h-md-250\",\n style: {\n background: \"#f2f2f2\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 562\n },\n __self: this\n }, React.createElement(\"div\", {\n class: \"card-body d-flex flex-column align-items-start\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 566\n },\n __self: this\n }, React.createElement(\"strong\", {\n class: \"d-inline-block mb-2 text-success\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 567\n },\n __self: this\n }, NewsCase.category), React.createElement(\"h3\", {\n class: \"mb-0\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 570\n },\n __self: this\n }, React.createElement(\"a\", {\n class: \"text-dark\",\n href: \"#\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 571\n },\n __self: this\n }, NewsCase.title)), React.createElement(\"div\", {\n class: \"mb-1 text-muted\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 575\n },\n __self: this\n }, NewsCase.date), React.createElement(\"p\", {\n class: \"card-text mb-auto\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 576\n },\n __self: this\n }, NewsCase.titleText), React.createElement(\"a\", {\n href: \"#\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 577\n },\n __self: this\n }, \"Les videre\")), React.createElement(\"img\", {\n class: \"card-img-right flex-auto d-none d-lg-block\",\n src: NewsCase.picture,\n alt: \"Card image cap\",\n height: \"300px\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 579\n },\n __self: this\n })));\n })));\n }\n }\n }]);\n\n return GamesList;\n}(Component);\n\nvar PoliticsList =\n/*#__PURE__*/\nfunction (_Component7) {\n _inherits(PoliticsList, _Component7);\n\n function PoliticsList(props) {\n var _this13;\n\n _classCallCheck(this, PoliticsList);\n\n _this13 = _possibleConstructorReturn(this, _getPrototypeOf(PoliticsList).call(this, props));\n _this13.state = {\n error: null,\n isLoaded: false,\n items: []\n };\n return _this13;\n }\n\n _createClass(PoliticsList, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this14 = this;\n\n fetch(\"http://localhost:8080/politicslist\", {\n method: \"GET\"\n }).then(function (res) {\n return res.json();\n }) //.then(json => console.log(JSON.stringify(json)))\n .then(function (res) {\n console.log(res);\n\n _this14.setState({\n isLoaded: true,\n items: res\n });\n }, function (error) {\n _this14.setState({\n isLoaded: true,\n error: error\n });\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$state7 = this.state,\n error = _this$state7.error,\n isLoaded = _this$state7.isLoaded,\n items = _this$state7.items;\n\n if (error) {\n return React.createElement(\"div\", {\n __source: {\n fileName: _jsxFileName,\n lineNumber: 631\n },\n __self: this\n }, \"Error: \", error.message);\n } else if (!isLoaded) {\n return React.createElement(\"div\", {\n __source: {\n fileName: _jsxFileName,\n lineNumber: 633\n },\n __self: this\n }, \"Loading...\");\n } else {\n return React.createElement(\"div\", {\n style: {\n background: \"#a6a6a6\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 636\n },\n __self: this\n }, React.createElement(\"div\", {\n class: \"row mb-2\",\n style: {\n margin: \"20px\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 637\n },\n __self: this\n }, items.map(function (NewsCase) {\n return React.createElement(\"div\", {\n class: \"col-md-6\",\n key: NewsCase.id,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 639\n },\n __self: this\n }, React.createElement(\"div\", {\n class: \"card flex-md-row mb-4 shadow-sm h-md-250\",\n style: {\n background: \"#f2f2f2\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 640\n },\n __self: this\n }, React.createElement(\"div\", {\n class: \"card-body d-flex flex-column align-items-start\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 644\n },\n __self: this\n }, React.createElement(\"strong\", {\n class: \"d-inline-block mb-2 text-success\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 645\n },\n __self: this\n }, NewsCase.category), React.createElement(\"h3\", {\n class: \"mb-0\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 648\n },\n __self: this\n }, React.createElement(\"a\", {\n class: \"text-dark\",\n href: \"#\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 649\n },\n __self: this\n }, NewsCase.title)), React.createElement(\"div\", {\n class: \"mb-1 text-muted\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 653\n },\n __self: this\n }, NewsCase.date), React.createElement(\"p\", {\n class: \"card-text mb-auto\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 654\n },\n __self: this\n }, NewsCase.titleText), React.createElement(\"a\", {\n href: \"#\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 655\n },\n __self: this\n }, \"Les videre\")), React.createElement(\"img\", {\n class: \"card-img-right flex-auto d-none d-lg-block\",\n src: NewsCase.picture,\n alt: \"Card image cap\",\n height: \"300px\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 657\n },\n __self: this\n })));\n })));\n }\n }\n }]);\n\n return PoliticsList;\n}(Component);\n\nvar DeleteAndEdit =\n/*#__PURE__*/\nfunction (_Component8) {\n _inherits(DeleteAndEdit, _Component8);\n\n function DeleteAndEdit(props) {\n var _this15;\n\n _classCallCheck(this, DeleteAndEdit);\n\n _this15 = _possibleConstructorReturn(this, _getPrototypeOf(DeleteAndEdit).call(this, props));\n _this15.state = {\n error: null,\n isLoaded: false,\n items: []\n };\n return _this15;\n }\n\n _createClass(DeleteAndEdit, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this16 = this;\n\n console.log(this.props.match.params.id);\n fetch(\"http://localhost:8080/casesall\", {\n method: \"GET\"\n }).then(function (res) {\n return res.json();\n }) //.then(json => console.log(JSON.stringify(json)))\n .then(function (res) {\n console.log(res);\n\n _this16.setState({\n isLoaded: true,\n items: res\n });\n }, function (error) {\n _this16.setState({\n isLoaded: true,\n error: error\n });\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this17 = this;\n\n var _this$state8 = this.state,\n error = _this$state8.error,\n isLoaded = _this$state8.isLoaded,\n items = _this$state8.items;\n\n if (error) {\n return React.createElement(\"div\", {\n __source: {\n fileName: _jsxFileName,\n lineNumber: 712\n },\n __self: this\n }, \"Error: \", error.message);\n } else if (!isLoaded) {\n return React.createElement(\"div\", {\n __source: {\n fileName: _jsxFileName,\n lineNumber: 714\n },\n __self: this\n }, \"Loading...\");\n } else {\n return React.createElement(\"div\", {\n __source: {\n fileName: _jsxFileName,\n lineNumber: 717\n },\n __self: this\n }, React.createElement(\"li\", {\n class: \"list-group list-group-item-action\",\n style: {\n width: \"1000px\"\n },\n key: NewsCase.id,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 718\n },\n __self: this\n }, items.map(function (NewsCase) {\n return React.createElement(\"li\", {\n class: \"list-group-item list-group-item-action\",\n key: NewsCase.id,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 724\n },\n __self: this\n }, NewsCase.title, \" - \", NewsCase.date, React.createElement(NavLink, {\n style: {\n float: \"right\"\n },\n exact: true,\n to: \"/edit/\" + NewsCase.id,\n class: \"btn btn-primary\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 729\n },\n __self: this\n }, \"Edit\"), React.createElement(\"button\", {\n type: \"delete\",\n class: \"btn btn-danger\",\n onClick: _this17.delete.bind(null, NewsCase.id),\n style: {\n margin: \"10px\",\n float: \"right\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 737\n },\n __self: this\n }, \"Delete\"));\n })));\n }\n }\n }, {\n key: \"delete\",\n value: function _delete(id) {\n var _this$state9 = this.state,\n error = _this$state9.error,\n isLoaded = _this$state9.isLoaded,\n items = _this$state9.items;\n console.log(id);\n var url = \"http://localhost:8080/cases/\" + id;\n console.log(url);\n fetch(url, {\n method: \"DELETE\"\n }).then(function (res) {\n return res.json();\n });\n this.setState({\n state: this.state\n });\n }\n }, {\n key: \"edit\",\n value: function edit(newscase) {\n console.log(newscase);\n var url = \"http://localhost:8080/cases/\" + newscase.id;\n console.log(url);\n return React.createElement(\"div\", {\n style: {\n margin: \"\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 769\n },\n __self: this\n }, React.createElement(\"p\", {\n style: {\n color: \"white\",\n margin: \"1000px\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 770\n },\n __self: this\n }, \"Hei\"));\n }\n }]);\n\n return DeleteAndEdit;\n}(Component);\n\nvar CaseEdit =\n/*#__PURE__*/\nfunction (_Component9) {\n _inherits(CaseEdit, _Component9);\n\n function CaseEdit(props) {\n var _this18;\n\n _classCallCheck(this, CaseEdit);\n\n _this18 = _possibleConstructorReturn(this, _getPrototypeOf(CaseEdit).call(this, props));\n _this18.title = \"\";\n _this18.titleText = \"\";\n _this18.content = \"\";\n _this18.picture = \"\";\n _this18.state = {\n error: null,\n isLoaded: false,\n items: []\n };\n return _this18;\n }\n\n _createClass(CaseEdit, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this19 = this;\n\n var url = \"http://localhost:8080/casesall/\" + this.props.match.params.id;\n fetch(url, {\n method: \"GET\"\n }).then(function (res) {\n return res.json();\n }) //.then(json => console.log(JSON.stringify(json)))\n .then(function (res) {\n console.log(res);\n\n _this19.setState({\n isLoaded: true,\n items: res\n });\n }, function (error) {\n _this19.setState({\n isLoaded: true,\n error: error\n });\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this20 = this;\n\n var _this$state10 = this.state,\n error = _this$state10.error,\n isLoaded = _this$state10.isLoaded,\n items = _this$state10.items;\n return React.createElement(\"div\", {\n style: {\n margin: \"20px\",\n height: \"3000px\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 820\n },\n __self: this\n }, items.map(function (NewsCase) {\n return React.createElement(\"div\", {\n __source: {\n fileName: _jsxFileName,\n lineNumber: 822\n },\n __self: this\n }, React.createElement(\"form\", {\n __source: {\n fileName: _jsxFileName,\n lineNumber: 823\n },\n __self: this\n }, React.createElement(\"div\", {\n class: \"form-group\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 824\n },\n __self: this\n }, React.createElement(\"label\", {\n for: \"inpTitle\",\n style: {\n color: \"white\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 825\n },\n __self: this\n }, \"Tittel\"), React.createElement(\"input\", {\n type: \"title\",\n defaultValue: NewsCase.title,\n onChange: function onChange(event) {\n return _this20.title = event.target.value;\n },\n class: \"form-control\",\n id: \"inpTitle\",\n \"aria-describedby\": \"titleHelp\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 828\n },\n __self: this\n }), React.createElement(\"small\", {\n id: \"titleHelp\",\n class: \"form-text text-muted\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 838\n },\n __self: this\n }, \"Tittlen b\\xF8r vekke interesse for innlegget ditt!\")), React.createElement(\"div\", {\n class: \"form-group\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 842\n },\n __self: this\n }, React.createElement(\"label\", {\n for: \"inpText\",\n style: {\n color: \"white\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 843\n },\n __self: this\n }, \"Forsidetekst\"), React.createElement(\"input\", {\n type: \"text\",\n defaultValue: NewsCase.titleText,\n onChange: function onChange(event) {\n return _this20.titleText = event.target.value;\n },\n class: \"form-control\",\n id: \"inptitleText\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 846\n },\n __self: this\n }), React.createElement(\"small\", {\n id: \"textHelp\",\n class: \"form-text text-muted\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 855\n },\n __self: this\n }, \"Denne teksten vil vises p\\xE5 forsiden sammen med tittlen og bildet ditt\")), React.createElement(\"div\", {\n class: \"form-group\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 860\n },\n __self: this\n }, React.createElement(\"label\", {\n for: \"inpInnleggstekst\",\n style: {\n color: \"white\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 861\n },\n __self: this\n }, \"Innleggstekst\"), React.createElement(\"textarea\", {\n type: \"text\",\n defaultValue: NewsCase.content,\n onChange: function onChange(event) {\n return _this20.content = event.target.value;\n },\n class: \"form-control\",\n id: \"inpContent\",\n rows: \"5\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 864\n },\n __self: this\n })), React.createElement(\"div\", {\n class: \"form-group\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 875\n },\n __self: this\n }, React.createElement(\"label\", {\n for: \"inpUrl\",\n style: {\n color: \"white\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 876\n },\n __self: this\n }, \"Url til bilde\"), React.createElement(\"input\", {\n type: \"text\",\n defaultValue: NewsCase.picture,\n onChange: function onChange(event) {\n return _this20.picture = event.target.value;\n },\n class: \"form-control\",\n id: \"inpUrl\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 879\n },\n __self: this\n })), React.createElement(\"button\", {\n type: \"submit\",\n class: \"btn btn-primary\",\n onClick: _this20.edit,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 889\n },\n __self: this\n }, \"Edit\")));\n }));\n }\n }, {\n key: \"edit\",\n value: function edit() {\n console.log(this.title);\n console.log(this.titleText);\n console.log(this.content);\n console.log(this.picture);\n var url = \"http://localhost:8080/casesall/\" + this.props.match.params.id;\n console.log(url);\n fetch(url, {\n method: \"PUT\",\n headers: {\n \"Content-Type\": \"application/json; charset=utf-8\"\n },\n body: JSON.stringify({\n title: this.title,\n titleText: this.titleText,\n content: this.content,\n picture: this.picture,\n id: this.props.match.params.id\n })\n });\n }\n }]);\n\n return CaseEdit;\n}(Component);\n\nvar NewCase =\n/*#__PURE__*/\nfunction (_Component10) {\n _inherits(NewCase, _Component10);\n\n function NewCase() {\n var _getPrototypeOf2;\n\n var _this21;\n\n _classCallCheck(this, NewCase);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this21 = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(NewCase)).call.apply(_getPrototypeOf2, [this].concat(args)));\n _this21.title = \"\";\n _this21.titleText = \"\";\n _this21.date = \"\";\n _this21.category = \"Nyheter\";\n _this21.pictureUrl = \"\";\n _this21.content = \"\";\n _this21.importance = \"1\";\n return _this21;\n }\n\n _createClass(NewCase, [{\n key: \"render\",\n value: function render() {\n var _this22 = this;\n\n return React.createElement(\"div\", {\n class: \"mx-auto\",\n style: {\n width: \"1000px\",\n margin: \"20px\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 933\n },\n __self: this\n }, React.createElement(\"form\", {\n __source: {\n fileName: _jsxFileName,\n lineNumber: 934\n },\n __self: this\n }, React.createElement(\"div\", {\n class: \"form-group\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 935\n },\n __self: this\n }, React.createElement(\"label\", {\n for: \"inpTitle\",\n style: {\n color: \"white\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 936\n },\n __self: this\n }, \"Tittel\"), React.createElement(\"input\", {\n type: \"title\",\n value: this.title,\n onChange: function onChange(event) {\n return _this22.title = event.target.value;\n },\n class: \"form-control\",\n id: \"inpTitle\",\n \"aria-describedby\": \"titleHelp\",\n placeholder: \"Tittel p\\xE5 innlegget\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 939\n },\n __self: this\n }), React.createElement(\"small\", {\n id: \"titleHelp\",\n class: \"form-text text-muted\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 950\n },\n __self: this\n }, \"Tittlen b\\xF8r vekke interesse for innlegget ditt!\")), React.createElement(\"div\", {\n class: \"form-group\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 954\n },\n __self: this\n }, React.createElement(\"label\", {\n for: \"inpText\",\n style: {\n color: \"white\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 955\n },\n __self: this\n }, \"Forsidetekst\"), React.createElement(\"input\", {\n type: \"text\",\n value: this.titleText,\n onChange: function onChange(event) {\n return _this22.titleText = event.target.value;\n },\n class: \"form-control\",\n id: \"inptitleText\",\n placeholder: \"Forsidetekst\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 958\n },\n __self: this\n }), React.createElement(\"small\", {\n id: \"textHelp\",\n class: \"form-text text-muted\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 968\n },\n __self: this\n }, \"Denne teksten vil vises p\\xE5 forsiden sammen med tittlen og bildet ditt\")), React.createElement(\"div\", {\n class: \"form-group\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 973\n },\n __self: this\n }, React.createElement(\"label\", {\n for: \"inpCategory\",\n style: {\n color: \"white\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 974\n },\n __self: this\n }, \"Kategori som passer til innlegget ditt\"), React.createElement(\"select\", {\n class: \"form-control\",\n id: \"inpCategory\",\n value: this.category,\n onChange: function onChange(event) {\n return _this22.category = event.target.value;\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 977\n },\n __self: this\n }, React.createElement(\"option\", {\n __source: {\n fileName: _jsxFileName,\n lineNumber: 985\n },\n __self: this\n }, \"Nyheter\"), React.createElement(\"option\", {\n __source: {\n fileName: _jsxFileName,\n lineNumber: 986\n },\n __self: this\n }, \"Sport\"), React.createElement(\"option\", {\n __source: {\n fileName: _jsxFileName,\n lineNumber: 987\n },\n __self: this\n }, \"Kultur\"), React.createElement(\"option\", {\n __source: {\n fileName: _jsxFileName,\n lineNumber: 988\n },\n __self: this\n }, \"Dataspill\"), React.createElement(\"option\", {\n __source: {\n fileName: _jsxFileName,\n lineNumber: 989\n },\n __self: this\n }, \"Politikk\"))), React.createElement(\"div\", {\n class: \"form-group\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 992\n },\n __self: this\n }, React.createElement(\"label\", {\n for: \"inpInnleggstekst\",\n style: {\n color: \"white\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 993\n },\n __self: this\n }, \"Innleggstekst\"), React.createElement(\"textarea\", {\n type: \"text\",\n value: this.content,\n onChange: function onChange(event) {\n return _this22.content = event.target.value;\n },\n class: \"form-control\",\n id: \"inpContent\",\n rows: \"5\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 996\n },\n __self: this\n })), React.createElement(\"fieldset\", {\n class: \"form-group\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1007\n },\n __self: this\n }, React.createElement(\"legend\", {\n style: {\n color: \"white\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1008\n },\n __self: this\n }, \"Viktighet\"), React.createElement(\"div\", {\n class: \"form-check\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1009\n },\n __self: this\n }, React.createElement(\"label\", {\n class: \"form-check-label\",\n style: {\n color: \"white\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1010\n },\n __self: this\n }, React.createElement(\"input\", {\n type: \"radio\",\n class: \"form-check-input\",\n name: \"optionsRadios\",\n id: \"optionsRadios1\",\n value: \"1\",\n checked: true,\n onChange: function onChange(event) {\n return _this22.importance = event.target.value;\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1011\n },\n __self: this\n }), \"Veldig viktig - hvis du velger dette vil saken din vises p\\xE5 forsiden\")), React.createElement(\"div\", {\n class: \"form-check\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1026\n },\n __self: this\n }, React.createElement(\"label\", {\n class: \"form-check-label\",\n style: {\n color: \"white\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1027\n },\n __self: this\n }, React.createElement(\"input\", {\n type: \"radio\",\n class: \"form-check-input\",\n name: \"optionsRadios\",\n id: \"optionsRadios2\",\n value: \"2\",\n onChange: function onChange(event) {\n return _this22.importance = event.target.value;\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1028\n },\n __self: this\n }), \"Mindre viktig - hvis du velger dette vil saken din kun vises under kategorien du har valgt\"))), React.createElement(\"div\", {\n class: \"form-group\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1043\n },\n __self: this\n }, React.createElement(\"label\", {\n for: \"inpUrl\",\n style: {\n color: \"white\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1044\n },\n __self: this\n }, \"Url til bilde\"), React.createElement(\"input\", {\n type: \"text\",\n value: this.pictureUrl,\n onChange: function onChange(event) {\n return _this22.pictureUrl = event.target.value;\n },\n class: \"form-control\",\n id: \"inpUrl\",\n placeholder: \"https://\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1047\n },\n __self: this\n })), React.createElement(\"button\", {\n type: \"submit\",\n class: \"btn btn-primary\",\n onClick: this.save,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1058\n },\n __self: this\n }, \"Post\")));\n }\n }, {\n key: \"save\",\n value: function save() {\n console.log(this.title);\n console.log(this.importance);\n console.log(this.category);\n var day = new FindDate();\n fetch(\"http://localhost:8080/cases\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json; charset=utf-8\"\n },\n body: JSON.stringify({\n title: this.title,\n titleText: this.titleText,\n content: this.content,\n date: day.month + \" \" + day.day,\n picture: this.pictureUrl,\n category: this.category,\n importance: this.importance\n })\n });\n history.push(\"/\");\n }\n }, {\n key: \"saveOLD\",\n value: function saveOLD() {\n var day = new FindDate();\n cases.push(new NewsCase(this.title, day.month + \" \" + day.day, this.category, this.pictureUrl, this.text));\n history.push(\"/\");\n }\n }]);\n\n return NewCase;\n}(Component);\n\nvar Menu =\n/*#__PURE__*/\nfunction (_Component11) {\n _inherits(Menu, _Component11);\n\n function Menu() {\n _classCallCheck(this, Menu);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(Menu).apply(this, arguments));\n }\n\n _createClass(Menu, [{\n key: \"render\",\n value: function render() {\n return React.createElement(\"nav\", {\n class: \"navbar navbar-expand-lg navbar-dark bg-dark\",\n style: {\n background: \"#1f2226\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1108\n },\n __self: this\n }, React.createElement(NavLink, {\n class: \"navbar-brand\",\n exact: true,\n to: \"/\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1112\n },\n __self: this\n }, React.createElement(\"img\", {\n src: \"https://fanart.tv/fanart/movies/8388/hdmovielogo/three-amigos-5871a7ecacb18.png\",\n height: \"74\",\n width: \"200\",\n alt: \"G\\xE5 til forsiden\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1113\n },\n __self: this\n })), React.createElement(\"div\", {\n class: \"collapse navbar-collapse\",\n id: \"navbarNav\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1120\n },\n __self: this\n }, React.createElement(\"ul\", {\n class: \"navbar-nav\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1121\n },\n __self: this\n }, React.createElement(\"li\", {\n class: \"nav-item\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1122\n },\n __self: this\n }, React.createElement(NavLink, {\n class: \"nav-link\",\n exact: true,\n to: \"/nyheter\",\n style: {\n margin: \"20px\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1123\n },\n __self: this\n }, \"Nyheter\")), React.createElement(\"li\", {\n class: \"nav-item\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1132\n },\n __self: this\n }, React.createElement(NavLink, {\n class: \"nav-link\",\n exact: true,\n to: \"/sport\",\n style: {\n margin: \"20px\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1133\n },\n __self: this\n }, \"Sport\")), React.createElement(\"li\", {\n class: \"nav-item\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1142\n },\n __self: this\n }, React.createElement(NavLink, {\n class: \"nav-link\",\n exact: true,\n to: \"/dataspill\",\n style: {\n margin: \"20px\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1143\n },\n __self: this\n }, \"Dataspill\")), React.createElement(\"li\", {\n class: \"nav-item\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1152\n },\n __self: this\n }, React.createElement(NavLink, {\n class: \"nav-link\",\n exact: true,\n to: \"/politikk\",\n style: {\n margin: \"20px\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1153\n },\n __self: this\n }, \"Politikk\")), React.createElement(\"li\", {\n class: \"nav-item\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1162\n },\n __self: this\n }, React.createElement(NavLink, {\n class: \"nav-link\",\n exact: true,\n to: \"/kultur\",\n style: {\n margin: \"20px\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1163\n },\n __self: this\n }, \"Kultur\")))), React.createElement(\"div\", {\n class: \"collapse navbar-collapse justify-content-end\",\n id: \"navbarNav\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1174\n },\n __self: this\n }, React.createElement(\"ul\", {\n class: \"navbar-nav\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1178\n },\n __self: this\n }, React.createElement(\"li\", {\n class: \"nav-item\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1179\n },\n __self: this\n }, React.createElement(NavLink, {\n class: \"nav-link\",\n exact: true,\n to: \"/nysak\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1180\n },\n __self: this\n }, \"Skriv ny sak\")), React.createElement(\"li\", {\n class: \"nav-item\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1184\n },\n __self: this\n }, React.createElement(NavLink, {\n class: \"nav-link\",\n exact: true,\n to: \"/login\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1185\n },\n __self: this\n }, \"Logg inn\")))));\n }\n }]);\n\n return Menu;\n}(Component);\n\nvar Home =\n/*#__PURE__*/\nfunction (_Component12) {\n _inherits(Home, _Component12);\n\n function Home() {\n _classCallCheck(this, Home);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(Home).apply(this, arguments));\n }\n\n _createClass(Home, [{\n key: \"render\",\n value: function render() {\n return React.createElement(\"div\", {\n class: \"row mb-2\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1199\n },\n __self: this\n }, React.createElement(\"div\", {\n class: \"col-md-6\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1200\n },\n __self: this\n }, React.createElement(\"div\", {\n class: \"card flex-md-row mb-4 shadow-sm h-md-250\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1201\n },\n __self: this\n }, React.createElement(\"div\", {\n class: \"card-body d-flex flex-column align-items-start\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1202\n },\n __self: this\n }, React.createElement(\"strong\", {\n class: \"d-inline-block mb-2 text-success\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1203\n },\n __self: this\n }, \"Nyheter\"), React.createElement(\"h3\", {\n class: \"mb-0\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1204\n },\n __self: this\n }, React.createElement(\"a\", {\n class: \"text-dark\",\n href: \"#\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1205\n },\n __self: this\n }, \"Erna og Obama POG\")), React.createElement(\"div\", {\n class: \"mb-1 text-muted\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1209\n },\n __self: this\n }, \"Nov 11\"), React.createElement(\"p\", {\n class: \"card-text mb-auto\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1210\n },\n __self: this\n }, \"This is a wider card with supporting text below as a natural lead-in to additional content.\"), React.createElement(\"a\", {\n href: \"#\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1214\n },\n __self: this\n }, \"Les videre\")), React.createElement(\"img\", {\n class: \"card-img-right flex-auto d-none d-lg-block\",\n src: \"https://imbo.vgc.no/users/e24/images/67d7e92e93cad2001d9068302ea55253?t%5B0%5D=crop%3Awidth%3D1985%2Cheight%3D1116%2Cx%3D736%2Cy%3D111&t%5B1%5D=maxSize%3Awidth%3D990&t%5B2%5D=resize%3Awidth%3D990&accessToken=e8bac780354e3105ae6d162610b6eb6cc5cd65f39b8a1d5bf3684f217faeec30\",\n alt: \"Card image cap\",\n height: \"300px\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1216\n },\n __self: this\n }))), React.createElement(\"div\", {\n class: \"col-md-6\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1224\n },\n __self: this\n }, React.createElement(\"div\", {\n class: \"card flex-md-row mb-4 shadow-sm h-md-250\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1225\n },\n __self: this\n }, React.createElement(\"div\", {\n class: \"card-body d-flex flex-column align-items-start\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1226\n },\n __self: this\n }, React.createElement(\"strong\", {\n class: \"d-inline-block mb-2 text-success\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1227\n },\n __self: this\n }, \"Nyheter\"), React.createElement(\"h3\", {\n class: \"mb-0\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1228\n },\n __self: this\n }, React.createElement(\"a\", {\n class: \"text-dark\",\n href: \"#\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1229\n },\n __self: this\n }, \"Erna og Obama POG\")), React.createElement(\"div\", {\n class: \"mb-1 text-muted\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1233\n },\n __self: this\n }, \"Nov 11\"), React.createElement(\"p\", {\n class: \"card-text mb-auto\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1234\n },\n __self: this\n }, \"This is a wider card with supporting text below as a natural lead-in to additional content.\"), React.createElement(\"a\", {\n href: \"#\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1238\n },\n __self: this\n }, \"Les videre\")), React.createElement(\"img\", {\n class: \"card-img-right flex-auto d-none d-lg-block\",\n src: \"https://imbo.vgc.no/users/e24/images/67d7e92e93cad2001d9068302ea55253?t%5B0%5D=crop%3Awidth%3D1985%2Cheight%3D1116%2Cx%3D736%2Cy%3D111&t%5B1%5D=maxSize%3Awidth%3D990&t%5B2%5D=resize%3Awidth%3D990&accessToken=e8bac780354e3105ae6d162610b6eb6cc5cd65f39b8a1d5bf3684f217faeec30\",\n alt: \"Card image cap\",\n height: \"300px\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1240\n },\n __self: this\n }))), React.createElement(\"div\", {\n class: \"col-md-6\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1248\n },\n __self: this\n }, React.createElement(\"div\", {\n class: \"card flex-md-row mb-4 shadow-sm h-md-250\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1249\n },\n __self: this\n }, React.createElement(\"div\", {\n class: \"card-body d-flex flex-column align-items-start\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1250\n },\n __self: this\n }, React.createElement(\"strong\", {\n class: \"d-inline-block mb-2 text-success\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1251\n },\n __self: this\n }, \"Nyheter\"), React.createElement(\"h3\", {\n class: \"mb-0\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1252\n },\n __self: this\n }, React.createElement(\"a\", {\n class: \"text-dark\",\n href: \"#\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1253\n },\n __self: this\n }, \"Erna og Obama POG\")), React.createElement(\"div\", {\n class: \"mb-1 text-muted\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1257\n },\n __self: this\n }, \"Nov 11\"), React.createElement(\"p\", {\n class: \"card-text mb-auto\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1258\n },\n __self: this\n }, \"This is a wider card with supporting text below as a natural lead-in to additional content.\"), React.createElement(\"a\", {\n href: \"#\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1262\n },\n __self: this\n }, \"Les videre\")), React.createElement(\"img\", {\n class: \"card-img-right flex-auto d-none d-lg-block\",\n src: \"https://imbo.vgc.no/users/e24/images/67d7e92e93cad2001d9068302ea55253?t%5B0%5D=crop%3Awidth%3D1985%2Cheight%3D1116%2Cx%3D736%2Cy%3D111&t%5B1%5D=maxSize%3Awidth%3D990&t%5B2%5D=resize%3Awidth%3D990&accessToken=e8bac780354e3105ae6d162610b6eb6cc5cd65f39b8a1d5bf3684f217faeec30\",\n alt: \"Card image cap\",\n height: \"300px\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1264\n },\n __self: this\n }))));\n }\n }]);\n\n return Home;\n}(Component);\n\nvar CaseDetails =\n/*#__PURE__*/\nfunction (_Component13) {\n _inherits(CaseDetails, _Component13);\n\n function CaseDetails(props) {\n var _this23;\n\n _classCallCheck(this, CaseDetails);\n\n _this23 = _possibleConstructorReturn(this, _getPrototypeOf(CaseDetails).call(this, props));\n _this23.state = {\n error: null,\n isLoaded: false,\n items: []\n };\n return _this23;\n }\n\n _createClass(CaseDetails, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this24 = this;\n\n var url = \"http://localhost:8080/casesall/\" + this.props.match.params.id;\n console.log(url);\n fetch(url, {\n method: \"GET\"\n }).then(function (res) {\n return res.json();\n }) //.then(json => console.log(JSON.stringify(json)))\n .then(function (res) {\n console.log(res);\n\n _this24.setState({\n isLoaded: true,\n items: res\n });\n }, function (error) {\n _this24.setState({\n isLoaded: true,\n error: error\n });\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$state11 = this.state,\n error = _this$state11.error,\n isLoaded = _this$state11.isLoaded,\n items = _this$state11.items;\n\n if (error) {\n return React.createElement(\"div\", {\n style: {\n margin: \"1000px\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1316\n },\n __self: this\n }, \"Error: \", error.message);\n } else if (!isLoaded) {\n return React.createElement(\"div\", {\n style: {\n margin: \"1000px\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1318\n },\n __self: this\n }, \"Loading...\");\n } else {\n return React.createElement(\"div\", {\n class: \"mx-auto\",\n style: {\n background: \"#24282c\",\n height: \"4000px\",\n width: \"1500px\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1321\n },\n __self: this\n }, React.createElement(\"div\", {\n class: \"col-md-8 blog-main\",\n style: {\n margin: \"20px\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1325\n },\n __self: this\n }, items.map(function (NewsCase) {\n return React.createElement(\"div\", {\n class: \"blog-post\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1327\n },\n __self: this\n }, React.createElement(\"h2\", {\n class: \"blog-post-title\",\n style: {\n color: \"white\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1328\n },\n __self: this\n }, NewsCase.title), React.createElement(\"p\", {\n class: \"blog-post-meta\",\n style: {\n color: \"white\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1331\n },\n __self: this\n }, NewsCase.date), React.createElement(\"p\", {\n style: {\n color: \"white\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1335\n },\n __self: this\n }, NewsCase.titleText), React.createElement(\"img\", {\n src: NewsCase.picture,\n height: \"300px\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1336\n },\n __self: this\n }), React.createElement(\"hr\", {\n style: {\n bordercolor: \"white\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1337\n },\n __self: this\n }), React.createElement(\"p\", {\n style: {\n color: \"white\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1338\n },\n __self: this\n }, NewsCase.text), React.createElement(\"p\", {\n style: {\n color: \"white\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1339\n },\n __self: this\n }, NewsCase.content));\n })));\n }\n }\n }]);\n\n return CaseDetails;\n}(Component);\n\nvar StudentList =\n/*#__PURE__*/\nfunction (_Component14) {\n _inherits(StudentList, _Component14);\n\n function StudentList() {\n _classCallCheck(this, StudentList);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(StudentList).apply(this, arguments));\n }\n\n _createClass(StudentList, [{\n key: \"render\",\n value: function render() {\n return React.createElement(\"ul\", {\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1352\n },\n __self: this\n }, students.map(function (student) {\n return React.createElement(\"li\", {\n key: student.email,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1354\n },\n __self: this\n }, React.createElement(NavLink, {\n activeStyle: {\n color: \"darkblue\"\n },\n exact: true,\n to: \"/students/\" + student.id,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1355\n },\n __self: this\n }, student.firstName, \" \", student.lastName), \" \", React.createElement(NavLink, {\n activeStyle: {\n color: \"darkblue\"\n },\n to: \"/students/\" + student.id + \"/edit\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1362\n },\n __self: this\n }, \"edit\"));\n }));\n }\n }]);\n\n return StudentList;\n}(Component);\n\nvar StudentDetails =\n/*#__PURE__*/\nfunction (_Component15) {\n _inherits(StudentDetails, _Component15);\n\n function StudentDetails() {\n _classCallCheck(this, StudentDetails);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(StudentDetails).apply(this, arguments));\n }\n\n _createClass(StudentDetails, [{\n key: \"render\",\n value: function render() {\n var _this25 = this;\n\n var student = students.find(function (student) {\n return student.id == _this25.props.match.params.id;\n });\n\n if (!student) {\n Alert.danger(\"Student not found: \" + this.props.match.params.id);\n return null; // Return empty object (nothing to render)\n }\n\n return React.createElement(\"div\", {\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1385\n },\n __self: this\n }, React.createElement(\"ul\", {\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1386\n },\n __self: this\n }, React.createElement(\"li\", {\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1387\n },\n __self: this\n }, \"First name: \", student.firstName), React.createElement(\"li\", {\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1388\n },\n __self: this\n }, \"Last name: \", student.lastName), React.createElement(\"li\", {\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1389\n },\n __self: this\n }, \"Email: \", student.email)));\n }\n }]);\n\n return StudentDetails;\n}(Component);\n\nvar Dropdown =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inherits(Dropdown, _React$Component);\n\n function Dropdown() {\n var _getPrototypeOf3;\n\n var _this26;\n\n _classCallCheck(this, Dropdown);\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n _this26 = _possibleConstructorReturn(this, (_getPrototypeOf3 = _getPrototypeOf(Dropdown)).call.apply(_getPrototypeOf3, [this].concat(args)));\n _this26.state = {\n isOpen: false\n };\n\n _this26.toggleOpen = function () {\n return _this26.setState({\n isOpen: !_this26.state.isOpen\n });\n };\n\n return _this26;\n }\n\n _createClass(Dropdown, [{\n key: \"render\",\n value: function render() {\n var menuClass = \"dropdown-menu\".concat(this.state.isOpen ? \" show\" : \"\");\n return React.createElement(HashRouter, {\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1406\n },\n __self: this\n }, React.createElement(\"div\", {\n className: \"dropdown\",\n onClick: this.toggleOpen,\n style: {\n margin: \"20px\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1407\n },\n __self: this\n }, React.createElement(\"button\", {\n className: \"btn btn-secondary dropdown-toggle\",\n type: \"button\",\n id: \"dropdownMenuButton\",\n \"data-toggle\": \"dropdown\",\n \"aria-haspopup\": \"true\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1412\n },\n __self: this\n }, \"Flere kategorier\"), React.createElement(\"div\", {\n className: menuClass,\n \"aria-labelledby\": \"dropdownMenuButton\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1421\n },\n __self: this\n }, React.createElement(NavLink, {\n className: \"dropdown-item\",\n to: \"/nyheter\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1422\n },\n __self: this\n }, \"Dataspill\"), React.createElement(NavLink, {\n className: \"dropdown-item\",\n to: \"/sport\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1425\n },\n __self: this\n }, \"Politikk\"), React.createElement(NavLink, {\n className: \"dropdown-item\",\n to: \"/kultur\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1428\n },\n __self: this\n }, \"Dank memes\"))));\n }\n }]);\n\n return Dropdown;\n}(React.Component);\n\nReactDOM.render(React.createElement(Dropdown, {\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1438\n },\n __self: this\n}), document.getElementById(\"root\"));\n\nvar StudentEdit =\n/*#__PURE__*/\nfunction (_Component16) {\n _inherits(StudentEdit, _Component16);\n\n function StudentEdit() {\n var _getPrototypeOf4;\n\n var _this27;\n\n _classCallCheck(this, StudentEdit);\n\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n _this27 = _possibleConstructorReturn(this, (_getPrototypeOf4 = _getPrototypeOf(StudentEdit)).call.apply(_getPrototypeOf4, [this].concat(args)));\n _this27.firstName = \"\";\n _this27.lastName = \"\";\n _this27.email = \"\";\n return _this27;\n }\n\n _createClass(StudentEdit, [{\n key: \"render\",\n value: function render() {\n var _this28 = this;\n\n return React.createElement(\"form\", {\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1447\n },\n __self: this\n }, React.createElement(\"ul\", {\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1448\n },\n __self: this\n }, React.createElement(\"li\", {\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1449\n },\n __self: this\n }, \"First name:\", \" \", React.createElement(\"input\", {\n type: \"text\",\n value: this.firstName,\n onChange: function onChange(event) {\n return _this28.firstName = event.target.value;\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1451\n },\n __self: this\n })), React.createElement(\"li\", {\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1459\n },\n __self: this\n }, \"Last name:\", \" \", React.createElement(\"input\", {\n type: \"text\",\n value: this.lastName,\n onChange: function onChange(event) {\n return _this28.lastName = event.target.value;\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1461\n },\n __self: this\n })), React.createElement(\"li\", {\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1469\n },\n __self: this\n }, \"Email:\", \" \", React.createElement(\"input\", {\n type: \"text\",\n value: this.email,\n onChange: function onChange(event) {\n return _this28.email = event.target.value;\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1471\n },\n __self: this\n }))), React.createElement(\"button\", {\n type: \"button\",\n onClick: this.save,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1480\n },\n __self: this\n }, \"Save\"));\n } // Initialize component state (firstName, lastName, email) when the component has been inserted into the DOM (mounted)\n\n }, {\n key: \"mounted\",\n value: function mounted() {\n var _this29 = this;\n\n var student = students.find(function (student) {\n return student.id == _this29.props.match.params.id;\n });\n\n if (!student) {\n Alert.danger(\"Student not found: \" + this.props.match.params.id);\n return;\n }\n\n this.firstName = student.firstName;\n this.lastName = student.lastName;\n this.email = student.email;\n }\n }, {\n key: \"save\",\n value: function save() {\n var _this30 = this;\n\n var student = students.find(function (student) {\n return student.id == _this30.props.match.params.id;\n });\n\n if (!student) {\n Alert.danger(\"Student not found: \" + this.props.match.params.id);\n return;\n }\n\n student.firstName = this.firstName;\n student.lastName = this.lastName;\n student.email = this.email; // Go to StudentDetails after successful save\n\n history.push(\"/students/\" + student.id);\n }\n }]);\n\n return StudentEdit;\n}(Component);\n\nfunction studentsLoad() {\n history.push(\"/students/\");\n}\n\nvar root = document.getElementById(\"root\");\nif (root) ReactDOM.render(React.createElement(HashRouter, {\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1527\n },\n __self: this\n}, React.createElement(\"div\", {\n style: {\n background: \"#24282c\"\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1528\n },\n __self: this\n}, React.createElement(Alert, {\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1529\n },\n __self: this\n}), React.createElement(Menu, {\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1530\n },\n __self: this\n}), React.createElement(LatestCases, {\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1531\n },\n __self: this\n}), React.createElement(Route, {\n exact: true,\n path: \"/\",\n component: NewsList,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1532\n },\n __self: this\n}), React.createElement(Route, {\n path: \"/nysak\",\n component: NewCase,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1533\n },\n __self: this\n}), React.createElement(Route, {\n path: \"/nysak\",\n component: DeleteAndEdit,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1534\n },\n __self: this\n}), React.createElement(Route, {\n exact: true,\n path: \"/nyheter\",\n component: OnlyNewsList,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1535\n },\n __self: this\n}), React.createElement(Route, {\n exact: true,\n path: \"/sport\",\n component: SportList,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1536\n },\n __self: this\n}), React.createElement(Route, {\n exact: true,\n path: \"/kultur\",\n component: CultureList,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1537\n },\n __self: this\n}), React.createElement(Route, {\n exact: true,\n path: \"/dataspill\",\n component: GamesList,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1538\n },\n __self: this\n}), React.createElement(Route, {\n exact: true,\n path: \"/politikk\",\n component: PoliticsList,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1539\n },\n __self: this\n}), React.createElement(Route, {\n exact: true,\n path: \"/:id\",\n component: CaseDetails,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1540\n },\n __self: this\n}), React.createElement(Route, {\n exact: true,\n path: \"/nyheter/:id\",\n component: CaseDetails,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1541\n },\n __self: this\n}), React.createElement(Route, {\n exact: true,\n path: \"/sport/:id\",\n component: CaseDetails,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1542\n },\n __self: this\n}), React.createElement(Route, {\n exact: true,\n path: \"/kultur/:id\",\n component: CaseDetails,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1543\n },\n __self: this\n}), React.createElement(Route, {\n exact: true,\n path: \"/dataspill/:id\",\n component: CaseDetails,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1544\n },\n __self: this\n}), React.createElement(Route, {\n exact: true,\n path: \"/politikk/:id\",\n component: CaseDetails,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1545\n },\n __self: this\n}), React.createElement(Route, {\n exact: true,\n path: \"/edit/:id\",\n component: CaseEdit,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1546\n },\n __self: this\n}))), root);","map":{"version":3,"sources":["C:\\Users\\patri\\OneDrive\\Dokumenter\\NTNU Data\\Systemutvikling 2 med web-applikasjoner\\Oving3og12\\oving3__12\\Oving12jaja\\src\\index.js"],"names":["ReactDOM","React","Component","HashRouter","Route","NavLink","Alert","createHashHistory","history","Student","firstName","lastName","email","id","nextId","students","today","Date","dd","getDate","mm","getMonth","yyyy","getFullYear","findMonth","month","FindDate","day","NewsCase","title","date","category","pictureUrl","text","cases","LatestCases","props","state","error","isLoaded","items","fetch","method","then","res","json","console","log","setState","width","margin","top","map","NewsList","message","background","color","titleText","picture","OnlyNewsList","SportList","CultureList","GamesList","PoliticsList","DeleteAndEdit","match","params","float","delete","bind","url","newscase","CaseEdit","content","height","event","target","value","edit","headers","body","JSON","stringify","NewCase","importance","save","push","Menu","Home","CaseDetails","bordercolor","StudentList","student","StudentDetails","find","danger","Dropdown","isOpen","toggleOpen","menuClass","render","document","getElementById","StudentEdit","studentsLoad","root"],"mappings":"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","sourcesContent":["// @flow\r\n/* eslint eqeqeq: \"off\" */\r\n\r\nimport ReactDOM from \"react-dom\";\r\nimport * as React from \"react\";\r\nimport { Component } from \"react-simplified\";\r\nimport { HashRouter, Route, NavLink } from \"react-router-dom\";\r\nimport { Alert } from \"./widgets\";\r\nimport \"bootstrap/dist/css/bootstrap.min.css\";\r\n\r\nimport createHashHistory from \"history/createHashHistory\";\r\nconst history = createHashHistory(); // Use history.push(...) to programmatically change path, for instance after successfully saving a student\r\n\r\nclass Student {\r\n id: number;\r\n static nextId = 1;\r\n\r\n firstName: string;\r\n lastName: string;\r\n email: string;\r\n\r\n constructor(firstName: string, lastName: string, email: string) {\r\n this.id = Student.nextId++;\r\n this.firstName = firstName;\r\n this.lastName = lastName;\r\n this.email = email;\r\n }\r\n}\r\nlet students = [\r\n new Student(\"Ola\", \"Jensen\", \"ola.jensen@ntnu.no\"),\r\n new Student(\"Kari\", \"Larsen\", \"kari.larsen@ntnu.no\")\r\n];\r\n\r\nvar today = new Date();\r\nvar dd = today.getDate();\r\nvar mm = today.getMonth() + 1; //January is 0!\r\nvar yyyy = today.getFullYear();\r\n\r\nfunction findMonth(month: number) {\r\n if (month > 12) {\r\n return null;\r\n } else if (month < 1) {\r\n return null;\r\n } else if (month == 1) {\r\n return \"Jan\";\r\n } else if (month == 10) {\r\n return \"Oct\";\r\n }\r\n}\r\n\r\nclass FindDate {\r\n day: number;\r\n month;\r\n\r\n constructor() {\r\n var today = new Date();\r\n this.day = today.getDate();\r\n this.month = today.getMonth() + 1;\r\n if (this.month == 1) {\r\n this.month = \"Jan\";\r\n } else if (this.month == 10) {\r\n this.month = \"Okt\";\r\n } else if (this.month == 2) {\r\n this.month = \"Feb\";\r\n } else if (this.month == 3) {\r\n this.month = \"Mar\";\r\n } else if (this.month == 4) {\r\n this.month = \"Apr\";\r\n } else if (this.month == 5) {\r\n this.month = \"May\";\r\n } else if (this.month == 6) {\r\n this.month = \"Jun\";\r\n } else if (this.month == 7) {\r\n this.month = \"Jul\";\r\n } else if (this.month == 8) {\r\n this.month = \"Aug\";\r\n } else if (this.month == 9) {\r\n this.month = \"Sep\";\r\n } else if (this.month == 11) {\r\n this.month = \"Nov\";\r\n } else {\r\n this.month = \"Des\";\r\n }\r\n }\r\n}\r\n\r\nclass NewsCase {\r\n id: number;\r\n static nextId = 1;\r\n\r\n title: string;\r\n date: string;\r\n category: string;\r\n pictureUrl: string;\r\n text: string;\r\n\r\n constructor(\r\n title: string,\r\n date: string,\r\n category: string,\r\n pictureUrl: string,\r\n text: string\r\n ) {\r\n this.title = title;\r\n this.date = date;\r\n this.category = category;\r\n this.pictureUrl = pictureUrl;\r\n this.text = text;\r\n }\r\n}\r\n\r\nlet cases = [\r\n new NewsCase(\r\n \"Oilers forbi Vålerenga på tabellen\",\r\n \"Oct 21\",\r\n \"Sport\",\r\n \"https://smp.vgc.no/v2/images/313edf09-be76-4254-9320-cb406477d843?fit=crop&h=1267&w=1900&s=55488cd2bf0654c01d34e940180d9009a60f6c48\",\r\n \"(Vålerenga-Stavanger Oilers 1–3) Med en sterk borteseier i hovedstaden tok Stavanger Oilers seg forbi Vålerenga på tabellen.\"\r\n ),\r\n new NewsCase(\r\n \"PUBG beklager servertrøbbel og gir spillere en lue som plaster på såret\",\r\n \"Oct 22\",\r\n \"Dataspill\",\r\n \"https://o.aolcdn.com/images/dims?quality=100&image_uri=http%3A%2F%2Fo.aolcdn.com%2Fhss%2Fstorage%2Fmidas%2F8db17a3120d671ee6a2427ea1d8c53ec%2F206345127%2Fpubg-ed.jpg&client=amp-blogside-v2&signature=edeb4e9fba9137e8c59df7fa4a4ea85badd42c74\",\r\n \"Utvikleren har også sluppet detaljer om spillets neste oppdatering.\"\r\n ),\r\n new NewsCase(\r\n \"Dette er verdens beste turistby\",\r\n \"Oct 10\",\r\n \"Kultur\",\r\n \"https://vgc.no/drfront/images/2018/10/23/c=139,51,1162,1162;w=318;h=318;430949.jpg\",\r\n \"Det er ikke bare deilig å være norsk i Danmark. Alle kan føle seg vel i København. Så vel at byen nå troner på toppen av Lonely Planets prestisjetunge ti-på-topp-liste for byer i 2019.\"\r\n )\r\n //new NewsCase(\r\n // \"Jakob er teit\",\r\n // \"Nov 2\",\r\n // \"Politikk\",\r\n // \"https://scontent-arn2-1.xx.fbcdn.net/v/t1.0-0/p206x206/296213_166901403389133_326271926_n.jpg?_nc_cat=106&_nc_ht=scontent-arn2-1.xx&oh=bce76d678cedb7290b4e99409087f639&oe=5C890A75\",\r\n // \"Jakob er en liten shitkid som liker å drite på andres dører xd\"\r\n //)\r\n];\r\n\r\nclass LatestCases extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n error: null,\r\n isLoaded: false,\r\n items: []\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n fetch(\"http://localhost:8080/caseslatest\", {\r\n method: \"GET\"\r\n })\r\n .then(res => res.json())\r\n //.then(json => console.log(JSON.stringify(json)))\r\n .then(\r\n res => {\r\n console.log(res);\r\n this.setState({\r\n isLoaded: true,\r\n items: res\r\n });\r\n },\r\n error => {\r\n this.setState({\r\n isLoaded: true,\r\n error\r\n });\r\n }\r\n );\r\n }\r\n\r\n render() {\r\n const { error, isLoaded, items } = this.state;\r\n var text = \"\";\r\n return (\r\n <div\r\n class=\"card\"\r\n style={{ width: \"1750px\", margin: \"auto\", top: \"10px\" }}\r\n >\r\n <div class=\"card-body\">\r\n <marquee>\r\n {items.map(NewsCase => (\r\n <b style={{ margin: \"100px\" }}>\r\n {NewsCase.title} - {NewsCase.date}\r\n </b>\r\n ))}\r\n </marquee>\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n\r\nclass NewsList extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n error: null,\r\n isLoaded: false,\r\n items: []\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n fetch(\"http://localhost:8080/cases\", {\r\n method: \"GET\"\r\n })\r\n .then(res => res.json())\r\n //.then(json => console.log(JSON.stringify(json)))\r\n .then(\r\n res => {\r\n console.log(res);\r\n this.setState({\r\n isLoaded: true,\r\n items: res\r\n });\r\n },\r\n error => {\r\n this.setState({\r\n isLoaded: true,\r\n error\r\n });\r\n }\r\n );\r\n }\r\n\r\n render() {\r\n const { error, isLoaded, items } = this.state;\r\n if (error) {\r\n return <div>Error: {error.message}</div>;\r\n } else if (!isLoaded) {\r\n return <div>Loading...</div>;\r\n } else {\r\n return (\r\n <div style={{ background: \"#24282c\" }}>\r\n <div class=\"row mb-2\" style={{ margin: \"20px\" }}>\r\n {items.map(NewsCase => (\r\n <div class=\"col-md-6\" key={NewsCase.id}>\r\n <div\r\n class=\"card flex-md-row mb-4 shadow-sm h-md-250\"\r\n style={{ background: \"#1f2226\" }}\r\n >\r\n <div class=\"card-body d-flex flex-column align-items-start\">\r\n <strong\r\n class=\"d-inline-block mb-2 text-success\"\r\n style={{ color: \"white\" }}\r\n >\r\n {NewsCase.category}\r\n </strong>\r\n <h3 class=\"mb-0\">\r\n <a class=\"text-light\" href=\"#\">\r\n {NewsCase.title}\r\n </a>\r\n </h3>\r\n <div class=\"mb-1 text-muted\">{NewsCase.date}</div>\r\n <p class=\"card-text mb-auto\" style={{ color: \"white\" }}>\r\n {NewsCase.titleText}\r\n </p>\r\n <NavLink exact to={\"/\" + NewsCase.id}>\r\n Les videre\r\n </NavLink>\r\n </div>\r\n <img\r\n class=\"card-img-right flex-auto d-none d-lg-block\"\r\n src={NewsCase.picture}\r\n alt=\"Card image cap\"\r\n height=\"300px\"\r\n />\r\n </div>\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n );\r\n }\r\n }\r\n}\r\n\r\nclass OnlyNewsList extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n error: null,\r\n isLoaded: false,\r\n items: []\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n fetch(\"http://localhost:8080/newslist\", {\r\n method: \"GET\"\r\n })\r\n .then(res => res.json())\r\n //.then(json => console.log(JSON.stringify(json)))\r\n .then(\r\n res => {\r\n console.log(res);\r\n this.setState({\r\n isLoaded: true,\r\n items: res\r\n });\r\n },\r\n error => {\r\n this.setState({\r\n isLoaded: true,\r\n error\r\n });\r\n }\r\n );\r\n }\r\n\r\n render() {\r\n const { error, isLoaded, items } = this.state;\r\n if (error) {\r\n return <div>Error: {error.message}</div>;\r\n } else if (!isLoaded) {\r\n return <div>Loading...</div>;\r\n } else {\r\n return (\r\n <div style={{ background: \"#a6a6a6\" }}>\r\n <div class=\"row mb-2\" style={{ margin: \"20px\" }}>\r\n {items.map(NewsCase => (\r\n <div class=\"col-md-6\" key={NewsCase.id}>\r\n <div\r\n class=\"card flex-md-row mb-4 shadow-sm h-md-250\"\r\n style={{ background: \"#f2f2f2\" }}\r\n >\r\n <div class=\"card-body d-flex flex-column align-items-start\">\r\n <strong class=\"d-inline-block mb-2 text-success\">\r\n {NewsCase.category}\r\n </strong>\r\n <h3 class=\"mb-0\">\r\n <a class=\"text-dark\" href=\"#\">\r\n {NewsCase.title}\r\n </a>\r\n </h3>\r\n <div class=\"mb-1 text-muted\">{NewsCase.date}</div>\r\n <p class=\"card-text mb-auto\">{NewsCase.titleText}</p>\r\n <a href=\"#\">Les videre</a>\r\n </div>\r\n <img\r\n class=\"card-img-right flex-auto d-none d-lg-block\"\r\n src={NewsCase.picture}\r\n alt=\"Card image cap\"\r\n height=\"300px\"\r\n />\r\n </div>\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n );\r\n }\r\n }\r\n}\r\n\r\nclass SportList extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n error: null,\r\n isLoaded: false,\r\n items: []\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n fetch(\"http://localhost:8080/sportlist\", {\r\n method: \"GET\"\r\n })\r\n .then(res => res.json())\r\n //.then(json => console.log(JSON.stringify(json)))\r\n .then(\r\n res => {\r\n console.log(res);\r\n this.setState({\r\n isLoaded: true,\r\n items: res\r\n });\r\n },\r\n error => {\r\n this.setState({\r\n isLoaded: true,\r\n error\r\n });\r\n }\r\n );\r\n }\r\n\r\n render() {\r\n const { error, isLoaded, items } = this.state;\r\n if (error) {\r\n return <div>Error: {error.message}</div>;\r\n } else if (!isLoaded) {\r\n return <div>Loading...</div>;\r\n } else {\r\n return (\r\n <div style={{ background: \"#a6a6a6\" }}>\r\n <div class=\"row mb-2\" style={{ margin: \"20px\" }}>\r\n {items.map(NewsCase => (\r\n <div class=\"col-md-6\" key={NewsCase.id}>\r\n <div\r\n class=\"card flex-md-row mb-4 shadow-sm h-md-250\"\r\n style={{ background: \"#f2f2f2\" }}\r\n >\r\n <div class=\"card-body d-flex flex-column align-items-start\">\r\n <strong class=\"d-inline-block mb-2 text-success\">\r\n {NewsCase.category}\r\n </strong>\r\n <h3 class=\"mb-0\">\r\n <a class=\"text-dark\" href=\"#\">\r\n {NewsCase.title}\r\n </a>\r\n </h3>\r\n <div class=\"mb-1 text-muted\">{NewsCase.date}</div>\r\n <p class=\"card-text mb-auto\">{NewsCase.titleText}</p>\r\n <a href=\"#\">Les videre</a>\r\n </div>\r\n <img\r\n class=\"card-img-right flex-auto d-none d-lg-block\"\r\n src={NewsCase.picture}\r\n alt=\"Card image cap\"\r\n height=\"300px\"\r\n />\r\n </div>\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n );\r\n }\r\n }\r\n}\r\n\r\nclass CultureList extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n error: null,\r\n isLoaded: false,\r\n items: []\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n fetch(\"http://localhost:8080/culturelist\", {\r\n method: \"GET\"\r\n })\r\n .then(res => res.json())\r\n //.then(json => console.log(JSON.stringify(json)))\r\n .then(\r\n res => {\r\n console.log(res);\r\n this.setState({\r\n isLoaded: true,\r\n items: res\r\n });\r\n },\r\n error => {\r\n this.setState({\r\n isLoaded: true,\r\n error\r\n });\r\n }\r\n );\r\n }\r\n\r\n render() {\r\n const { error, isLoaded, items } = this.state;\r\n if (error) {\r\n return <div>Error: {error.message}</div>;\r\n } else if (!isLoaded) {\r\n return <div>Loading...</div>;\r\n } else {\r\n return (\r\n <div style={{ background: \"#a6a6a6\" }}>\r\n <div class=\"row mb-2\" style={{ margin: \"20px\" }}>\r\n {items.map(NewsCase => (\r\n <div class=\"col-md-6\" key={NewsCase.id}>\r\n <div\r\n class=\"card flex-md-row mb-4 shadow-sm h-md-250\"\r\n style={{ background: \"#f2f2f2\" }}\r\n >\r\n <div class=\"card-body d-flex flex-column align-items-start\">\r\n <strong class=\"d-inline-block mb-2 text-success\">\r\n {NewsCase.category}\r\n </strong>\r\n <h3 class=\"mb-0\">\r\n <a class=\"text-dark\" href=\"#\">\r\n {NewsCase.title}\r\n </a>\r\n </h3>\r\n <div class=\"mb-1 text-muted\">{NewsCase.date}</div>\r\n <p class=\"card-text mb-auto\">{NewsCase.titleText}</p>\r\n <a href=\"#\">Les videre</a>\r\n </div>\r\n <img\r\n class=\"card-img-right flex-auto d-none d-lg-block\"\r\n src={NewsCase.picture}\r\n alt=\"Card image cap\"\r\n height=\"300px\"\r\n />\r\n </div>\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n );\r\n }\r\n }\r\n}\r\n\r\nclass GamesList extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n error: null,\r\n isLoaded: false,\r\n items: []\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n fetch(\"http://localhost:8080/gameslist\", {\r\n method: \"GET\"\r\n })\r\n .then(res => res.json())\r\n //.then(json => console.log(JSON.stringify(json)))\r\n .then(\r\n res => {\r\n console.log(res);\r\n this.setState({\r\n isLoaded: true,\r\n items: res\r\n });\r\n },\r\n error => {\r\n this.setState({\r\n isLoaded: true,\r\n error\r\n });\r\n }\r\n );\r\n }\r\n\r\n render() {\r\n const { error, isLoaded, items } = this.state;\r\n if (error) {\r\n return <div>Error: {error.message}</div>;\r\n } else if (!isLoaded) {\r\n return <div>Loading...</div>;\r\n } else {\r\n return (\r\n <div style={{ background: \"#a6a6a6\" }}>\r\n <div class=\"row mb-2\" style={{ margin: \"20px\" }}>\r\n {items.map(NewsCase => (\r\n <div class=\"col-md-6\" key={NewsCase.id}>\r\n <div\r\n class=\"card flex-md-row mb-4 shadow-sm h-md-250\"\r\n style={{ background: \"#f2f2f2\" }}\r\n >\r\n <div class=\"card-body d-flex flex-column align-items-start\">\r\n <strong class=\"d-inline-block mb-2 text-success\">\r\n {NewsCase.category}\r\n </strong>\r\n <h3 class=\"mb-0\">\r\n <a class=\"text-dark\" href=\"#\">\r\n {NewsCase.title}\r\n </a>\r\n </h3>\r\n <div class=\"mb-1 text-muted\">{NewsCase.date}</div>\r\n <p class=\"card-text mb-auto\">{NewsCase.titleText}</p>\r\n <a href=\"#\">Les videre</a>\r\n </div>\r\n <img\r\n class=\"card-img-right flex-auto d-none d-lg-block\"\r\n src={NewsCase.picture}\r\n alt=\"Card image cap\"\r\n height=\"300px\"\r\n />\r\n </div>\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n );\r\n }\r\n }\r\n}\r\n\r\nclass PoliticsList extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n error: null,\r\n isLoaded: false,\r\n items: []\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n fetch(\"http://localhost:8080/politicslist\", {\r\n method: \"GET\"\r\n })\r\n .then(res => res.json())\r\n //.then(json => console.log(JSON.stringify(json)))\r\n .then(\r\n res => {\r\n console.log(res);\r\n this.setState({\r\n isLoaded: true,\r\n items: res\r\n });\r\n },\r\n error => {\r\n this.setState({\r\n isLoaded: true,\r\n error\r\n });\r\n }\r\n );\r\n }\r\n\r\n render() {\r\n const { error, isLoaded, items } = this.state;\r\n if (error) {\r\n return <div>Error: {error.message}</div>;\r\n } else if (!isLoaded) {\r\n return <div>Loading...</div>;\r\n } else {\r\n return (\r\n <div style={{ background: \"#a6a6a6\" }}>\r\n <div class=\"row mb-2\" style={{ margin: \"20px\" }}>\r\n {items.map(NewsCase => (\r\n <div class=\"col-md-6\" key={NewsCase.id}>\r\n <div\r\n class=\"card flex-md-row mb-4 shadow-sm h-md-250\"\r\n style={{ background: \"#f2f2f2\" }}\r\n >\r\n <div class=\"card-body d-flex flex-column align-items-start\">\r\n <strong class=\"d-inline-block mb-2 text-success\">\r\n {NewsCase.category}\r\n </strong>\r\n <h3 class=\"mb-0\">\r\n <a class=\"text-dark\" href=\"#\">\r\n {NewsCase.title}\r\n </a>\r\n </h3>\r\n <div class=\"mb-1 text-muted\">{NewsCase.date}</div>\r\n <p class=\"card-text mb-auto\">{NewsCase.titleText}</p>\r\n <a href=\"#\">Les videre</a>\r\n </div>\r\n <img\r\n class=\"card-img-right flex-auto d-none d-lg-block\"\r\n src={NewsCase.picture}\r\n alt=\"Card image cap\"\r\n height=\"300px\"\r\n />\r\n </div>\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n );\r\n }\r\n }\r\n}\r\n\r\nclass DeleteAndEdit extends Component<{\r\n match: { params: { id: number } }\r\n}> {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n error: null,\r\n isLoaded: false,\r\n items: []\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n console.log(this.props.match.params.id);\r\n fetch(\"http://localhost:8080/casesall\", {\r\n method: \"GET\"\r\n })\r\n .then(res => res.json())\r\n //.then(json => console.log(JSON.stringify(json)))\r\n .then(\r\n res => {\r\n console.log(res);\r\n this.setState({\r\n isLoaded: true,\r\n items: res\r\n });\r\n },\r\n error => {\r\n this.setState({\r\n isLoaded: true,\r\n error\r\n });\r\n }\r\n );\r\n }\r\n\r\n render() {\r\n const { error, isLoaded, items } = this.state;\r\n if (error) {\r\n return <div>Error: {error.message}</div>;\r\n } else if (!isLoaded) {\r\n return <div>Loading...</div>;\r\n } else {\r\n return (\r\n <div>\r\n <li\r\n class=\"list-group list-group-item-action\"\r\n style={{ width: \"1000px\" }}\r\n key={NewsCase.id}\r\n >\r\n {items.map(NewsCase => (\r\n <li\r\n class=\"list-group-item list-group-item-action\"\r\n key={NewsCase.id}\r\n >\r\n {NewsCase.title} - {NewsCase.date}\r\n <NavLink\r\n style={{ float: \"right\" }}\r\n exact\r\n to={\"/edit/\" + NewsCase.id}\r\n class=\"btn btn-primary\"\r\n >\r\n Edit\r\n </NavLink>\r\n <button\r\n type=\"delete\"\r\n class=\"btn btn-danger\"\r\n onClick={this.delete.bind(null, NewsCase.id)}\r\n style={{ margin: \"10px\", float: \"right\" }}\r\n >\r\n Delete\r\n </button>\r\n </li>\r\n ))}\r\n </li>\r\n </div>\r\n );\r\n }\r\n }\r\n\r\n delete(id: number) {\r\n const { error, isLoaded, items } = this.state;\r\n console.log(id);\r\n var url = \"http://localhost:8080/cases/\" + id;\r\n console.log(url);\r\n fetch(url, {\r\n method: \"DELETE\"\r\n }).then(res => res.json());\r\n this.setState({ state: this.state });\r\n }\r\n\r\n edit(newscase: NewsCase) {\r\n console.log(newscase);\r\n var url = \"http://localhost:8080/cases/\" + newscase.id;\r\n console.log(url);\r\n return (\r\n <div style={{ margin: \"\" }}>\r\n <p style={{ color: \"white\", margin: \"1000px\" }}>Hei</p>\r\n </div>\r\n );\r\n }\r\n}\r\n\r\nclass CaseEdit extends Component<{\r\n match: { params: { id: number } }\r\n}> {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n error: null,\r\n isLoaded: false,\r\n items: []\r\n };\r\n }\r\n\r\n title = \"\";\r\n titleText = \"\";\r\n content = \"\";\r\n picture = \"\";\r\n\r\n componentDidMount() {\r\n var url = \"http://localhost:8080/casesall/\" + this.props.match.params.id;\r\n fetch(url, {\r\n method: \"GET\"\r\n })\r\n .then(res => res.json())\r\n //.then(json => console.log(JSON.stringify(json)))\r\n .then(\r\n res => {\r\n console.log(res);\r\n this.setState({\r\n isLoaded: true,\r\n items: res\r\n });\r\n },\r\n error => {\r\n this.setState({\r\n isLoaded: true,\r\n error\r\n });\r\n }\r\n );\r\n }\r\n\r\n render() {\r\n const { error, isLoaded, items } = this.state;\r\n return (\r\n <div style={{ margin: \"20px\", height: \"3000px\" }}>\r\n {items.map(NewsCase => (\r\n <div>\r\n <form>\r\n <div class=\"form-group\">\r\n <label for=\"inpTitle\" style={{ color: \"white\" }}>\r\n Tittel\r\n </label>\r\n <input\r\n type=\"title\"\r\n defaultValue={NewsCase.title}\r\n onChange={(event: SyntheticInputEvent<HTMLInputElement>) =>\r\n (this.title = event.target.value)\r\n }\r\n class=\"form-control\"\r\n id=\"inpTitle\"\r\n aria-describedby=\"titleHelp\"\r\n />\r\n <small id=\"titleHelp\" class=\"form-text text-muted\">\r\n Tittlen bør vekke interesse for innlegget ditt!\r\n </small>\r\n </div>\r\n <div class=\"form-group\">\r\n <label for=\"inpText\" style={{ color: \"white\" }}>\r\n Forsidetekst\r\n </label>\r\n <input\r\n type=\"text\"\r\n defaultValue={NewsCase.titleText}\r\n onChange={(event: SyntheticInputEvent<HTMLInputElement>) =>\r\n (this.titleText = event.target.value)\r\n }\r\n class=\"form-control\"\r\n id=\"inptitleText\"\r\n />\r\n <small id=\"textHelp\" class=\"form-text text-muted\">\r\n Denne teksten vil vises på forsiden sammen med tittlen og\r\n bildet ditt\r\n </small>\r\n </div>\r\n <div class=\"form-group\">\r\n <label for=\"inpInnleggstekst\" style={{ color: \"white\" }}>\r\n Innleggstekst\r\n </label>\r\n <textarea\r\n type=\"text\"\r\n defaultValue={NewsCase.content}\r\n onChange={(event: SyntheticInputEvent<HTMLInputElement>) =>\r\n (this.content = event.target.value)\r\n }\r\n class=\"form-control\"\r\n id=\"inpContent\"\r\n rows=\"5\"\r\n />\r\n </div>\r\n <div class=\"form-group\">\r\n <label for=\"inpUrl\" style={{ color: \"white\" }}>\r\n Url til bilde\r\n </label>\r\n <input\r\n type=\"text\"\r\n defaultValue={NewsCase.picture}\r\n onChange={(event: SyntheticInputEvent<HTMLInputElement>) =>\r\n (this.picture = event.target.value)\r\n }\r\n class=\"form-control\"\r\n id=\"inpUrl\"\r\n />\r\n </div>\r\n <button type=\"submit\" class=\"btn btn-primary\" onClick={this.edit}>\r\n Edit\r\n </button>\r\n </form>\r\n </div>\r\n ))}\r\n </div>\r\n );\r\n }\r\n\r\n edit() {\r\n console.log(this.title);\r\n console.log(this.titleText);\r\n console.log(this.content);\r\n console.log(this.picture);\r\n let url = \"http://localhost:8080/casesall/\" + this.props.match.params.id;\r\n console.log(url);\r\n fetch(url, {\r\n method: \"PUT\",\r\n headers: {\r\n \"Content-Type\": \"application/json; charset=utf-8\"\r\n },\r\n body: JSON.stringify({\r\n title: this.title,\r\n titleText: this.titleText,\r\n content: this.content,\r\n picture: this.picture,\r\n id: this.props.match.params.id\r\n })\r\n });\r\n }\r\n}\r\n\r\nclass NewCase extends Component {\r\n title = \"\";\r\n titleText = \"\";\r\n date = \"\";\r\n category = \"Nyheter\";\r\n pictureUrl = \"\";\r\n content = \"\";\r\n importance = \"1\";\r\n\r\n render() {\r\n return (\r\n <div class=\"mx-auto\" style={{ width: \"1000px\", margin: \"20px\" }}>\r\n <form>\r\n <div class=\"form-group\">\r\n <label for=\"inpTitle\" style={{ color: \"white\" }}>\r\n Tittel\r\n </label>\r\n <input\r\n type=\"title\"\r\n value={this.title}\r\n onChange={(event: SyntheticInputEvent<HTMLInputElement>) =>\r\n (this.title = event.target.value)\r\n }\r\n class=\"form-control\"\r\n id=\"inpTitle\"\r\n aria-describedby=\"titleHelp\"\r\n placeholder=\"Tittel på innlegget\"\r\n />\r\n <small id=\"titleHelp\" class=\"form-text text-muted\">\r\n Tittlen bør vekke interesse for innlegget ditt!\r\n </small>\r\n </div>\r\n <div class=\"form-group\">\r\n <label for=\"inpText\" style={{ color: \"white\" }}>\r\n Forsidetekst\r\n </label>\r\n <input\r\n type=\"text\"\r\n value={this.titleText}\r\n onChange={(event: SyntheticInputEvent<HTMLInputElement>) =>\r\n (this.titleText = event.target.value)\r\n }\r\n class=\"form-control\"\r\n id=\"inptitleText\"\r\n placeholder=\"Forsidetekst\"\r\n />\r\n <small id=\"textHelp\" class=\"form-text text-muted\">\r\n Denne teksten vil vises på forsiden sammen med tittlen og bildet\r\n ditt\r\n </small>\r\n </div>\r\n <div class=\"form-group\">\r\n <label for=\"inpCategory\" style={{ color: \"white\" }}>\r\n Kategori som passer til innlegget ditt\r\n </label>\r\n <select\r\n class=\"form-control\"\r\n id=\"inpCategory\"\r\n value={this.category}\r\n onChange={(event: SyntheticInputEvent<HTMLInputElement>) =>\r\n (this.category = event.target.value)\r\n }\r\n >\r\n <option>Nyheter</option>\r\n <option>Sport</option>\r\n <option>Kultur</option>\r\n <option>Dataspill</option>\r\n <option>Politikk</option>\r\n </select>\r\n </div>\r\n <div class=\"form-group\">\r\n <label for=\"inpInnleggstekst\" style={{ color: \"white\" }}>\r\n Innleggstekst\r\n </label>\r\n <textarea\r\n type=\"text\"\r\n value={this.content}\r\n onChange={(event: SyntheticInputEvent<HTMLInputElement>) =>\r\n (this.content = event.target.value)\r\n }\r\n class=\"form-control\"\r\n id=\"inpContent\"\r\n rows=\"5\"\r\n />\r\n </div>\r\n <fieldset class=\"form-group\">\r\n <legend style={{ color: \"white\" }}>Viktighet</legend>\r\n <div class=\"form-check\">\r\n <label class=\"form-check-label\" style={{ color: \"white\" }}>\r\n <input\r\n type=\"radio\"\r\n class=\"form-check-input\"\r\n name=\"optionsRadios\"\r\n id=\"optionsRadios1\"\r\n value=\"1\"\r\n checked\r\n onChange={(event: SyntheticInputEvent<HTMLInputElement>) =>\r\n (this.importance = event.target.value)\r\n }\r\n />\r\n Veldig viktig - hvis du velger dette vil saken din vises på\r\n forsiden\r\n </label>\r\n </div>\r\n <div class=\"form-check\">\r\n <label class=\"form-check-label\" style={{ color: \"white\" }}>\r\n <input\r\n type=\"radio\"\r\n class=\"form-check-input\"\r\n name=\"optionsRadios\"\r\n id=\"optionsRadios2\"\r\n value=\"2\"\r\n onChange={(event: SyntheticInputEvent<HTMLInputElement>) =>\r\n (this.importance = event.target.value)\r\n }\r\n />\r\n Mindre viktig - hvis du velger dette vil saken din kun vises\r\n under kategorien du har valgt\r\n </label>\r\n </div>\r\n </fieldset>\r\n <div class=\"form-group\">\r\n <label for=\"inpUrl\" style={{ color: \"white\" }}>\r\n Url til bilde\r\n </label>\r\n <input\r\n type=\"text\"\r\n value={this.pictureUrl}\r\n onChange={(event: SyntheticInputEvent<HTMLInputElement>) =>\r\n (this.pictureUrl = event.target.value)\r\n }\r\n class=\"form-control\"\r\n id=\"inpUrl\"\r\n placeholder=\"https://\"\r\n />\r\n </div>\r\n <button type=\"submit\" class=\"btn btn-primary\" onClick={this.save}>\r\n Post\r\n </button>\r\n </form>\r\n </div>\r\n );\r\n }\r\n\r\n save() {\r\n console.log(this.title);\r\n console.log(this.importance);\r\n console.log(this.category);\r\n var day = new FindDate();\r\n fetch(\"http://localhost:8080/cases\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json; charset=utf-8\"\r\n },\r\n body: JSON.stringify({\r\n title: this.title,\r\n titleText: this.titleText,\r\n content: this.content,\r\n date: day.month + \" \" + day.day,\r\n picture: this.pictureUrl,\r\n category: this.category,\r\n importance: this.importance\r\n })\r\n });\r\n history.push(\"/\");\r\n }\r\n\r\n saveOLD() {\r\n var day = new FindDate();\r\n cases.push(\r\n new NewsCase(\r\n this.title,\r\n day.month + \" \" + day.day,\r\n this.category,\r\n this.pictureUrl,\r\n this.text\r\n )\r\n );\r\n\r\n history.push(\"/\");\r\n }\r\n}\r\n\r\nclass Menu extends Component {\r\n render() {\r\n return (\r\n <nav\r\n class=\"navbar navbar-expand-lg navbar-dark bg-dark\"\r\n style={{ background: \"#1f2226\" }}\r\n >\r\n <NavLink class=\"navbar-brand\" exact to=\"/\">\r\n <img\r\n src=\"https://fanart.tv/fanart/movies/8388/hdmovielogo/three-amigos-5871a7ecacb18.png\"\r\n height=\"74\"\r\n width=\"200\"\r\n alt=\"Gå til forsiden\"\r\n />\r\n </NavLink>\r\n <div class=\"collapse navbar-collapse\" id=\"navbarNav\">\r\n <ul class=\"navbar-nav\">\r\n <li class=\"nav-item\">\r\n <NavLink\r\n class=\"nav-link\"\r\n exact\r\n to=\"/nyheter\"\r\n style={{ margin: \"20px\" }}\r\n >\r\n Nyheter\r\n </NavLink>\r\n </li>\r\n <li class=\"nav-item\">\r\n <NavLink\r\n class=\"nav-link\"\r\n exact\r\n to=\"/sport\"\r\n style={{ margin: \"20px\" }}\r\n >\r\n Sport\r\n </NavLink>\r\n </li>\r\n <li class=\"nav-item\">\r\n <NavLink\r\n class=\"nav-link\"\r\n exact\r\n to=\"/dataspill\"\r\n style={{ margin: \"20px\" }}\r\n >\r\n Dataspill\r\n </NavLink>\r\n </li>\r\n <li class=\"nav-item\">\r\n <NavLink\r\n class=\"nav-link\"\r\n exact\r\n to=\"/politikk\"\r\n style={{ margin: \"20px\" }}\r\n >\r\n Politikk\r\n </NavLink>\r\n </li>\r\n <li class=\"nav-item\">\r\n <NavLink\r\n class=\"nav-link\"\r\n exact\r\n to=\"/kultur\"\r\n style={{ margin: \"20px\" }}\r\n >\r\n Kultur\r\n </NavLink>\r\n </li>\r\n </ul>\r\n </div>\r\n <div\r\n class=\"collapse navbar-collapse justify-content-end\"\r\n id=\"navbarNav\"\r\n >\r\n <ul class=\"navbar-nav\">\r\n <li class=\"nav-item\">\r\n <NavLink class=\"nav-link\" exact to=\"/nysak\">\r\n Skriv ny sak\r\n </NavLink>\r\n </li>\r\n <li class=\"nav-item\">\r\n <NavLink class=\"nav-link\" exact to=\"/login\">\r\n Logg inn\r\n </NavLink>\r\n </li>\r\n </ul>\r\n </div>\r\n </nav>\r\n );\r\n }\r\n}\r\n\r\nclass Home extends Component {\r\n render() {\r\n return (\r\n <div class=\"row mb-2\">\r\n <div class=\"col-md-6\">\r\n <div class=\"card flex-md-row mb-4 shadow-sm h-md-250\">\r\n <div class=\"card-body d-flex flex-column align-items-start\">\r\n <strong class=\"d-inline-block mb-2 text-success\">Nyheter</strong>\r\n <h3 class=\"mb-0\">\r\n <a class=\"text-dark\" href=\"#\">\r\n Erna og Obama POG\r\n </a>\r\n </h3>\r\n <div class=\"mb-1 text-muted\">Nov 11</div>\r\n <p class=\"card-text mb-auto\">\r\n This is a wider card with supporting text below as a natural\r\n lead-in to additional content.\r\n </p>\r\n <a href=\"#\">Les videre</a>\r\n </div>\r\n <img\r\n class=\"card-img-right flex-auto d-none d-lg-block\"\r\n src=\"https://imbo.vgc.no/users/e24/images/67d7e92e93cad2001d9068302ea55253?t%5B0%5D=crop%3Awidth%3D1985%2Cheight%3D1116%2Cx%3D736%2Cy%3D111&t%5B1%5D=maxSize%3Awidth%3D990&t%5B2%5D=resize%3Awidth%3D990&accessToken=e8bac780354e3105ae6d162610b6eb6cc5cd65f39b8a1d5bf3684f217faeec30\"\r\n alt=\"Card image cap\"\r\n height=\"300px\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <div class=\"card flex-md-row mb-4 shadow-sm h-md-250\">\r\n <div class=\"card-body d-flex flex-column align-items-start\">\r\n <strong class=\"d-inline-block mb-2 text-success\">Nyheter</strong>\r\n <h3 class=\"mb-0\">\r\n <a class=\"text-dark\" href=\"#\">\r\n Erna og Obama POG\r\n </a>\r\n </h3>\r\n <div class=\"mb-1 text-muted\">Nov 11</div>\r\n <p class=\"card-text mb-auto\">\r\n This is a wider card with supporting text below as a natural\r\n lead-in to additional content.\r\n </p>\r\n <a href=\"#\">Les videre</a>\r\n </div>\r\n <img\r\n class=\"card-img-right flex-auto d-none d-lg-block\"\r\n src=\"https://imbo.vgc.no/users/e24/images/67d7e92e93cad2001d9068302ea55253?t%5B0%5D=crop%3Awidth%3D1985%2Cheight%3D1116%2Cx%3D736%2Cy%3D111&t%5B1%5D=maxSize%3Awidth%3D990&t%5B2%5D=resize%3Awidth%3D990&accessToken=e8bac780354e3105ae6d162610b6eb6cc5cd65f39b8a1d5bf3684f217faeec30\"\r\n alt=\"Card image cap\"\r\n height=\"300px\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <div class=\"card flex-md-row mb-4 shadow-sm h-md-250\">\r\n <div class=\"card-body d-flex flex-column align-items-start\">\r\n <strong class=\"d-inline-block mb-2 text-success\">Nyheter</strong>\r\n <h3 class=\"mb-0\">\r\n <a class=\"text-dark\" href=\"#\">\r\n Erna og Obama POG\r\n </a>\r\n </h3>\r\n <div class=\"mb-1 text-muted\">Nov 11</div>\r\n <p class=\"card-text mb-auto\">\r\n This is a wider card with supporting text below as a natural\r\n lead-in to additional content.\r\n </p>\r\n <a href=\"#\">Les videre</a>\r\n </div>\r\n <img\r\n class=\"card-img-right flex-auto d-none d-lg-block\"\r\n src=\"https://imbo.vgc.no/users/e24/images/67d7e92e93cad2001d9068302ea55253?t%5B0%5D=crop%3Awidth%3D1985%2Cheight%3D1116%2Cx%3D736%2Cy%3D111&t%5B1%5D=maxSize%3Awidth%3D990&t%5B2%5D=resize%3Awidth%3D990&accessToken=e8bac780354e3105ae6d162610b6eb6cc5cd65f39b8a1d5bf3684f217faeec30\"\r\n alt=\"Card image cap\"\r\n height=\"300px\"\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n\r\nclass CaseDetails extends Component<{\r\n match: { params: { id: number } }\r\n}> {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n error: null,\r\n isLoaded: false,\r\n items: []\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n var url = \"http://localhost:8080/casesall/\" + this.props.match.params.id;\r\n console.log(url);\r\n fetch(url, {\r\n method: \"GET\"\r\n })\r\n .then(res => res.json())\r\n //.then(json => console.log(JSON.stringify(json)))\r\n .then(\r\n res => {\r\n console.log(res);\r\n this.setState({\r\n isLoaded: true,\r\n items: res\r\n });\r\n },\r\n error => {\r\n this.setState({\r\n isLoaded: true,\r\n error\r\n });\r\n }\r\n );\r\n }\r\n render() {\r\n const { error, isLoaded, items } = this.state;\r\n if (error) {\r\n return <div style={{ margin: \"1000px\" }}>Error: {error.message}</div>;\r\n } else if (!isLoaded) {\r\n return <div style={{ margin: \"1000px\" }}>Loading...</div>;\r\n } else {\r\n return (\r\n <div\r\n class=\"mx-auto\"\r\n style={{ background: \"#24282c\", height: \"4000px\", width: \"1500px\" }}\r\n >\r\n <div class=\"col-md-8 blog-main\" style={{ margin: \"20px\" }}>\r\n {items.map(NewsCase => (\r\n <div class=\"blog-post\">\r\n <h2 class=\"blog-post-title\" style={{ color: \"white\" }}>\r\n {NewsCase.title}\r\n </h2>\r\n <p class=\"blog-post-meta\" style={{ color: \"white\" }}>\r\n {NewsCase.date}\r\n </p>\r\n\r\n <p style={{ color: \"white\" }}>{NewsCase.titleText}</p>\r\n <img src={NewsCase.picture} height=\"300px\" />\r\n <hr style={{ bordercolor: \"white\" }} />\r\n <p style={{ color: \"white\" }}>{NewsCase.text}</p>\r\n <p style={{ color: \"white\" }}>{NewsCase.content}</p>\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n );\r\n }\r\n }\r\n}\r\n\r\nclass StudentList extends Component {\r\n render() {\r\n return (\r\n <ul>\r\n {students.map(student => (\r\n <li key={student.email}>\r\n <NavLink\r\n activeStyle={{ color: \"darkblue\" }}\r\n exact\r\n to={\"/students/\" + student.id}\r\n >\r\n {student.firstName} {student.lastName}\r\n </NavLink>{\" \"}\r\n <NavLink\r\n activeStyle={{ color: \"darkblue\" }}\r\n to={\"/students/\" + student.id + \"/edit\"}\r\n >\r\n edit\r\n </NavLink>\r\n </li>\r\n ))}\r\n </ul>\r\n );\r\n }\r\n}\r\n\r\nclass StudentDetails extends Component<{ match: { params: { id: number } } }> {\r\n render() {\r\n let student = students.find(\r\n student => student.id == this.props.match.params.id\r\n );\r\n if (!student) {\r\n Alert.danger(\"Student not found: \" + this.props.match.params.id);\r\n return null; // Return empty object (nothing to render)\r\n }\r\n return (\r\n <div>\r\n <ul>\r\n <li>First name: {student.firstName}</li>\r\n <li>Last name: {student.lastName}</li>\r\n <li>Email: {student.email}</li>\r\n </ul>\r\n </div>\r\n );\r\n }\r\n}\r\n\r\nclass Dropdown extends React.Component {\r\n state = {\r\n isOpen: false\r\n };\r\n\r\n toggleOpen = () => this.setState({ isOpen: !this.state.isOpen });\r\n\r\n render() {\r\n const menuClass = `dropdown-menu${this.state.isOpen ? \" show\" : \"\"}`;\r\n return (\r\n <HashRouter>\r\n <div\r\n className=\"dropdown\"\r\n onClick={this.toggleOpen}\r\n style={{ margin: \"20px\" }}\r\n >\r\n <button\r\n className=\"btn btn-secondary dropdown-toggle\"\r\n type=\"button\"\r\n id=\"dropdownMenuButton\"\r\n data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\"\r\n >\r\n Flere kategorier\r\n </button>\r\n <div className={menuClass} aria-labelledby=\"dropdownMenuButton\">\r\n <NavLink className=\"dropdown-item\" to=\"/nyheter\">\r\n Dataspill\r\n </NavLink>\r\n <NavLink className=\"dropdown-item\" to=\"/sport\">\r\n Politikk\r\n </NavLink>\r\n <NavLink className=\"dropdown-item\" to=\"/kultur\">\r\n Dank memes\r\n </NavLink>\r\n </div>\r\n </div>\r\n </HashRouter>\r\n );\r\n }\r\n}\r\n\r\nReactDOM.render(<Dropdown />, document.getElementById(\"root\"));\r\n\r\nclass StudentEdit extends Component<{ match: { params: { id: number } } }> {\r\n firstName = \"\"; // Always initialize component member variables\r\n lastName = \"\";\r\n email = \"\";\r\n\r\n render() {\r\n return (\r\n <form>\r\n <ul>\r\n <li>\r\n First name:{\" \"}\r\n <input\r\n type=\"text\"\r\n value={this.firstName}\r\n onChange={(event: SyntheticInputEvent<HTMLInputElement>) =>\r\n (this.firstName = event.target.value)\r\n }\r\n />\r\n </li>\r\n <li>\r\n Last name:{\" \"}\r\n <input\r\n type=\"text\"\r\n value={this.lastName}\r\n onChange={(event: SyntheticInputEvent<HTMLInputElement>) =>\r\n (this.lastName = event.target.value)\r\n }\r\n />\r\n </li>\r\n <li>\r\n Email:{\" \"}\r\n <input\r\n type=\"text\"\r\n value={this.email}\r\n onChange={(event: SyntheticInputEvent<HTMLInputElement>) =>\r\n (this.email = event.target.value)\r\n }\r\n />\r\n </li>\r\n </ul>\r\n <button type=\"button\" onClick={this.save}>\r\n Save\r\n </button>\r\n </form>\r\n );\r\n }\r\n\r\n // Initialize component state (firstName, lastName, email) when the component has been inserted into the DOM (mounted)\r\n mounted() {\r\n let student = students.find(\r\n student => student.id == this.props.match.params.id\r\n );\r\n if (!student) {\r\n Alert.danger(\"Student not found: \" + this.props.match.params.id);\r\n return;\r\n }\r\n\r\n this.firstName = student.firstName;\r\n this.lastName = student.lastName;\r\n this.email = student.email;\r\n }\r\n\r\n save() {\r\n let student = students.find(\r\n student => student.id == this.props.match.params.id\r\n );\r\n if (!student) {\r\n Alert.danger(\"Student not found: \" + this.props.match.params.id);\r\n return;\r\n }\r\n\r\n student.firstName = this.firstName;\r\n student.lastName = this.lastName;\r\n student.email = this.email;\r\n\r\n // Go to StudentDetails after successful save\r\n history.push(\"/students/\" + student.id);\r\n }\r\n}\r\n\r\nfunction studentsLoad() {\r\n history.push(\"/students/\");\r\n}\r\n\r\nconst root = document.getElementById(\"root\");\r\nif (root)\r\n ReactDOM.render(\r\n <HashRouter>\r\n <div style={{ background: \"#24282c\" }}>\r\n <Alert />\r\n <Menu />\r\n <LatestCases />\r\n <Route exact path=\"/\" component={NewsList} />\r\n <Route path=\"/nysak\" component={NewCase} />\r\n <Route path=\"/nysak\" component={DeleteAndEdit} />\r\n <Route exact path=\"/nyheter\" component={OnlyNewsList} />\r\n <Route exact path=\"/sport\" component={SportList} />\r\n <Route exact path=\"/kultur\" component={CultureList} />\r\n <Route exact path=\"/dataspill\" component={GamesList} />\r\n <Route exact path=\"/politikk\" component={PoliticsList} />\r\n <Route exact path=\"/:id\" component={CaseDetails} />\r\n <Route exact path=\"/nyheter/:id\" component={CaseDetails} />\r\n <Route exact path=\"/sport/:id\" component={CaseDetails} />\r\n <Route exact path=\"/kultur/:id\" component={CaseDetails} />\r\n <Route exact path=\"/dataspill/:id\" component={CaseDetails} />\r\n <Route exact path=\"/politikk/:id\" component={CaseDetails} />\r\n <Route exact path=\"/edit/:id\" component={CaseEdit} />\r\n </div>\r\n </HashRouter>,\r\n root\r\n );\r\n"]},"metadata":{},"sourceType":"module"}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment