From 6bafacce9ec8f6ab686a6492e5222860fbca02c4 Mon Sep 17 00:00:00 2001 From: The Buildbot <buildbot@angular2buch.de> Date: Fri, 14 Jun 2024 06:28:19 +0000 Subject: [PATCH] Auto-generated commit Triggered by commit: https://github.com/angular-schule/buch/commit/4921fde2037b40faf11fa550772f236e6dce21c9 --- diffs/16a-cypress.html | 242 +- diffs/16c-i18n.html | 7625 ++++++++++++++++++---------------- diffs/16d-docker.html | 536 +-- diffs/16e-ngrx.html | 515 +-- diffs/16f-ssr.html | 332 +- diffs/16g-pwa.html | 7328 ++++++++++++++++---------------- diffs/18-modern-angular.html | 396 +- 7 files changed, 8317 insertions(+), 8657 deletions(-) diff --git a/diffs/16a-cypress.html b/diffs/16a-cypress.html index c29515a..f82a7dc 100644 --- a/diffs/16a-cypress.html +++ b/diffs/16a-cypress.html @@ -52,11 +52,11 @@ <h1> <tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -107,13 +107,60 @@</div> + <div class="d2h-code-side-line">@@ -108,13 +108,60 @@</div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 107 + 108 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -66,7 +66,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 108 + 109 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -76,7 +76,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 109 + 110 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -536,7 +536,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 110 + 111 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -546,7 +546,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 111 + 112 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -556,7 +556,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 112 + 113 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -566,7 +566,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 113 + 114 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -576,7 +576,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 114 + 115 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -586,7 +586,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 115 + 116 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -596,7 +596,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 116 + 117 </td> <td class="d2h-del d2h-change"> <div class="d2h-code-side-line"> @@ -626,7 +626,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 117 + 118 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -636,7 +636,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 118 + 119 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -646,7 +646,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 119 + 120 </td> <td class="d2h-del d2h-change"> <div class="d2h-code-side-line"> @@ -670,7 +670,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 107 + 108 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -680,7 +680,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 108 + 109 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -690,7 +690,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 109 + 110 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -700,7 +700,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 110 + 111 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -710,7 +710,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 111 + 112 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -720,7 +720,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 112 + 113 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -730,7 +730,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 113 + 114 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -740,7 +740,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 114 + 115 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -750,7 +750,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 115 + 116 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -760,7 +760,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 116 + 117 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -770,7 +770,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 117 + 118 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -780,7 +780,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 118 + 119 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -790,7 +790,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 119 + 120 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -800,7 +800,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 120 + 121 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -810,7 +810,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 121 + 122 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -820,7 +820,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 122 + 123 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -830,7 +830,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 123 + 124 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -840,7 +840,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 124 + 125 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -850,7 +850,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 125 + 126 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -860,7 +860,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 126 + 127 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -870,7 +870,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 127 + 128 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -880,7 +880,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 128 + 129 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -890,7 +890,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 129 + 130 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -900,7 +900,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 130 + 131 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -910,7 +910,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 131 + 132 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -920,7 +920,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 132 + 133 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -930,7 +930,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 133 + 134 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -940,7 +940,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 134 + 135 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -950,7 +950,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 135 + 136 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -960,7 +960,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 136 + 137 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -970,7 +970,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 137 + 138 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -980,7 +980,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 138 + 139 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -990,7 +990,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 139 + 140 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -1000,7 +1000,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 140 + 141 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -1010,7 +1010,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 141 + 142 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -1020,7 +1020,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 142 + 143 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -1030,7 +1030,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 143 + 144 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -1040,7 +1040,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 144 + 145 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -1050,7 +1050,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 145 + 146 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -1060,7 +1060,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 146 + 147 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -1070,7 +1070,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 147 + 148 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -1080,7 +1080,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 148 + 149 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -1090,7 +1090,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 149 + 150 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -1100,7 +1100,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 150 + 151 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -1110,7 +1110,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 151 + 152 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -1120,7 +1120,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 152 + 153 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -1130,7 +1130,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 153 + 154 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -1140,7 +1140,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 154 + 155 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -1150,7 +1150,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 155 + 156 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -1160,7 +1160,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 156 + 157 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -1170,7 +1170,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 157 + 158 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -1180,7 +1180,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 158 + 159 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -1190,7 +1190,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 159 + 160 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -1200,7 +1200,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 160 + 161 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -1210,7 +1210,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins d2h-change"> - 161 + 162 </td> <td class="d2h-ins d2h-change"> <div class="d2h-code-side-line"> @@ -1220,7 +1220,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 162 + 163 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -1230,7 +1230,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 163 + 164 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -1240,7 +1240,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 164 + 165 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -1250,7 +1250,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 165 + 166 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -1260,7 +1260,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins d2h-change"> - 166 + 167 </td> <td class="d2h-ins d2h-change"> <div class="d2h-code-side-line"> @@ -6427,36 +6427,36 @@ <h1> </tr><tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -34,6 +37,7 @@</div> + <div class="d2h-code-side-line">@@ -30,6 +33,7 @@</div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 34 + 30 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular-eslint/template-parser": "17.3.0",</span> + <span class="d2h-code-line-ctn"> "@angular-devkit/build-angular": "^18.0.3",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 35 + 31 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/cli": "^17.3.6",</span> + <span class="d2h-code-line-ctn"> "@angular/cli": "^18.0.3",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 36 + 32 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/compiler-cli": "^17.3.0",</span> + <span class="d2h-code-line-ctn"> "@angular/compiler-cli": "^18.0.0",</span> </div> </td> </tr><tr> @@ -6471,7 +6471,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 37 + 33 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -6481,67 +6481,67 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 38 + 34 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@typescript-eslint/eslint-plugin": "7.2.0",</span> + <span class="d2h-code-line-ctn"> "angular-eslint": "18.0.1",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 39 + 35 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@typescript-eslint/parser": "7.2.0",</span> + <span class="d2h-code-line-ctn"> "eslint": "^9.3.0",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -44,6 +48,7 @@</div> + <div class="d2h-code-side-line">@@ -40,6 +44,7 @@</div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 44 + 40 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "karma-coverage": "~2.2.0",</span> + <span class="d2h-code-line-ctn"> "karma-jasmine": "~5.1.0",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 45 + 41 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "karma-jasmine": "~5.1.0",</span> + <span class="d2h-code-line-ctn"> "karma-jasmine-html-reporter": "~2.1.0",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 46 + 42 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "karma-jasmine-html-reporter": "~2.1.0",</span> + <span class="d2h-code-line-ctn"> "typescript": "~5.4.2",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 47 + 43 </td> <td class="d2h-del d2h-change"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn"> "typescript": "~5.4.2"</span> + <span class="d2h-code-line-ctn"> "typescript-eslint": "8.0.0-alpha.20"</span> </div> </td> </tr><tr> @@ -6556,7 +6556,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 48 + 44 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -6566,7 +6566,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 49 + 45 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -6695,47 +6695,47 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 37 + 33 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular-eslint/template-parser": "17.3.0",</span> + <span class="d2h-code-line-ctn"> "@angular-devkit/build-angular": "^18.0.3",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 38 + 34 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/cli": "^17.3.6",</span> + <span class="d2h-code-line-ctn"> "@angular/cli": "^18.0.3",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 39 + 35 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/compiler-cli": "^17.3.0",</span> + <span class="d2h-code-line-ctn"> "@angular/compiler-cli": "^18.0.0",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 40 + 36 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "@cypress/schematic": "^2.5.1",</span> + <span class="d2h-code-line-ctn"> "@cypress/schematic": "^2.5.2",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 41 + 37 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -6745,22 +6745,22 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 42 + 38 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@typescript-eslint/eslint-plugin": "7.2.0",</span> + <span class="d2h-code-line-ctn"> "angular-eslint": "18.0.1",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 43 + 39 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@typescript-eslint/parser": "7.2.0",</span> + <span class="d2h-code-line-ctn"> "eslint": "^9.3.0",</span> </div> </td> </tr><tr> @@ -6770,47 +6770,47 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 48 + 44 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "karma-coverage": "~2.2.0",</span> + <span class="d2h-code-line-ctn"> "karma-jasmine": "~5.1.0",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 49 + 45 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "karma-jasmine": "~5.1.0",</span> + <span class="d2h-code-line-ctn"> "karma-jasmine-html-reporter": "~2.1.0",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 50 + 46 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "karma-jasmine-html-reporter": "~2.1.0",</span> + <span class="d2h-code-line-ctn"> "typescript": "~5.4.2",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins d2h-change"> - 51 + 47 </td> <td class="d2h-ins d2h-change"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "typescript": "~5.4.2"<ins>,</ins></span> + <span class="d2h-code-line-ctn"> "typescript-eslint": "8.0.0-alpha.20"<ins>,</ins></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 52 + 48 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -6820,7 +6820,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 53 + 49 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -6830,7 +6830,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 54 + 50 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> diff --git a/diffs/16c-i18n.html b/diffs/16c-i18n.html index b93c135..9193b93 100644 --- a/diffs/16c-i18n.html +++ b/diffs/16c-i18n.html @@ -52,7 +52,17 @@ <h1> <tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -0,0 +1,128 @@</div> + <div class="d2h-code-side-line">@@ -0,0 +1,129 @@</div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> @@ -1585,7 +1595,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "src/favicon.ico",</span> + <span class="d2h-code-line-ctn"> {</span> </div> </td> </tr><tr> @@ -1595,7 +1605,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "src/assets"</span> + <span class="d2h-code-line-ctn"> "glob": "**/*",</span> </div> </td> </tr><tr> @@ -1605,7 +1615,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> ],</span> + <span class="d2h-code-line-ctn"> "input": "public"</span> </div> </td> </tr><tr> @@ -1615,7 +1625,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "styles": [</span> + <span class="d2h-code-line-ctn"> }</span> </div> </td> </tr><tr> @@ -1625,7 +1635,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "src/styles.css"</span> + <span class="d2h-code-line-ctn"> ],</span> </div> </td> </tr><tr> @@ -1635,7 +1645,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> ],</span> + <span class="d2h-code-line-ctn"> "styles": [</span> </div> </td> </tr><tr> @@ -1645,7 +1655,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "scripts": [],</span> + <span class="d2h-code-line-ctn"> "src/styles.css"</span> </div> </td> </tr><tr> @@ -1655,7 +1665,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "localize": true</span> + <span class="d2h-code-line-ctn"> ],</span> </div> </td> </tr><tr> @@ -1665,7 +1675,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> },</span> + <span class="d2h-code-line-ctn"> "scripts": [],</span> </div> </td> </tr><tr> @@ -1675,7 +1685,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "configurations": {</span> + <span class="d2h-code-line-ctn"> "localize": true</span> </div> </td> </tr><tr> @@ -1685,7 +1695,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "production": {</span> + <span class="d2h-code-line-ctn"> },</span> </div> </td> </tr><tr> @@ -1695,7 +1705,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "budgets": [</span> + <span class="d2h-code-line-ctn"> "configurations": {</span> </div> </td> </tr><tr> @@ -1705,7 +1715,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> {</span> + <span class="d2h-code-line-ctn"> "production": {</span> </div> </td> </tr><tr> @@ -1715,7 +1725,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "type": "initial",</span> + <span class="d2h-code-line-ctn"> "budgets": [</span> </div> </td> </tr><tr> @@ -1725,7 +1735,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "maximumWarning": "500kb",</span> + <span class="d2h-code-line-ctn"> {</span> </div> </td> </tr><tr> @@ -1735,7 +1745,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "maximumError": "1mb"</span> + <span class="d2h-code-line-ctn"> "type": "initial",</span> </div> </td> </tr><tr> @@ -1745,7 +1755,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> },</span> + <span class="d2h-code-line-ctn"> "maximumWarning": "500kB",</span> </div> </td> </tr><tr> @@ -1755,7 +1765,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> {</span> + <span class="d2h-code-line-ctn"> "maximumError": "1MB"</span> </div> </td> </tr><tr> @@ -1765,7 +1775,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "type": "anyComponentStyle",</span> + <span class="d2h-code-line-ctn"> },</span> </div> </td> </tr><tr> @@ -1775,7 +1785,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "maximumWarning": "2kb",</span> + <span class="d2h-code-line-ctn"> {</span> </div> </td> </tr><tr> @@ -1785,7 +1795,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "maximumError": "4kb"</span> + <span class="d2h-code-line-ctn"> "type": "anyComponentStyle",</span> </div> </td> </tr><tr> @@ -1795,7 +1805,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> }</span> + <span class="d2h-code-line-ctn"> "maximumWarning": "2kB",</span> </div> </td> </tr><tr> @@ -1805,7 +1815,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> ],</span> + <span class="d2h-code-line-ctn"> "maximumError": "4kB"</span> </div> </td> </tr><tr> @@ -1815,7 +1825,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "outputHashing": "all"</span> + <span class="d2h-code-line-ctn"> }</span> </div> </td> </tr><tr> @@ -1825,7 +1835,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> },</span> + <span class="d2h-code-line-ctn"> ],</span> </div> </td> </tr><tr> @@ -1835,7 +1845,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "development": {</span> + <span class="d2h-code-line-ctn"> "outputHashing": "all"</span> </div> </td> </tr><tr> @@ -1845,7 +1855,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "buildOptimizer": false,</span> + <span class="d2h-code-line-ctn"> },</span> </div> </td> </tr><tr> @@ -1855,7 +1865,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "optimization": false,</span> + <span class="d2h-code-line-ctn"> "development": {</span> </div> </td> </tr><tr> @@ -1865,7 +1875,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "vendorChunk": true,</span> + <span class="d2h-code-line-ctn"> "buildOptimizer": false,</span> </div> </td> </tr><tr> @@ -1875,7 +1885,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "extractLicenses": false,</span> + <span class="d2h-code-line-ctn"> "optimization": false,</span> </div> </td> </tr><tr> @@ -1885,7 +1895,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "sourceMap": true,</span> + <span class="d2h-code-line-ctn"> "vendorChunk": true,</span> </div> </td> </tr><tr> @@ -1895,7 +1905,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "namedChunks": true,</span> + <span class="d2h-code-line-ctn"> "extractLicenses": false,</span> </div> </td> </tr><tr> @@ -1905,7 +1915,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "localize": ["en-US"]</span> + <span class="d2h-code-line-ctn"> "sourceMap": true,</span> </div> </td> </tr><tr> @@ -1915,7 +1925,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> },</span> + <span class="d2h-code-line-ctn"> "namedChunks": true,</span> </div> </td> </tr><tr> @@ -1925,7 +1935,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "locale-de": {</span> + <span class="d2h-code-line-ctn"> "localize": ["en-US"]</span> </div> </td> </tr><tr> @@ -1935,7 +1945,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "localize": ["de"]</span> + <span class="d2h-code-line-ctn"> },</span> </div> </td> </tr><tr> @@ -1945,7 +1955,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> }</span> + <span class="d2h-code-line-ctn"> "locale-de": {</span> </div> </td> </tr><tr> @@ -1955,7 +1965,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> },</span> + <span class="d2h-code-line-ctn"> "localize": ["de"]</span> </div> </td> </tr><tr> @@ -1965,7 +1975,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "defaultConfiguration": "production"</span> + <span class="d2h-code-line-ctn"> }</span> </div> </td> </tr><tr> @@ -1975,7 +1985,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> },</span> + <span class="d2h-code-line-ctn"> },</span> </div> </td> </tr><tr> @@ -1985,7 +1995,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "serve": {</span> + <span class="d2h-code-line-ctn"> "defaultConfiguration": "production"</span> </div> </td> </tr><tr> @@ -1995,7 +2005,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "builder": "@angular-devkit/build-angular:dev-server",</span> + <span class="d2h-code-line-ctn"> },</span> </div> </td> </tr><tr> @@ -2005,7 +2015,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "configurations": {</span> + <span class="d2h-code-line-ctn"> "serve": {</span> </div> </td> </tr><tr> @@ -2015,7 +2025,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "production": {</span> + <span class="d2h-code-line-ctn"> "builder": "@angular-devkit/build-angular:dev-server",</span> </div> </td> </tr><tr> @@ -2025,7 +2035,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "browserTarget": "book-monkey:build:production"</span> + <span class="d2h-code-line-ctn"> "configurations": {</span> </div> </td> </tr><tr> @@ -2035,7 +2045,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> },</span> + <span class="d2h-code-line-ctn"> "production": {</span> </div> </td> </tr><tr> @@ -2045,7 +2055,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "development": {</span> + <span class="d2h-code-line-ctn"> "buildTarget": "book-monkey:build:production"</span> </div> </td> </tr><tr> @@ -2055,7 +2065,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "browserTarget": "book-monkey:build:development"</span> + <span class="d2h-code-line-ctn"> },</span> </div> </td> </tr><tr> @@ -2065,7 +2075,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> },</span> + <span class="d2h-code-line-ctn"> "development": {</span> </div> </td> </tr><tr> @@ -2075,7 +2085,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "development-de": {</span> + <span class="d2h-code-line-ctn"> "buildTarget": "book-monkey:build:development"</span> </div> </td> </tr><tr> @@ -2085,7 +2095,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "browserTarget": "book-monkey:build:development,locale-de"</span> + <span class="d2h-code-line-ctn"> },</span> </div> </td> </tr><tr> @@ -2095,7 +2105,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> }</span> + <span class="d2h-code-line-ctn"> "development-de": {</span> </div> </td> </tr><tr> @@ -2105,7 +2115,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> },</span> + <span class="d2h-code-line-ctn"> "buildTarget": "book-monkey:build:development,locale-de"</span> </div> </td> </tr><tr> @@ -2115,7 +2125,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "defaultConfiguration": "development"</span> + <span class="d2h-code-line-ctn"> }</span> </div> </td> </tr><tr> @@ -2125,7 +2135,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> },</span> + <span class="d2h-code-line-ctn"> },</span> </div> </td> </tr><tr> @@ -2135,7 +2145,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "extract-i18n": {</span> + <span class="d2h-code-line-ctn"> "defaultConfiguration": "development"</span> </div> </td> </tr><tr> @@ -2145,7 +2155,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "builder": "@angular-devkit/build-angular:extract-i18n",</span> + <span class="d2h-code-line-ctn"> },</span> </div> </td> </tr><tr> @@ -2155,7 +2165,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "options": {</span> + <span class="d2h-code-line-ctn"> "extract-i18n": {</span> </div> </td> </tr><tr> @@ -2165,7 +2175,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "browserTarget": "book-monkey:build"</span> + <span class="d2h-code-line-ctn"> "builder": "@angular-devkit/build-angular:extract-i18n"</span> </div> </td> </tr><tr> @@ -2175,7 +2185,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> }</span> + <span class="d2h-code-line-ctn"> },</span> </div> </td> </tr><tr> @@ -2185,7 +2195,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> },</span> + <span class="d2h-code-line-ctn"> "test": {</span> </div> </td> </tr><tr> @@ -2195,7 +2205,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "test": {</span> + <span class="d2h-code-line-ctn"> "builder": "@angular-devkit/build-angular:karma",</span> </div> </td> </tr><tr> @@ -2205,7 +2215,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "builder": "@angular-devkit/build-angular:karma",</span> + <span class="d2h-code-line-ctn"> "options": {</span> </div> </td> </tr><tr> @@ -2215,7 +2225,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "options": {</span> + <span class="d2h-code-line-ctn"> "polyfills": [</span> </div> </td> </tr><tr> @@ -2225,7 +2235,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "polyfills": [</span> + <span class="d2h-code-line-ctn"> "zone.js",</span> </div> </td> </tr><tr> @@ -2235,7 +2245,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "zone.js",</span> + <span class="d2h-code-line-ctn"> "zone.js/testing"</span> </div> </td> </tr><tr> @@ -2245,7 +2255,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "zone.js/testing"</span> + <span class="d2h-code-line-ctn"> ],</span> </div> </td> </tr><tr> @@ -2255,7 +2265,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> ],</span> + <span class="d2h-code-line-ctn"> "tsConfig": "tsconfig.spec.json",</span> </div> </td> </tr><tr> @@ -2265,7 +2275,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "tsConfig": "tsconfig.spec.json",</span> + <span class="d2h-code-line-ctn"> "assets": [</span> </div> </td> </tr><tr> @@ -2275,7 +2285,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "assets": [</span> + <span class="d2h-code-line-ctn"> {</span> </div> </td> </tr><tr> @@ -2285,7 +2295,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "src/favicon.ico",</span> + <span class="d2h-code-line-ctn"> "glob": "**/*",</span> </div> </td> </tr><tr> @@ -2295,7 +2305,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "src/assets"</span> + <span class="d2h-code-line-ctn"> "input": "public"</span> </div> </td> </tr><tr> @@ -2305,7 +2315,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> ],</span> + <span class="d2h-code-line-ctn"> }</span> </div> </td> </tr><tr> @@ -2315,7 +2325,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "styles": [</span> + <span class="d2h-code-line-ctn"> ],</span> </div> </td> </tr><tr> @@ -2325,7 +2335,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "src/styles.css"</span> + <span class="d2h-code-line-ctn"> "styles": [</span> </div> </td> </tr><tr> @@ -2335,7 +2345,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> ],</span> + <span class="d2h-code-line-ctn"> "src/styles.css"</span> </div> </td> </tr><tr> @@ -2345,7 +2355,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "scripts": []</span> + <span class="d2h-code-line-ctn"> ],</span> </div> </td> </tr><tr> @@ -2355,7 +2365,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> }</span> + <span class="d2h-code-line-ctn"> "scripts": []</span> </div> </td> </tr><tr> @@ -2365,7 +2375,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> },</span> + <span class="d2h-code-line-ctn"> }</span> </div> </td> </tr><tr> @@ -2375,7 +2385,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "lint": {</span> + <span class="d2h-code-line-ctn"> },</span> </div> </td> </tr><tr> @@ -2385,7 +2395,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "builder": "@angular-eslint/builder:lint",</span> + <span class="d2h-code-line-ctn"> "lint": {</span> </div> </td> </tr><tr> @@ -2395,7 +2405,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "options": {</span> + <span class="d2h-code-line-ctn"> "builder": "@angular-eslint/builder:lint",</span> </div> </td> </tr><tr> @@ -2405,7 +2415,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "lintFilePatterns": [</span> + <span class="d2h-code-line-ctn"> "options": {</span> </div> </td> </tr><tr> @@ -2415,7 +2425,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "src/**/*.ts",</span> + <span class="d2h-code-line-ctn"> "lintFilePatterns": [</span> </div> </td> </tr><tr> @@ -2425,7 +2435,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "src/**/*.html"</span> + <span class="d2h-code-line-ctn"> "src/**/*.ts",</span> </div> </td> </tr><tr> @@ -2435,7 +2445,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> ]</span> + <span class="d2h-code-line-ctn"> "src/**/*.html"</span> </div> </td> </tr><tr> @@ -2445,7 +2455,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> }</span> + <span class="d2h-code-line-ctn"> ]</span> </div> </td> </tr><tr> @@ -2455,7 +2465,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> }</span> + <span class="d2h-code-line-ctn"> }</span> </div> </td> </tr><tr> @@ -2465,7 +2475,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> },</span> + <span class="d2h-code-line-ctn"> }</span> </div> </td> </tr><tr> @@ -2475,7 +2485,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "i18n": {</span> + <span class="d2h-code-line-ctn"> },</span> </div> </td> </tr><tr> @@ -2485,7 +2495,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "sourceLocale": "en-US",</span> + <span class="d2h-code-line-ctn"> "i18n": {</span> </div> </td> </tr><tr> @@ -2495,7 +2505,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "locales": {</span> + <span class="d2h-code-line-ctn"> "sourceLocale": "en-US",</span> </div> </td> </tr><tr> @@ -2505,7 +2515,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "de": {</span> + <span class="d2h-code-line-ctn"> "locales": {</span> </div> </td> </tr><tr> @@ -2515,7 +2525,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "translation": "messages.de.xlf"</span> + <span class="d2h-code-line-ctn"> "de": {</span> </div> </td> </tr><tr> @@ -2525,7 +2535,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> }</span> + <span class="d2h-code-line-ctn"> "translation": "messages.de.xlf"</span> </div> </td> </tr><tr> @@ -2535,7 +2545,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> }</span> + <span class="d2h-code-line-ctn"> }</span> </div> </td> </tr><tr> @@ -2545,7 +2555,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> }</span> + <span class="d2h-code-line-ctn"> }</span> </div> </td> </tr><tr> @@ -2555,7 +2565,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> }</span> + <span class="d2h-code-line-ctn"> }</span> </div> </td> </tr><tr> @@ -2565,7 +2575,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> },</span> + <span class="d2h-code-line-ctn"> }</span> </div> </td> </tr><tr> @@ -2575,7 +2585,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "cli": {</span> + <span class="d2h-code-line-ctn"> },</span> </div> </td> </tr><tr> @@ -2585,7 +2595,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "schematicCollections": [</span> + <span class="d2h-code-line-ctn"> "cli": {</span> </div> </td> </tr><tr> @@ -2595,7 +2605,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "@angular-eslint/schematics"</span> + <span class="d2h-code-line-ctn"> "schematicCollections": [</span> </div> </td> </tr><tr> @@ -2605,7 +2615,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> ]</span> + <span class="d2h-code-line-ctn"> "@angular-eslint/schematics"</span> </div> </td> </tr><tr> @@ -2615,13 +2625,23 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> }</span> + <span class="d2h-code-line-ctn"> ]</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> 128 </td> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> }</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins"> + 129 + </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> @@ -2635,12 +2655,12 @@ <h1> </div> </div> </div> -<div id="d2h-519664" class="d2h-file-wrapper" data-lang="json"> +<div id="d2h-885132" class="d2h-file-wrapper" data-lang="json"> <div class="d2h-file-header"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> - </svg> <span class="d2h-file-name">package.json</span> + </svg> <span class="d2h-file-name">angular.json</span> <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span> <label class="d2h-file-collapse"> <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> @@ -2655,36 +2675,46 @@ <h1> <tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -16,6 +16,7 @@</div> + <div class="d2h-code-side-line">@@ -55,7 +55,8 @@</div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 16 + 55 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/compiler": "^17.3.0",</span> + <span class="d2h-code-line-ctn"> "maximumError": "4kB"</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 17 + 56 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/core": "^17.3.0",</span> + <span class="d2h-code-line-ctn"> }</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 18 + 57 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/forms": "^17.3.0",</span> + <span class="d2h-code-line-ctn"> ],</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-del d2h-change"> + 58 + </td> + <td class="d2h-del d2h-change"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">-</span> + <span class="d2h-code-line-ctn"> "outputHashing": "all"</span> </div> </td> </tr><tr> @@ -2699,32 +2729,32 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 19 + 59 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/platform-browser": "^17.3.0",</span> + <span class="d2h-code-line-ctn"> },</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 20 + 60 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/platform-browser-dynamic": "^17.3.0",</span> + <span class="d2h-code-line-ctn"> "development": {</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 21 + 61 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/router": "^17.3.0",</span> + <span class="d2h-code-line-ctn"> "optimization": false,</span> </div> </td> </tr> @@ -2743,72 +2773,82 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 16 + 55 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/compiler": "^17.3.0",</span> + <span class="d2h-code-line-ctn"> "maximumError": "4kB"</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 17 + 56 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/core": "^17.3.0",</span> + <span class="d2h-code-line-ctn"> }</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 18 + 57 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/forms": "^17.3.0",</span> + <span class="d2h-code-line-ctn"> ],</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins d2h-change"> + 58 + </td> + <td class="d2h-ins d2h-change"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> "outputHashing": "all"<ins>,</ins></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 19 + 59 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "@angular/localize": "~17.3.7",</span> + <span class="d2h-code-line-ctn"> "serviceWorker": "ngsw-config.json"</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 20 + 60 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/platform-browser": "^17.3.0",</span> + <span class="d2h-code-line-ctn"> },</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 21 + 61 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/platform-browser-dynamic": "^17.3.0",</span> + <span class="d2h-code-line-ctn"> "development": {</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 22 + 62 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/router": "^17.3.0",</span> + <span class="d2h-code-line-ctn"> "optimization": false,</span> </div> </td> </tr> @@ -2818,12 +2858,12 @@ <h1> </div> </div> </div> -<div id="d2h-775250" class="d2h-file-wrapper" data-lang="html"> +<div id="d2h-519664" class="d2h-file-wrapper" data-lang="json"> <div class="d2h-file-header"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> - </svg> <span class="d2h-file-name">src/app/admin/book-create/book-create.component.html</span> + </svg> <span class="d2h-file-name">package.json</span> <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span> <label class="d2h-file-collapse"> <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> @@ -2838,36 +2878,76 @@ <h1> <tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -1,3 +1,3 @@</div> + <div class="d2h-code-side-line">@@ -17,6 +17,7 @@</div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 1 + <td class="d2h-code-side-linenumber d2h-cntx"> + 17 </td> - <td class="d2h-del d2h-change"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn"><h1>Create Book</h1></span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> "@angular/compiler": "^18.0.0",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 2 + 18 + </td> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> "@angular/core": "^18.0.0",</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-cntx"> + 19 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> "@angular/forms": "^18.0.0",</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 3 + 20 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><bm-book-form (submitBook)="create($event)"></bm-book-form></span> + <span class="d2h-code-line-ctn"> "@angular/platform-browser": "^18.0.0",</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-cntx"> + 21 + </td> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> "@angular/platform-browser-dynamic": "^18.0.0",</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-cntx"> + 22 + </td> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> "@angular/router": "^18.0.0",</span> </div> </td> </tr> @@ -2885,33 +2965,73 @@ <h1> <div class="d2h-code-side-line"></div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins d2h-change"> - 1 + <td class="d2h-code-side-linenumber d2h-cntx"> + 17 </td> - <td class="d2h-ins d2h-change"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> "@angular/compiler": "^18.0.0",</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-cntx"> + 18 + </td> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> "@angular/core": "^18.0.0",</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-cntx"> + 19 + </td> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> "@angular/forms": "^18.0.0",</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins"> + 20 + </td> + <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><h1<ins> i18n="title create book|Title for the create book page@@BookCreateComponentTitle"</ins>>Create Book</h1></span> + <span class="d2h-code-line-ctn"> "@angular/localize": "~18.0.2",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 2 + 21 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> "@angular/platform-browser": "^18.0.0",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 3 + 22 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><bm-book-form (submitBook)="create($event)"></bm-book-form></span> + <span class="d2h-code-line-ctn"> "@angular/platform-browser-dynamic": "^18.0.0",</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-cntx"> + 23 + </td> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> "@angular/router": "^18.0.0",</span> </div> </td> </tr> @@ -2921,12 +3041,12 @@ <h1> </div> </div> </div> -<div id="d2h-844021" class="d2h-file-wrapper" data-lang="ts"> +<div id="d2h-541255" class="d2h-file-wrapper" data-lang="json"> <div class="d2h-file-header"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> - </svg> <span class="d2h-file-name">src/app/admin/book-create/book-create.component.spec.ts</span> + </svg> <span class="d2h-file-name">public/messages.de.json</span> <span class="d2h-tag d2h-added d2h-added-tag">ADDED</span></span> <label class="d2h-file-collapse"> <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> @@ -2941,7 +3061,7 @@ <h1> <tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -0,0 +1,23 @@</div> + <div class="d2h-code-side-line">@@ -0,0 +1,43 @@</div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> @@ -3173,874 +3293,648 @@ <h1> <span class="d2h-code-line-ctn"><br></span> </div> </td> -</tr> - </tbody> - </table> - </div> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> - <div class="d2h-file-side-diff"> - <div class="d2h-code-wrapper"> - <table class="d2h-diff-table"> - <tbody class="d2h-diff-tbody"> - <tr> - <td class="d2h-code-side-linenumber d2h-info"></td> - <td class="d2h-info"> - <div class="d2h-code-side-line"></div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 1 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">import { ComponentFixture, TestBed } from '@angular/core/testing';</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 2 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 3 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">import { BookCreateComponent } from './book-create.component';</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 4 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 5 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">describe('BookCreateComponent', () => {</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 6 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> let component: BookCreateComponent;</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 7 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> let fixture: ComponentFixture<BookCreateComponent>;</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 8 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 9 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> beforeEach(async () => {</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 10 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> await TestBed.configureTestingModule({</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 11 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> declarations: [ BookCreateComponent ]</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 12 - </td> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr> + </tbody> + </table> + </div> + </div> + <div class="d2h-file-side-diff"> + <div class="d2h-code-wrapper"> + <table class="d2h-diff-table"> + <tbody class="d2h-diff-tbody"> + <tr> + <td class="d2h-code-side-linenumber d2h-info"></td> + <td class="d2h-info"> + <div class="d2h-code-side-line"></div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins"> + 1 + </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> })</span> + <span class="d2h-code-line-ctn">{</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 13 + 2 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> .compileComponents();</span> + <span class="d2h-code-line-ctn"> "locale": "de",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 14 + 3 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> "translations": {</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 15 + 4 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> fixture = TestBed.createComponent(BookCreateComponent);</span> + <span class="d2h-code-line-ctn"> "BookCreateComponentTitle": "Buch anlegen",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 16 + 5 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> component = fixture.componentInstance;</span> + <span class="d2h-code-line-ctn"> "BookEditComponentTitle": "Buch bearbeiten",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 17 + 6 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> fixture.detectChanges();</span> + <span class="d2h-code-line-ctn"> "BookFormComponentLabelTitle": "Titel",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 18 + 7 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> });</span> + <span class="d2h-code-line-ctn"> "BookFormComponentLabelSubtitle": "Untertitel",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 19 + 8 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> "BookFormComponentLabelIsbn": "ISBN",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 20 + 9 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> it('should create', () => {</span> + <span class="d2h-code-line-ctn"> "BookFormComponentLabelAuthors": "Autorinnen/Autoren",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 21 + 10 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> expect(component).toBeTruthy();</span> + <span class="d2h-code-line-ctn"> "BookFormComponentAddAuthor": " + Autorin/Autor ",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 22 + 11 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> });</span> + <span class="d2h-code-line-ctn"> "BookFormComponentLabelDescription": "Beschreibung",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 23 + 12 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">});</span> - </div> - </td> -</tr> - </tbody> - </table> - </div> + <span class="d2h-code-line-ctn"> "BookFormComponentLabelPublished": "Veröffentlicht",</span> </div> - </div> -</div> -<div id="d2h-213066" class="d2h-file-wrapper" data-lang="html"> - <div class="d2h-file-header"> - <span class="d2h-file-name-wrapper"> - <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> - <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> - </svg> <span class="d2h-file-name">src/app/admin/book-edit/book-edit.component.html</span> - <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span> -<label class="d2h-file-collapse"> - <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> - Viewed -</label> - </div> - <div class="d2h-files-diff"> - <div class="d2h-file-side-diff"> - <div class="d2h-code-wrapper"> - <table class="d2h-diff-table"> - <tbody class="d2h-diff-tbody"> - <tr> - <td class="d2h-code-side-linenumber d2h-info"></td> - <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -1,4 +1,4 @@</div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 1 + <td class="d2h-code-side-linenumber d2h-ins"> + 13 </td> - <td class="d2h-del d2h-change"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn"><h1>Edit Book</h1></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> "BookFormComponentLabelThumbnail": "Vorschaubild URL",</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 2 + <td class="d2h-code-side-linenumber d2h-ins"> + 14 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> "BookFormComponentSave": " Speichern ",</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 3 + <td class="d2h-code-side-linenumber d2h-ins"> + 15 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><bm-book-form</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> "BookFormComponentErrorTitleRequired": "Ein Titel muss angegeben werden.",</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 4 + <td class="d2h-code-side-linenumber d2h-ins"> + 16 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> *ngIf="book$ | async as book"</span> - </div> - </td> -</tr> - </tbody> - </table> - </div> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> "BookFormComponentErrorIsbnRequired": "Eine ISBN muss angegeben werden.",</span> </div> - <div class="d2h-file-side-diff"> - <div class="d2h-code-wrapper"> - <table class="d2h-diff-table"> - <tbody class="d2h-diff-tbody"> - <tr> - <td class="d2h-code-side-linenumber d2h-info"></td> - <td class="d2h-info"> - <div class="d2h-code-side-line"></div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins d2h-change"> - 1 + <td class="d2h-code-side-linenumber d2h-ins"> + 17 </td> - <td class="d2h-ins d2h-change"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><h1<ins> i18n="title edit book|Title for the edit book page@@BookEditComponentTitle"</ins>>Edit Book</h1></span> + <span class="d2h-code-line-ctn"> "BookFormComponentErrorIsbnFormat": "Die ISBN muss aus 10 oder 13 Zahlen bestehen.",</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 2 + <td class="d2h-code-side-linenumber d2h-ins"> + 18 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> "BookFormComponentErrorIsbnExists": "DIe ISBN existiert bereits.",</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 3 + <td class="d2h-code-side-linenumber d2h-ins"> + 19 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><bm-book-form</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> "BookFormComponentErrorAtLeastOneAuthor": "Es muss mindestens ein Name angegeben werden.",</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 4 + <td class="d2h-code-side-linenumber d2h-ins"> + 20 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> *ngIf="book$ | async as book"</span> - </div> - </td> -</tr> - </tbody> - </table> - </div> - </div> - </div> -</div> -<div id="d2h-458855" class="d2h-file-wrapper" data-lang="ts"> - <div class="d2h-file-header"> - <span class="d2h-file-name-wrapper"> - <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> - <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> - </svg> <span class="d2h-file-name">src/app/admin/book-edit/book-edit.component.spec.ts</span> - <span class="d2h-tag d2h-added d2h-added-tag">ADDED</span></span> -<label class="d2h-file-collapse"> - <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> - Viewed -</label> - </div> - <div class="d2h-files-diff"> - <div class="d2h-file-side-diff"> - <div class="d2h-code-wrapper"> - <table class="d2h-diff-table"> - <tbody class="d2h-diff-tbody"> - <tr> - <td class="d2h-code-side-linenumber d2h-info"></td> - <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -0,0 +1,23 @@</div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr> - </tbody> - </table> - </div> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> "AppComponentHome": "Startseite",</span> </div> - <div class="d2h-file-side-diff"> - <div class="d2h-code-wrapper"> - <table class="d2h-diff-table"> - <tbody class="d2h-diff-tbody"> - <tr> - <td class="d2h-code-side-linenumber d2h-info"></td> - <td class="d2h-info"> - <div class="d2h-code-side-line"></div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 1 + 21 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">import { ComponentFixture, TestBed } from '@angular/core/testing';</span> + <span class="d2h-code-line-ctn"> "AppComponentBooks": "Bücher",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 2 + 22 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> "AppComponentAdmin": "Administration",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 3 + 23 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">import { BookEditComponent } from './book-edit.component';</span> + <span class="d2h-code-line-ctn"> "AppComponentLogin": "Anmelden",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 4 + 24 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> "AppComponentLogout": "Abmelden",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 5 + 25 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">describe('BookEditComponent', () => {</span> + <span class="d2h-code-line-ctn"> "BookDetailsComponentAuthors": "Autorinnen/Autoren",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 6 + 26 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> let component: BookEditComponent;</span> + <span class="d2h-code-line-ctn"> "BookDetailsComponentIsbn": "ISBN",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 7 + 27 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> let fixture: ComponentFixture<BookEditComponent>;</span> + <span class="d2h-code-line-ctn"> "BookDetailsComponentPublished": "Veröffentlicht",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 8 + 28 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> "BookDetailsComponentDescription": "Beschreibung",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 9 + 29 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> beforeEach(async () => {</span> + <span class="d2h-code-line-ctn"> "BookDetailsComponentAltCover": "Buchcover",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 10 + 30 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> await TestBed.configureTestingModule({</span> + <span class="d2h-code-line-ctn"> "BookDetailsComponentBackToList": "Zurück zur Liste",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 11 + 31 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> declarations: [ BookEditComponent ]</span> + <span class="d2h-code-line-ctn"> "BookDetailsComponentRemove": " Buch entfernen ",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 12 + 32 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> })</span> + <span class="d2h-code-line-ctn"> "BookDetailsComponentEdit": " Buch bearbeiten ",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 13 + 33 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> .compileComponents();</span> + <span class="d2h-code-line-ctn"> "BookListItemComponentAltCover": "Buchcover",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 14 + 34 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> "BookListItemComponentIsbn": "ISBN",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 15 + 35 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> fixture = TestBed.createComponent(BookEditComponent);</span> + <span class="d2h-code-line-ctn"> "BookListComponentTitle": "Bücher",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 16 + 36 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> component = fixture.componentInstance;</span> + <span class="d2h-code-line-ctn"> "BookListComponentNoBooks": " Keine Bücher verfügbar. ",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 17 + 37 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> fixture.detectChanges();</span> + <span class="d2h-code-line-ctn"> "HomeComponentTitle": "Startseite",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 18 + 38 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> });</span> + <span class="d2h-code-line-ctn"> "HomeComponentBooks": " Zur Buchliste\n",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 19 + 39 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> "HomeComponentSearchHeadline": "Suche",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 20 + 40 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> it('should create', () => {</span> + <span class="d2h-code-line-ctn"> "SearchComponentInput": "Suche",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 21 + 41 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> expect(component).toBeTruthy();</span> + <span class="d2h-code-line-ctn"> "AuthGuardAlert": "Nicht angemeldet!"</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 22 + 42 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> });</span> + <span class="d2h-code-line-ctn"> }</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 23 + 43 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">});</span> + <span class="d2h-code-line-ctn">}</span> </div> </td> </tr> @@ -4050,12 +3944,12 @@ <h1> </div> </div> </div> -<div id="d2h-498306" class="d2h-file-wrapper" data-lang="html"> +<div id="d2h-775250" class="d2h-file-wrapper" data-lang="html"> <div class="d2h-file-header"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> - </svg> <span class="d2h-file-name">src/app/admin/book-form/book-form.component.html</span> + </svg> <span class="d2h-file-name">src/app/admin/book-create/book-create.component.html</span> <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span> <label class="d2h-file-collapse"> <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> @@ -4070,26 +3964,26 @@ <h1> <tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -1,28 +1,25 @@</div> + <div class="d2h-code-side-line">@@ -1,3 +1,3 @@</div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> + <td class="d2h-code-side-linenumber d2h-del d2h-change"> 1 </td> - <td class="d2h-cntx"> + <td class="d2h-del d2h-change"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><form [formGroup]="form" (ngSubmit)="submitForm()"></span> + <span class="d2h-code-line-prefix">-</span> + <span class="d2h-code-line-ctn"><h1>Create Book</h1></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-del d2h-change"> + <td class="d2h-code-side-linenumber d2h-cntx"> 2 </td> - <td class="d2h-del d2h-change"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn"> <label for="title">Title</label></span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> @@ -4099,462 +3993,623 @@ <h1> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <input id="title" formControlName="title"></span> + <span class="d2h-code-line-ctn"><bm-book-form (submitBook)="create($event)"></bm-book-form></span> + </div> + </td> +</tr> + </tbody> + </table> + </div> + </div> + <div class="d2h-file-side-diff"> + <div class="d2h-code-wrapper"> + <table class="d2h-diff-table"> + <tbody class="d2h-diff-tbody"> + <tr> + <td class="d2h-code-side-linenumber d2h-info"></td> + <td class="d2h-info"> + <div class="d2h-code-side-line"></div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins d2h-change"> + 1 + </td> + <td class="d2h-ins d2h-change"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"><h1<ins> i18n="title create book|Title for the create book page@@BookCreateComponentTitle"</ins>>Create Book</h1></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 4 + 2 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <bm-form-errors</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 5 + 3 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> controlName="title"</span> + <span class="d2h-code-line-ctn"><bm-book-form (submitBook)="create($event)"></bm-book-form></span> + </div> + </td> +</tr> + </tbody> + </table> + </div> </div> + </div> +</div> +<div id="d2h-844021" class="d2h-file-wrapper" data-lang="ts"> + <div class="d2h-file-header"> + <span class="d2h-file-name-wrapper"> + <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> + <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> + </svg> <span class="d2h-file-name">src/app/admin/book-create/book-create.component.spec.ts</span> + <span class="d2h-tag d2h-added d2h-added-tag">ADDED</span></span> +<label class="d2h-file-collapse"> + <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> + Viewed +</label> + </div> + <div class="d2h-files-diff"> + <div class="d2h-file-side-diff"> + <div class="d2h-code-wrapper"> + <table class="d2h-diff-table"> + <tbody class="d2h-diff-tbody"> + <tr> + <td class="d2h-code-side-linenumber d2h-info"></td> + <td class="d2h-info"> + <div class="d2h-code-side-line">@@ -0,0 +1,23 @@</div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 6 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-del d2h-change"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn"> [messages]="<del>{ required: </del>'<del>Title is required</del>'<del> }</del>"></span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 7 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> </bm-form-errors></span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 8 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 9 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-del d2h-change"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn"> <label for="subtitle">Subtitle</label></span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 10 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <input id="subtitle" formControlName="subtitle"></span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 11 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 12 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-del d2h-change"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn"> <label for="isbn">ISBN</label></span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 13 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <input id="isbn" formControlName="isbn"></span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 14 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <bm-form-errors</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 15 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> controlName="isbn"</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 16 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-del d2h-change"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn"> [messages]="<del>{</del></span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-del"> - 17 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-del"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn"> required: 'ISBN is required',</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-del"> - 18 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-del"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn"> isbnformat: 'ISBN must have 10 or 13 chars',</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-del"> - 19 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-del"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn"> isbnexists: 'ISBN already exists'</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-del"> - 20 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-del"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn"> }"></span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 21 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> </bm-form-errors></span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 22 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> <span class="d2h-code-line-ctn"><br></span> </div> </td> +</tr> + </tbody> + </table> + </div> + </div> + <div class="d2h-file-side-diff"> + <div class="d2h-code-wrapper"> + <table class="d2h-diff-table"> + <tbody class="d2h-diff-tbody"> + <tr> + <td class="d2h-code-side-linenumber d2h-info"></td> + <td class="d2h-info"> + <div class="d2h-code-side-line"></div> + </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 23 + <td class="d2h-code-side-linenumber d2h-ins"> + 1 </td> - <td class="d2h-del d2h-change"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn"> <label>Authors</label></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn">import { ComponentFixture, TestBed } from '@angular/core/testing';</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 24 + <td class="d2h-code-side-linenumber d2h-ins"> + 2 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <button type="button" class="add"</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 25 + <td class="d2h-code-side-linenumber d2h-ins"> + 3 </td> - <td class="d2h-del d2h-change"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn"> (click)="addAuthorControl()"<del>></del></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn">import { BookCreateComponent } from './book-create.component';</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 4 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 26 + <td class="d2h-code-side-linenumber d2h-ins"> + 5 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> + Author</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn">describe('BookCreateComponent', () => {</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 27 + <td class="d2h-code-side-linenumber d2h-ins"> + 6 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> </button></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> let component: BookCreateComponent;</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 28 + <td class="d2h-code-side-linenumber d2h-ins"> + 7 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <fieldset formArrayName="authors"></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> let fixture: ComponentFixture<BookCreateComponent>;</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-info"></td> - <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -33,19 +30,19 @@</div> + <td class="d2h-code-side-linenumber d2h-ins"> + 8 + </td> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"><br></span> + </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 33 + <td class="d2h-code-side-linenumber d2h-ins"> + 9 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> </fieldset></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> beforeEach(async () => {</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 34 + <td class="d2h-code-side-linenumber d2h-ins"> + 10 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <bm-form-errors</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> await TestBed.configureTestingModule({</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 35 + <td class="d2h-code-side-linenumber d2h-ins"> + 11 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> controlName="authors"</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> declarations: [ BookCreateComponent ]</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 36 + <td class="d2h-code-side-linenumber d2h-ins"> + 12 </td> - <td class="d2h-del d2h-change"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn"> [messages]="<del>{ atleastonevalue: </del>'<del>At least one author required</del>'<del> }</del>"></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> })</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 37 + <td class="d2h-code-side-linenumber d2h-ins"> + 13 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> </bm-form-errors></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> .compileComponents();</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 38 + <td class="d2h-code-side-linenumber d2h-ins"> + 14 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 39 + <td class="d2h-code-side-linenumber d2h-ins"> + 15 </td> - <td class="d2h-del d2h-change"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn"> <label for="description">Description</label></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> fixture = TestBed.createComponent(BookCreateComponent);</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 40 + <td class="d2h-code-side-linenumber d2h-ins"> + 16 </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <textarea id="description" formControlName="description"></textarea></span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> component = fixture.componentInstance;</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 41 + <td class="d2h-code-side-linenumber d2h-ins"> + 17 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> fixture.detectChanges();</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 42 + <td class="d2h-code-side-linenumber d2h-ins"> + 18 </td> - <td class="d2h-del d2h-change"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn"> <label for="published">Published</label></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> });</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 43 + <td class="d2h-code-side-linenumber d2h-ins"> + 19 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <input type="date" useValueAsLocalIso id="published" formControlName="published"></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 44 + <td class="d2h-code-side-linenumber d2h-ins"> + 20 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> it('should create', () => {</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 45 + <td class="d2h-code-side-linenumber d2h-ins"> + 21 </td> - <td class="d2h-del d2h-change"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn"> <label for="thumbnailUrl">Thumbnail URL</label></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> expect(component).toBeTruthy();</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 46 + <td class="d2h-code-side-linenumber d2h-ins"> + 22 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <input type="url" id="thumbnailUrl" formControlName="thumbnailUrl"></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> });</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 47 + <td class="d2h-code-side-linenumber d2h-ins"> + 23 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn">});</span> + </div> + </td> +</tr> + </tbody> + </table> + </div> </div> + </div> +</div> +<div id="d2h-213066" class="d2h-file-wrapper" data-lang="html"> + <div class="d2h-file-header"> + <span class="d2h-file-name-wrapper"> + <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> + <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> + </svg> <span class="d2h-file-name">src/app/admin/book-edit/book-edit.component.html</span> + <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span> +<label class="d2h-file-collapse"> + <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> + Viewed +</label> + </div> + <div class="d2h-files-diff"> + <div class="d2h-file-side-diff"> + <div class="d2h-code-wrapper"> + <table class="d2h-diff-table"> + <tbody class="d2h-diff-tbody"> + <tr> + <td class="d2h-code-side-linenumber d2h-info"></td> + <td class="d2h-info"> + <div class="d2h-code-side-line">@@ -1,4 +1,4 @@</div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 48 + 1 </td> <td class="d2h-del d2h-change"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn"> <button type="submit" [disabled]="form.invalid"></span> + <span class="d2h-code-line-ctn"><h1>Edit Book</h1></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 49 + 2 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> Save</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 50 + 3 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> </button></span> + <span class="d2h-code-line-ctn"><bm-book-form</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 51 + 4 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"></form></span> + <span class="d2h-code-line-ctn"> *ngIf="book$ | async as book"</span> </div> </td> </tr> @@ -4572,23 +4627,23 @@ <h1> <div class="d2h-code-side-line"></div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> + <td class="d2h-code-side-linenumber d2h-ins d2h-change"> 1 </td> - <td class="d2h-cntx"> + <td class="d2h-ins d2h-change"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><form [formGroup]="form" (ngSubmit)="submitForm()"></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"><h1<ins> i18n="title edit book|Title for the edit book page@@BookEditComponentTitle"</ins>>Edit Book</h1></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins d2h-change"> + <td class="d2h-code-side-linenumber d2h-cntx"> 2 </td> - <td class="d2h-ins d2h-change"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> <label for="title"<ins> i18n="label title|Label for the title input@@BookFormComponentLabelTitle"</ins>>Title</label></span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> @@ -4598,7 +4653,7 @@ <h1> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <input id="title" formControlName="title"></span> + <span class="d2h-code-line-ctn"><bm-book-form</span> </div> </td> </tr><tr> @@ -4608,127 +4663,186 @@ <h1> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <bm-form-errors</span> + <span class="d2h-code-line-ctn"> *ngIf="book$ | async as book"</span> + </div> + </td> +</tr> + </tbody> + </table> + </div> </div> + </div> +</div> +<div id="d2h-458855" class="d2h-file-wrapper" data-lang="ts"> + <div class="d2h-file-header"> + <span class="d2h-file-name-wrapper"> + <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> + <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> + </svg> <span class="d2h-file-name">src/app/admin/book-edit/book-edit.component.spec.ts</span> + <span class="d2h-tag d2h-added d2h-added-tag">ADDED</span></span> +<label class="d2h-file-collapse"> + <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> + Viewed +</label> + </div> + <div class="d2h-files-diff"> + <div class="d2h-file-side-diff"> + <div class="d2h-code-wrapper"> + <table class="d2h-diff-table"> + <tbody class="d2h-diff-tbody"> + <tr> + <td class="d2h-code-side-linenumber d2h-info"></td> + <td class="d2h-info"> + <div class="d2h-code-side-line">@@ -0,0 +1,23 @@</div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 5 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> controlName="title"</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins d2h-change"> - 6 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins d2h-change"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> [messages]="<ins>errorsTranslated(</ins>'<ins>title</ins>'<ins>)</ins>"></span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 7 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> </bm-form-errors></span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 8 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins d2h-change"> - 9 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins d2h-change"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> <label for="subtitle"<ins> i18n="label subtitle|Label for the subtitle input@@BookFormComponentLabelSubtitle"</ins>>Subtitle</label></span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 10 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <input id="subtitle" formControlName="subtitle"></span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 11 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins d2h-change"> - 12 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins d2h-change"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> <label for="isbn"<ins> i18n="label isbn|Label for the ISBN input@@BookFormComponentLabelIsbn"</ins>>ISBN</label></span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 13 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <input id="isbn" formControlName="isbn"></span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 14 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <bm-form-errors</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 15 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> controlName="isbn"</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins d2h-change"> - 16 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins d2h-change"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> [messages]="<ins>errorsTranslated('isbn')"></ins></span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> @@ -4772,288 +4886,287 @@ <h1> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 17 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> </bm-form-errors></span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 18 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins d2h-change"> - 19 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins d2h-change"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> <label<ins> i18n="label authors|Label for the authors inputs@@BookFormComponentLabelAuthors"</ins>>Authors</label></span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 20 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <button type="button" class="add"</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins d2h-change"> - 21 - </td> - <td class="d2h-ins d2h-change"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> (click)="addAuthorControl()"</span> +</tr> + </tbody> + </table> + </div> </div> + <div class="d2h-file-side-diff"> + <div class="d2h-code-wrapper"> + <table class="d2h-diff-table"> + <tbody class="d2h-diff-tbody"> + <tr> + <td class="d2h-code-side-linenumber d2h-info"></td> + <td class="d2h-info"> + <div class="d2h-code-side-line"></div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 22 + 1 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> i18n="button add author|Text for the button to add an author input@@BookFormComponentAddAuthor"></span> + <span class="d2h-code-line-ctn">import { ComponentFixture, TestBed } from '@angular/core/testing';</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 23 + <td class="d2h-code-side-linenumber d2h-ins"> + 2 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> + Author</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 24 + <td class="d2h-code-side-linenumber d2h-ins"> + 3 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> </button></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn">import { BookEditComponent } from './book-edit.component';</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 25 + <td class="d2h-code-side-linenumber d2h-ins"> + 4 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <fieldset formArrayName="authors"></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-info"></td> - <td class="d2h-info"> - <div class="d2h-code-side-line"></div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 30 + <td class="d2h-code-side-linenumber d2h-ins"> + 5 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> </fieldset></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn">describe('BookEditComponent', () => {</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 31 + <td class="d2h-code-side-linenumber d2h-ins"> + 6 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <bm-form-errors</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> let component: BookEditComponent;</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 32 + <td class="d2h-code-side-linenumber d2h-ins"> + 7 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> controlName="authors"</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> let fixture: ComponentFixture<BookEditComponent>;</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins d2h-change"> - 33 + <td class="d2h-code-side-linenumber d2h-ins"> + 8 </td> - <td class="d2h-ins d2h-change"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> [messages]="<ins>errorsTranslated(</ins>'<ins>authors</ins>'<ins>)</ins>"></span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 34 + <td class="d2h-code-side-linenumber d2h-ins"> + 9 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> </bm-form-errors></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> beforeEach(async () => {</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 35 + <td class="d2h-code-side-linenumber d2h-ins"> + 10 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> await TestBed.configureTestingModule({</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins d2h-change"> - 36 + <td class="d2h-code-side-linenumber d2h-ins"> + 11 </td> - <td class="d2h-ins d2h-change"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> <label for="description"<ins> i18n="label description|Label for the description text@@BookFormComponentLabelDescription"</ins>>Description</label></span> + <span class="d2h-code-line-ctn"> declarations: [ BookEditComponent ]</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 37 + <td class="d2h-code-side-linenumber d2h-ins"> + 12 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <textarea id="description" formControlName="description"></textarea></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> })</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 38 + <td class="d2h-code-side-linenumber d2h-ins"> + 13 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> .compileComponents();</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins d2h-change"> - 39 + <td class="d2h-code-side-linenumber d2h-ins"> + 14 </td> - <td class="d2h-ins d2h-change"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> <label for="published"<ins> i18n="label published|Label for the published input@@BookFormComponentLabelPublished"</ins>>Published</label></span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 40 + <td class="d2h-code-side-linenumber d2h-ins"> + 15 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <input type="date" useValueAsLocalIso id="published" formControlName="published"></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> fixture = TestBed.createComponent(BookEditComponent);</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 41 + <td class="d2h-code-side-linenumber d2h-ins"> + 16 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> component = fixture.componentInstance;</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins d2h-change"> - 42 + <td class="d2h-code-side-linenumber d2h-ins"> + 17 </td> - <td class="d2h-ins d2h-change"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> <label for="thumbnailUrl"<ins> i18n="label thumbnail|Label for the thumbnail input@@BookFormComponentLabelThumbnail"</ins>>Thumbnail URL</label></span> + <span class="d2h-code-line-ctn"> fixture.detectChanges();</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 43 + <td class="d2h-code-side-linenumber d2h-ins"> + 18 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <input type="url" id="thumbnailUrl" formControlName="thumbnailUrl"></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> });</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 44 + <td class="d2h-code-side-linenumber d2h-ins"> + 19 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins d2h-change"> - 45 + <td class="d2h-code-side-linenumber d2h-ins"> + 20 </td> - <td class="d2h-ins d2h-change"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> <button type="submit" [disabled]="form.invalid"<ins> i18n="button save|Text for save button@@BookFormComponentSave"</ins>></span> + <span class="d2h-code-line-ctn"> it('should create', () => {</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 46 + <td class="d2h-code-side-linenumber d2h-ins"> + 21 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> Save</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> expect(component).toBeTruthy();</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 47 + <td class="d2h-code-side-linenumber d2h-ins"> + 22 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> </button></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> });</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 48 + <td class="d2h-code-side-linenumber d2h-ins"> + 23 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"></form></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn">});</span> </div> </td> </tr> @@ -5063,13 +5176,13 @@ <h1> </div> </div> </div> -<div id="d2h-976411" class="d2h-file-wrapper" data-lang="ts"> +<div id="d2h-498306" class="d2h-file-wrapper" data-lang="html"> <div class="d2h-file-header"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> - </svg> <span class="d2h-file-name">src/app/admin/book-form/book-form.component.spec.ts</span> - <span class="d2h-tag d2h-added d2h-added-tag">ADDED</span></span> + </svg> <span class="d2h-file-name">src/app/admin/book-form/book-form.component.html</span> + <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span> <label class="d2h-file-collapse"> <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> Viewed @@ -5083,226 +5196,256 @@ <h1> <tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -0,0 +1,23 @@</div> + <div class="d2h-code-side-line">@@ -1,28 +1,25 @@</div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 1 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"><form [formGroup]="form" (ngSubmit)="submitForm()"></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-del d2h-change"> + 2 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-del d2h-change"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">-</span> + <span class="d2h-code-line-ctn"> <label for="title">Title</label></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 3 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> <input id="title" formControlName="title"></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 4 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> <bm-form-errors</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 5 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> controlName="title"</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-del d2h-change"> + 6 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-del d2h-change"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">-</span> + <span class="d2h-code-line-ctn"> [messages]="<del>{ required: </del>'<del>Title is required</del>'<del> }</del>"></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 7 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> </bm-form-errors></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 8 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-del d2h-change"> + 9 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-del d2h-change"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">-</span> + <span class="d2h-code-line-ctn"> <label for="subtitle">Subtitle</label></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-cntx"> + 10 + </td> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> <input id="subtitle" formControlName="subtitle"></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 11 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-del d2h-change"> + 12 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-del d2h-change"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">-</span> + <span class="d2h-code-line-ctn"> <label for="isbn">ISBN</label></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-cntx"> + 13 + </td> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> <input id="isbn" formControlName="isbn"></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 14 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> <bm-form-errors</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 15 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> controlName="isbn"</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-del d2h-change"> + 16 + </td> + <td class="d2h-del d2h-change"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">-</span> + <span class="d2h-code-line-ctn"> [messages]="<del>{</del></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-del"> + 17 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-del"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">-</span> + <span class="d2h-code-line-ctn"> required: 'ISBN is required',</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-del"> + 18 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-del"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">-</span> + <span class="d2h-code-line-ctn"> isbnformat: 'ISBN must have 10 or 13 chars',</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-del"> + 19 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-del"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">-</span> + <span class="d2h-code-line-ctn"> isbnexists: 'ISBN already exists'</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-del"> + 20 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-del"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">-</span> + <span class="d2h-code-line-ctn"> }"></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 21 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> </bm-form-errors></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 22 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-del d2h-change"> + 23 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-del d2h-change"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">-</span> + <span class="d2h-code-line-ctn"> <label>Authors</label></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 24 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> <button type="button" class="add"</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-del d2h-change"> + 25 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-del d2h-change"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">-</span> + <span class="d2h-code-line-ctn"> (click)="addAuthorControl()"<del>></del></span> </div> </td> </tr><tr> @@ -5315,248 +5458,229 @@ <h1> <span class="d2h-code-line-ctn"><br></span> </div> </td> -</tr> - </tbody> - </table> - </div> - </div> - <div class="d2h-file-side-diff"> - <div class="d2h-code-wrapper"> - <table class="d2h-diff-table"> - <tbody class="d2h-diff-tbody"> - <tr> - <td class="d2h-code-side-linenumber d2h-info"></td> - <td class="d2h-info"> - <div class="d2h-code-side-line"></div> - </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 1 + <td class="d2h-code-side-linenumber d2h-cntx"> + 26 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">import { ComponentFixture, TestBed } from '@angular/core/testing';</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> + Author</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 2 + <td class="d2h-code-side-linenumber d2h-cntx"> + 27 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> </button></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 3 + <td class="d2h-code-side-linenumber d2h-cntx"> + 28 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">import { BookFormComponent } from './book-form.component';</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> <fieldset formArrayName="authors"></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 4 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> - </div> + <td class="d2h-code-side-linenumber d2h-info"></td> + <td class="d2h-info"> + <div class="d2h-code-side-line">@@ -33,19 +30,19 @@</div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 5 + <td class="d2h-code-side-linenumber d2h-cntx"> + 33 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">describe('BookFormComponent', () => {</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> </fieldset></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 6 + <td class="d2h-code-side-linenumber d2h-cntx"> + 34 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> let component: BookFormComponent;</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> <bm-form-errors</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 7 + <td class="d2h-code-side-linenumber d2h-cntx"> + 35 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> let fixture: ComponentFixture<BookFormComponent>;</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> controlName="authors"</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 8 + <td class="d2h-code-side-linenumber d2h-del d2h-change"> + 36 </td> - <td class="d2h-ins"> + <td class="d2h-del d2h-change"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-prefix">-</span> + <span class="d2h-code-line-ctn"> [messages]="<del>{ atleastonevalue: </del>'<del>At least one author required</del>'<del> }</del>"></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 9 + <td class="d2h-code-side-linenumber d2h-cntx"> + 37 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> beforeEach(async () => {</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> </bm-form-errors></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 10 + <td class="d2h-code-side-linenumber d2h-cntx"> + 38 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> await TestBed.configureTestingModule({</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 11 + <td class="d2h-code-side-linenumber d2h-del d2h-change"> + 39 </td> - <td class="d2h-ins"> + <td class="d2h-del d2h-change"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> declarations: [ BookFormComponent ]</span> + <span class="d2h-code-line-prefix">-</span> + <span class="d2h-code-line-ctn"> <label for="description">Description</label></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 12 + <td class="d2h-code-side-linenumber d2h-cntx"> + 40 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> })</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> <textarea id="description" formControlName="description"></textarea></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 13 + <td class="d2h-code-side-linenumber d2h-cntx"> + 41 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> .compileComponents();</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 14 + <td class="d2h-code-side-linenumber d2h-del d2h-change"> + 42 </td> - <td class="d2h-ins"> + <td class="d2h-del d2h-change"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-prefix">-</span> + <span class="d2h-code-line-ctn"> <label for="published">Published</label></span> </div> </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 15 +</tr><tr> + <td class="d2h-code-side-linenumber d2h-cntx"> + 43 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> fixture = TestBed.createComponent(BookFormComponent);</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> <input type="date" useValueAsLocalIso id="published" formControlName="published"></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 16 + <td class="d2h-code-side-linenumber d2h-cntx"> + 44 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> component = fixture.componentInstance;</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 17 + <td class="d2h-code-side-linenumber d2h-del d2h-change"> + 45 </td> - <td class="d2h-ins"> + <td class="d2h-del d2h-change"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> fixture.detectChanges();</span> + <span class="d2h-code-line-prefix">-</span> + <span class="d2h-code-line-ctn"> <label for="thumbnailUrl">Thumbnail URL</label></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 18 + <td class="d2h-code-side-linenumber d2h-cntx"> + 46 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> });</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> <input type="url" id="thumbnailUrl" formControlName="thumbnailUrl"></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 19 + <td class="d2h-code-side-linenumber d2h-cntx"> + 47 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-prefix"> </span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 20 + <td class="d2h-code-side-linenumber d2h-del d2h-change"> + 48 </td> - <td class="d2h-ins"> + <td class="d2h-del d2h-change"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> it('should create', () => {</span> + <span class="d2h-code-line-prefix">-</span> + <span class="d2h-code-line-ctn"> <button type="submit" [disabled]="form.invalid"></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 21 + <td class="d2h-code-side-linenumber d2h-cntx"> + 49 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> expect(component).toBeTruthy();</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> Save</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 22 + <td class="d2h-code-side-linenumber d2h-cntx"> + 50 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> });</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> </button></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 23 + <td class="d2h-code-side-linenumber d2h-cntx"> + 51 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">});</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"></form></span> </div> </td> </tr> @@ -5564,21 +5688,6 @@ <h1> </table> </div> </div> - </div> -</div> -<div id="d2h-547818" class="d2h-file-wrapper" data-lang="ts"> - <div class="d2h-file-header"> - <span class="d2h-file-name-wrapper"> - <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> - <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> - </svg> <span class="d2h-file-name">src/app/admin/book-form/book-form.component.ts</span> - <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span> -<label class="d2h-file-collapse"> - <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> - Viewed -</label> - </div> - <div class="d2h-files-diff"> <div class="d2h-file-side-diff"> <div class="d2h-code-wrapper"> <table class="d2h-diff-table"> @@ -5586,116 +5695,166 @@ <h1> <tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -88,4 +88,21 @@ export class BookFormComponent implements OnChanges {</div> + <div class="d2h-code-side-line"></div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 88 + 1 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"><form [formGroup]="form" (ngSubmit)="submitForm()"></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins d2h-change"> + 2 + </td> + <td class="d2h-ins d2h-change"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> <label for="title"<ins> i18n="label title|Label for the title input@@BookFormComponentLabelTitle"</ins>>Title</label></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 89 + 3 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> this.submitBook.emit(newBook);</span> + <span class="d2h-code-line-ctn"> <input id="title" formControlName="title"></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 90 + 4 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> }</span> + <span class="d2h-code-line-ctn"> <bm-form-errors</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 5 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> controlName="title"</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins d2h-change"> + 6 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-ins d2h-change"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> [messages]="<ins>errorsTranslated(</ins>'<ins>title</ins>'<ins>)</ins>"></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-cntx"> + 7 + </td> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> </bm-form-errors></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 8 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins d2h-change"> + 9 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-ins d2h-change"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> <label for="subtitle"<ins> i18n="label subtitle|Label for the subtitle input@@BookFormComponentLabelSubtitle"</ins>>Subtitle</label></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-cntx"> + 10 + </td> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> <input id="subtitle" formControlName="subtitle"></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 11 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins d2h-change"> + 12 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-ins d2h-change"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> <label for="isbn"<ins> i18n="label isbn|Label for the ISBN input@@BookFormComponentLabelIsbn"</ins>>ISBN</label></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-cntx"> + 13 + </td> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> <input id="isbn" formControlName="isbn"></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 14 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> <bm-form-errors</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 15 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> controlName="isbn"</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins d2h-change"> + 16 + </td> + <td class="d2h-ins d2h-change"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> [messages]="<ins>errorsTranslated('isbn')"></ins></span> </div> </td> </tr><tr> @@ -5739,287 +5898,288 @@ <h1> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 17 + </td> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> </bm-form-errors></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-cntx"> + 18 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins d2h-change"> + 19 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-ins d2h-change"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> <label<ins> i18n="label authors|Label for the authors inputs@@BookFormComponentLabelAuthors"</ins>>Authors</label></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 20 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> <button type="button" class="add"</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins d2h-change"> + 21 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-ins d2h-change"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> (click)="addAuthorControl()"</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 22 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> i18n="button add author|Text for the button to add an author input@@BookFormComponentAddAuthor"></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 91 + 23 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn">}</span> - </div> - </td> -</tr> - </tbody> - </table> - </div> + <span class="d2h-code-line-ctn"> + Author</span> </div> - <div class="d2h-file-side-diff"> - <div class="d2h-code-wrapper"> - <table class="d2h-diff-table"> - <tbody class="d2h-diff-tbody"> - <tr> - <td class="d2h-code-side-linenumber d2h-info"></td> - <td class="d2h-info"> - <div class="d2h-code-side-line"></div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 88 + 24 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> </button></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 89 + 25 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> this.submitBook.emit(newBook);</span> + <span class="d2h-code-line-ctn"> <fieldset formArrayName="authors"></span> </div> </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-info"></td> + <td class="d2h-info"> + <div class="d2h-code-side-line"></div> + </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 90 + 30 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> }</span> + <span class="d2h-code-line-ctn"> </fieldset></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 91 + <td class="d2h-code-side-linenumber d2h-cntx"> + 31 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> <bm-form-errors</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 92 + <td class="d2h-code-side-linenumber d2h-cntx"> + 32 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> errorsTranslated(controlName: string) {</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> controlName="authors"</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 93 + <td class="d2h-code-side-linenumber d2h-ins d2h-change"> + 33 </td> - <td class="d2h-ins"> + <td class="d2h-ins d2h-change"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> const errorTexts: { [controlName: string]: { [errorCode: string]: string }} = {</span> + <span class="d2h-code-line-ctn"> [messages]="<ins>errorsTranslated(</ins>'<ins>authors</ins>'<ins>)</ins>"></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 94 + <td class="d2h-code-side-linenumber d2h-cntx"> + 34 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> title: {</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> </bm-form-errors></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 95 + <td class="d2h-code-side-linenumber d2h-cntx"> + 35 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> required: $localize`:title required error@@BookFormComponentErrorTitleRequired:Title is required`</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 96 + <td class="d2h-code-side-linenumber d2h-ins d2h-change"> + 36 </td> - <td class="d2h-ins"> + <td class="d2h-ins d2h-change"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> },</span> + <span class="d2h-code-line-ctn"> <label for="description"<ins> i18n="label description|Label for the description text@@BookFormComponentLabelDescription"</ins>>Description</label></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 97 + <td class="d2h-code-side-linenumber d2h-cntx"> + 37 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> isbn: {</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> <textarea id="description" formControlName="description"></textarea></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 98 + <td class="d2h-code-side-linenumber d2h-cntx"> + 38 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> required: $localize`:isbn required error@@BookFormComponentErrorIsbnRequired:ISBN is required`,</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 99 + <td class="d2h-code-side-linenumber d2h-ins d2h-change"> + 39 </td> - <td class="d2h-ins"> + <td class="d2h-ins d2h-change"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> isbnformat: $localize`:isbn format error@@BookFormComponentErrorIsbnFormat:ISBN must have 10 or 13 characters`,</span> + <span class="d2h-code-line-ctn"> <label for="published"<ins> i18n="label published|Label for the published input@@BookFormComponentLabelPublished"</ins>>Published</label></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 100 + <td class="d2h-code-side-linenumber d2h-cntx"> + 40 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> isbnexists: $localize`:isbn exists error@@BookFormComponentErrorIsbnExists:ISBN already exists`,</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> <input type="date" useValueAsLocalIso id="published" formControlName="published"></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 101 + <td class="d2h-code-side-linenumber d2h-cntx"> + 41 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> },</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 102 + <td class="d2h-code-side-linenumber d2h-ins d2h-change"> + 42 </td> - <td class="d2h-ins"> + <td class="d2h-ins d2h-change"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> authors: {</span> + <span class="d2h-code-line-ctn"> <label for="thumbnailUrl"<ins> i18n="label thumbnail|Label for the thumbnail input@@BookFormComponentLabelThumbnail"</ins>>Thumbnail URL</label></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 103 + <td class="d2h-code-side-linenumber d2h-cntx"> + 43 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> atleastonevalue: $localize`:at least one author error@@BookFormComponentErrorAtLeastOneAuthor:At least one author required`</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> <input type="url" id="thumbnailUrl" formControlName="thumbnailUrl"></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 104 + <td class="d2h-code-side-linenumber d2h-cntx"> + 44 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> }</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 105 + <td class="d2h-code-side-linenumber d2h-ins d2h-change"> + 45 </td> - <td class="d2h-ins"> + <td class="d2h-ins d2h-change"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> }</span> + <span class="d2h-code-line-ctn"> <button type="submit" [disabled]="form.invalid"<ins> i18n="button save|Text for save button@@BookFormComponentSave"</ins>></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 106 + <td class="d2h-code-side-linenumber d2h-cntx"> + 46 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> return errorTexts[controlName] || {};</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> Save</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 107 + <td class="d2h-code-side-linenumber d2h-cntx"> + 47 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> }</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> </button></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 108 + 48 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn">}</span> + <span class="d2h-code-line-ctn"></form></span> </div> </td> </tr> @@ -6029,12 +6189,12 @@ <h1> </div> </div> </div> -<div id="d2h-169587" class="d2h-file-wrapper" data-lang="ts"> +<div id="d2h-976411" class="d2h-file-wrapper" data-lang="ts"> <div class="d2h-file-header"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> - </svg> <span class="d2h-file-name">src/app/admin/form-errors/form-errors.component.spec.ts</span> + </svg> <span class="d2h-file-name">src/app/admin/book-form/book-form.component.spec.ts</span> <span class="d2h-tag d2h-added d2h-added-tag">ADDED</span></span> <label class="d2h-file-collapse"> <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> @@ -6322,7 +6482,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">import { FormErrorsComponent } from './form-errors.component';</span> + <span class="d2h-code-line-ctn">import { BookFormComponent } from './book-form.component';</span> </div> </td> </tr><tr> @@ -6342,7 +6502,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">describe('FormErrorsComponent', () => {</span> + <span class="d2h-code-line-ctn">describe('BookFormComponent', () => {</span> </div> </td> </tr><tr> @@ -6352,7 +6512,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> let component: FormErrorsComponent;</span> + <span class="d2h-code-line-ctn"> let component: BookFormComponent;</span> </div> </td> </tr><tr> @@ -6362,7 +6522,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> let fixture: ComponentFixture<FormErrorsComponent>;</span> + <span class="d2h-code-line-ctn"> let fixture: ComponentFixture<BookFormComponent>;</span> </div> </td> </tr><tr> @@ -6402,7 +6562,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> declarations: [ FormErrorsComponent ]</span> + <span class="d2h-code-line-ctn"> declarations: [ BookFormComponent ]</span> </div> </td> </tr><tr> @@ -6442,7 +6602,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> fixture = TestBed.createComponent(FormErrorsComponent);</span> + <span class="d2h-code-line-ctn"> fixture = TestBed.createComponent(BookFormComponent);</span> </div> </td> </tr><tr> @@ -6532,13 +6692,13 @@ <h1> </div> </div> </div> -<div id="d2h-538894" class="d2h-file-wrapper" data-lang="ts"> +<div id="d2h-547818" class="d2h-file-wrapper" data-lang="ts"> <div class="d2h-file-header"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> - </svg> <span class="d2h-file-name">src/app/admin/shared/async-validators.service.spec.ts</span> - <span class="d2h-tag d2h-added d2h-added-tag">ADDED</span></span> + </svg> <span class="d2h-file-name">src/app/admin/book-form/book-form.component.ts</span> + <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span> <label class="d2h-file-collapse"> <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> Viewed @@ -6552,7 +6712,47 @@ <h1> <tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -0,0 +1,16 @@</div> + <div class="d2h-code-side-line">@@ -88,4 +88,21 @@ export class BookFormComponent implements OnChanges {</div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-cntx"> + 88 + </td> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-cntx"> + 89 + </td> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> this.submitBook.emit(newBook);</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-cntx"> + 90 + </td> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> }</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> @@ -6714,6 +6914,16 @@ <h1> <span class="d2h-code-line-ctn"><br></span> </div> </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-cntx"> + 91 + </td> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn">}</span> + </div> + </td> </tr> </tbody> </table> @@ -6728,164 +6938,214 @@ <h1> <td class="d2h-info"> <div class="d2h-code-side-line"></div> </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-cntx"> + 88 + </td> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-cntx"> + 89 + </td> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> this.submitBook.emit(newBook);</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-cntx"> + 90 + </td> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> }</span> + </div> + </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 1 + 91 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">import { TestBed } from '@angular/core/testing';</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 2 + 92 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> errorsTranslated(controlName: string) {</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 3 + 93 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">import { AsyncValidatorsService } from './async-validators.service';</span> + <span class="d2h-code-line-ctn"> const errorTexts: { [controlName: string]: { [errorCode: string]: string }} = {</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 4 + 94 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> title: {</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 5 + 95 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">describe('AsyncValidatorsService', () => {</span> + <span class="d2h-code-line-ctn"> required: $localize`:title required error@@BookFormComponentErrorTitleRequired:Title is required`</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 6 + 96 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> let service: AsyncValidatorsService;</span> + <span class="d2h-code-line-ctn"> },</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 7 + 97 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> isbn: {</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 8 + 98 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> beforeEach(() => {</span> + <span class="d2h-code-line-ctn"> required: $localize`:isbn required error@@BookFormComponentErrorIsbnRequired:ISBN is required`,</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 9 + 99 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> TestBed.configureTestingModule({});</span> + <span class="d2h-code-line-ctn"> isbnformat: $localize`:isbn format error@@BookFormComponentErrorIsbnFormat:ISBN must have 10 or 13 characters`,</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 10 + 100 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> service = TestBed.inject(AsyncValidatorsService);</span> + <span class="d2h-code-line-ctn"> isbnexists: $localize`:isbn exists error@@BookFormComponentErrorIsbnExists:ISBN already exists`,</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 11 + 101 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> });</span> + <span class="d2h-code-line-ctn"> },</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 12 + 102 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> authors: {</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 13 + 103 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> it('should be created', () => {</span> + <span class="d2h-code-line-ctn"> atleastonevalue: $localize`:at least one author error@@BookFormComponentErrorAtLeastOneAuthor:At least one author required`</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 14 + 104 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> expect(service).toBeTruthy();</span> + <span class="d2h-code-line-ctn"> }</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 15 + 105 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> });</span> + <span class="d2h-code-line-ctn"> }</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 16 + 106 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">});</span> + <span class="d2h-code-line-ctn"> return errorTexts[controlName] || {};</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins"> + 107 + </td> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> }</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-cntx"> + 108 + </td> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn">}</span> </div> </td> </tr> @@ -6895,13 +7155,13 @@ <h1> </div> </div> </div> -<div id="d2h-130594" class="d2h-file-wrapper" data-lang="html"> +<div id="d2h-169587" class="d2h-file-wrapper" data-lang="ts"> <div class="d2h-file-header"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> - </svg> <span class="d2h-file-name">src/app/app.component.html</span> - <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span> + </svg> <span class="d2h-file-name">src/app/admin/form-errors/form-errors.component.spec.ts</span> + <span class="d2h-tag d2h-added d2h-added-tag">ADDED</span></span> <label class="d2h-file-collapse"> <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> Viewed @@ -6915,86 +7175,136 @@ <h1> <tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -1,14 +1,18 @@</div> + <div class="d2h-code-side-line">@@ -0,0 +1,23 @@</div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 1 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><nav></span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 2 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-del d2h-change"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn"> <a routerLink="/home" routerLinkActive="active" ariaCurrentWhenActive="page">Home</a></span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 3 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-del d2h-change"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn"> <a routerLink="/books" routerLinkActive="active" ariaCurrentWhenActive="page">Books</a></span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 4 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-del d2h-change"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn"> <a routerLink="/admin" routerLinkActive="active" ariaCurrentWhenActive="page">Administration</a></span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 5 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <div class="actions"></span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 6 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <button class="green"</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 7 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> (click)="auth.login()"</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 8 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-del d2h-change"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn"> *ngIf="!auth.isAuthenticated"<del>>Login</button></del></span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> @@ -7008,33 +7318,33 @@ <h1> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 9 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <button class="red"</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 10 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> (click)="auth.logout()"</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 11 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-del d2h-change"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn"> *ngIf="auth.isAuthenticated"<del>>Logout</button></del></span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> @@ -7068,31 +7378,31 @@ <h1> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 12 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> </div></span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 13 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"></nav></span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 14 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> <span class="d2h-code-line-ctn"><br></span> </div> @@ -7112,83 +7422,83 @@ <h1> <div class="d2h-code-side-line"></div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> + <td class="d2h-code-side-linenumber d2h-ins"> 1 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><nav></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn">import { ComponentFixture, TestBed } from '@angular/core/testing';</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins d2h-change"> + <td class="d2h-code-side-linenumber d2h-ins"> 2 </td> - <td class="d2h-ins d2h-change"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> <a routerLink="/home" routerLinkActive="active" ariaCurrentWhenActive="page"<ins> i18n="nav home@@AppComponentHome"</ins>>Home</a></span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins d2h-change"> + <td class="d2h-code-side-linenumber d2h-ins"> 3 </td> - <td class="d2h-ins d2h-change"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> <a routerLink="/books" routerLinkActive="active" ariaCurrentWhenActive="page"<ins> i18n="nav books@@AppComponentBooks"</ins>>Books</a></span> + <span class="d2h-code-line-ctn">import { FormErrorsComponent } from './form-errors.component';</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins d2h-change"> + <td class="d2h-code-side-linenumber d2h-ins"> 4 </td> - <td class="d2h-ins d2h-change"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> <a routerLink="/admin" routerLinkActive="active" ariaCurrentWhenActive="page"<ins> i18n="nav admin@@AppComponentAdmin"</ins>>Administration</a></span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> + <td class="d2h-code-side-linenumber d2h-ins"> 5 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <div class="actions"></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn">describe('FormErrorsComponent', () => {</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> + <td class="d2h-code-side-linenumber d2h-ins"> 6 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <button class="green"</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> let component: FormErrorsComponent;</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> + <td class="d2h-code-side-linenumber d2h-ins"> 7 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> (click)="auth.login()"</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> let fixture: ComponentFixture<FormErrorsComponent>;</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins d2h-change"> + <td class="d2h-code-side-linenumber d2h-ins"> 8 </td> - <td class="d2h-ins d2h-change"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> *ngIf="!auth.isAuthenticated"</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> @@ -7198,97 +7508,147 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> i18n="login@@AppComponentLogin">Login</button></span> + <span class="d2h-code-line-ctn"> beforeEach(async () => {</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> + <td class="d2h-code-side-linenumber d2h-ins"> 10 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <button class="red"</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> await TestBed.configureTestingModule({</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> + <td class="d2h-code-side-linenumber d2h-ins"> 11 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> (click)="auth.logout()"</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> declarations: [ FormErrorsComponent ]</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins d2h-change"> + <td class="d2h-code-side-linenumber d2h-ins"> 12 </td> - <td class="d2h-ins d2h-change"> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> })</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins"> + 13 + </td> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> .compileComponents();</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins"> + 14 + </td> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins"> + 15 + </td> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> fixture = TestBed.createComponent(FormErrorsComponent);</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins"> + 16 + </td> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> component = fixture.componentInstance;</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins"> + 17 + </td> + <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> *ngIf="auth.isAuthenticated"</span> + <span class="d2h-code-line-ctn"> fixture.detectChanges();</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 13 + 18 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> i18n="logout@@AppComponentLogout">Logout</button></span> + <span class="d2h-code-line-ctn"> });</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 14 + 19 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> <button (click)="changeLocale('de')">DE</button></span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 15 + 20 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> <button (click)="changeLocale('en')">EN</button></span> + <span class="d2h-code-line-ctn"> it('should create', () => {</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 16 + <td class="d2h-code-side-linenumber d2h-ins"> + 21 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> </div></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> expect(component).toBeTruthy();</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 17 + <td class="d2h-code-side-linenumber d2h-ins"> + 22 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"></nav></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> });</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 18 + <td class="d2h-code-side-linenumber d2h-ins"> + 23 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn">});</span> </div> </td> </tr> @@ -7298,13 +7658,13 @@ <h1> </div> </div> </div> -<div id="d2h-179574" class="d2h-file-wrapper" data-lang="ts"> +<div id="d2h-538894" class="d2h-file-wrapper" data-lang="ts"> <div class="d2h-file-header"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> - </svg> <span class="d2h-file-name">src/app/app.component.ts</span> - <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span> + </svg> <span class="d2h-file-name">src/app/admin/shared/async-validators.service.spec.ts</span> + <span class="d2h-tag d2h-added d2h-added-tag">ADDED</span></span> <label class="d2h-file-collapse"> <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> Viewed @@ -7318,36 +7678,36 @@ <h1> <tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -9,4 +9,9 @@ import { AuthService } from './shared/auth.service';</div> + <div class="d2h-code-side-line">@@ -0,0 +1,16 @@</div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 9 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn">})</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 10 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn">export class AppComponent {</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 11 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> constructor(public auth: AuthService) {}</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> @@ -7401,117 +7761,83 @@ <h1> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 12 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn">}</span> - </div> - </td> -</tr> - </tbody> - </table> - </div> + <span class="d2h-code-line-ctn"><br></span> </div> - <div class="d2h-file-side-diff"> - <div class="d2h-code-wrapper"> - <table class="d2h-diff-table"> - <tbody class="d2h-diff-tbody"> - <tr> - <td class="d2h-code-side-linenumber d2h-info"></td> - <td class="d2h-info"> - <div class="d2h-code-side-line"></div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 9 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn">})</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 10 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn">export class AppComponent {</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 11 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> constructor(public auth: AuthService) {}</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 12 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 13 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> changeLocale(targetLang: string) {</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 14 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> localStorage.setItem('locale', targetLang);</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 15 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> location.reload();</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 16 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> }</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 17 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn">}</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr> @@ -7519,21 +7845,6 @@ <h1> </table> </div> </div> - </div> -</div> -<div id="d2h-267687" class="d2h-file-wrapper" data-lang="html"> - <div class="d2h-file-header"> - <span class="d2h-file-name-wrapper"> - <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> - <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> - </svg> <span class="d2h-file-name">src/app/books/book-details/book-details.component.html</span> - <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span> -<label class="d2h-file-collapse"> - <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> - Viewed -</label> - </div> - <div class="d2h-files-diff"> <div class="d2h-file-side-diff"> <div class="d2h-code-wrapper"> <table class="d2h-diff-table"> @@ -7541,236 +7852,275 @@ <h1> <tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -3,32 +3,34 @@</div> + <div class="d2h-code-side-line"></div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> + <td class="d2h-code-side-linenumber d2h-ins"> + 1 + </td> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn">import { TestBed } from '@angular/core/testing';</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins"> + 2 + </td> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins"> 3 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <p role="doc-subtitle" *ngIf="book.subtitle">{{ book.subtitle }}</p></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn">import { AsyncValidatorsService } from './async-validators.service';</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> + <td class="d2h-code-side-linenumber d2h-ins"> 4 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <div class="header"></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> + <td class="d2h-code-side-linenumber d2h-ins"> 5 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <div></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn">describe('AsyncValidatorsService', () => {</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-del d2h-change"> + <td class="d2h-code-side-linenumber d2h-ins"> 6 </td> - <td class="d2h-del d2h-change"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn"> <h2>Authors</h2></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> let service: AsyncValidatorsService;</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> + <td class="d2h-code-side-linenumber d2h-ins"> 7 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <ul></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> + <td class="d2h-code-side-linenumber d2h-ins"> 8 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <li *ngFor="let author of book.authors">{{ author }}</li></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> beforeEach(() => {</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> + <td class="d2h-code-side-linenumber d2h-ins"> 9 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> </ul></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> TestBed.configureTestingModule({});</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> + <td class="d2h-code-side-linenumber d2h-ins"> 10 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> </div></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> service = TestBed.inject(AsyncValidatorsService);</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> + <td class="d2h-code-side-linenumber d2h-ins"> 11 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <div></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> });</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-del d2h-change"> + <td class="d2h-code-side-linenumber d2h-ins"> 12 </td> - <td class="d2h-del d2h-change"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn"> <h2>ISBN</h2></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> + <td class="d2h-code-side-linenumber d2h-ins"> 13 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> {{ book.isbn | isbn }}</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> it('should be created', () => {</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> + <td class="d2h-code-side-linenumber d2h-ins"> 14 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> </div></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> expect(service).toBeTruthy();</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> + <td class="d2h-code-side-linenumber d2h-ins"> 15 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <div *ngIf="book.published"></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> });</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-del d2h-change"> + <td class="d2h-code-side-linenumber d2h-ins"> 16 </td> - <td class="d2h-del d2h-change"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn"> <h2>Published</h2></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn">});</span> </div> </td> +</tr> + </tbody> + </table> + </div> + </div> + </div> +</div> +<div id="d2h-130594" class="d2h-file-wrapper" data-lang="html"> + <div class="d2h-file-header"> + <span class="d2h-file-name-wrapper"> + <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> + <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> + </svg> <span class="d2h-file-name">src/app/app.component.html</span> + <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span> +<label class="d2h-file-collapse"> + <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> + Viewed +</label> + </div> + <div class="d2h-files-diff"> + <div class="d2h-file-side-diff"> + <div class="d2h-code-wrapper"> + <table class="d2h-diff-table"> + <tbody class="d2h-diff-tbody"> + <tr> + <td class="d2h-code-side-linenumber d2h-info"></td> + <td class="d2h-info"> + <div class="d2h-code-side-line">@@ -1,14 +1,18 @@</div> + </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 17 + 1 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> {{ book.published | date:'longDate' }}</span> + <span class="d2h-code-line-ctn"><nav></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 18 + <td class="d2h-code-side-linenumber d2h-del d2h-change"> + 2 </td> - <td class="d2h-cntx"> + <td class="d2h-del d2h-change"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> </div></span> + <span class="d2h-code-line-prefix">-</span> + <span class="d2h-code-line-ctn"> <a routerLink="/home" routerLinkActive="active" ariaCurrentWhenActive="page">Home</a></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 19 + <td class="d2h-code-side-linenumber d2h-del d2h-change"> + 3 </td> - <td class="d2h-cntx"> + <td class="d2h-del d2h-change"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> </div></span> + <span class="d2h-code-line-prefix">-</span> + <span class="d2h-code-line-ctn"> <a routerLink="/books" routerLinkActive="active" ariaCurrentWhenActive="page">Books</a></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 20 + 4 </td> <td class="d2h-del d2h-change"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn"> <h2>Description</h2></span> + <span class="d2h-code-line-ctn"> <a routerLink="/admin" routerLinkActive="active" ariaCurrentWhenActive="page">Administration</a></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 21 + 5 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <p>{{ book.description }}</p></span> + <span class="d2h-code-line-ctn"> <div class="actions"></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 22 + 6 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <img *ngIf="book.thumbnailUrl"</span> + <span class="d2h-code-line-ctn"> <button class="green"</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 23 + 7 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> [src]="book.thumbnailUrl"</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 24 - </td> - <td class="d2h-del d2h-change"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn"> alt="Cover"<del>></del></span> + <span class="d2h-code-line-ctn"> (click)="auth.login()"</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 25 + 8 </td> <td class="d2h-del d2h-change"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn"><del> <a class</del>="<del>button</del> <del>arrow-left"</del> <del>routerLink="..">Back</del> <del>to</del> <del>list</a</del>></span> + <span class="d2h-code-line-ctn"> *ngIf="!auth.isAuthenticated"<del>>Login</button></del></span> </div> </td> </tr><tr> @@ -7785,62 +8135,52 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 26 + 9 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <ng-container *bmLoggedinOnly></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 27 - </td> - <td class="d2h-del d2h-change"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn"> <button class="red" bmConfirm="Remove book?" (confirm)="removeBook(book.isbn)"></span> + <span class="d2h-code-line-ctn"> <button class="red"</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 28 + 10 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> Remove book</span> + <span class="d2h-code-line-ctn"> (click)="auth.logout()"</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 29 + <td class="d2h-code-side-linenumber d2h-del d2h-change"> + 11 </td> - <td class="d2h-cntx"> + <td class="d2h-del d2h-change"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> </button></span> + <span class="d2h-code-line-prefix">-</span> + <span class="d2h-code-line-ctn"> *ngIf="auth.isAuthenticated"<del>>Logout</button></del></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 30 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <a class="button"</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 31 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-del d2h-change"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn"> [routerLink]="['/admin/edit', book.isbn]"<del>></del></span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> @@ -7855,32 +8195,32 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 32 + 12 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> Edit book</span> + <span class="d2h-code-line-ctn"> </div></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 33 + 13 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> </a></span> + <span class="d2h-code-line-ctn"></nav></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 34 + 14 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> </ng-container></span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr> @@ -7898,23 +8238,43 @@ <h1> <div class="d2h-code-side-line"></div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> + <td class="d2h-code-side-linenumber d2h-cntx"> + 1 + </td> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><nav></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins d2h-change"> + 2 + </td> + <td class="d2h-ins d2h-change"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> <a routerLink="/home" routerLinkActive="active" ariaCurrentWhenActive="page"<ins> i18n="nav home@@AppComponentHome"</ins>>Home</a></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins d2h-change"> 3 </td> - <td class="d2h-cntx"> + <td class="d2h-ins d2h-change"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <p role="doc-subtitle" *ngIf="book.subtitle">{{ book.subtitle }}</p></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> <a routerLink="/books" routerLinkActive="active" ariaCurrentWhenActive="page"<ins> i18n="nav books@@AppComponentBooks"</ins>>Books</a></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> + <td class="d2h-code-side-linenumber d2h-ins d2h-change"> 4 </td> - <td class="d2h-cntx"> + <td class="d2h-ins d2h-change"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <div class="header"></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> <a routerLink="/admin" routerLinkActive="active" ariaCurrentWhenActive="page"<ins> i18n="nav admin@@AppComponentAdmin"</ins>>Administration</a></span> </div> </td> </tr><tr> @@ -7924,17 +8284,17 @@ <h1> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <div></span> + <span class="d2h-code-line-ctn"> <div class="actions"></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins d2h-change"> + <td class="d2h-code-side-linenumber d2h-cntx"> 6 </td> - <td class="d2h-ins d2h-change"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> <h2<ins> i18n="headline authors|Headline for the authors@@BookDetailsComponentAuthors"</ins>>Authors</h2></span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> <button class="green"</span> </div> </td> </tr><tr> @@ -7944,27 +8304,27 @@ <h1> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <ul></span> + <span class="d2h-code-line-ctn"> (click)="auth.login()"</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> + <td class="d2h-code-side-linenumber d2h-ins d2h-change"> 8 </td> - <td class="d2h-cntx"> + <td class="d2h-ins d2h-change"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <li *ngFor="let author of book.authors">{{ author }}</li></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> *ngIf="!auth.isAuthenticated"</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> + <td class="d2h-code-side-linenumber d2h-ins"> 9 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> </ul></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> i18n="login@@AppComponentLogin">Login</button></span> </div> </td> </tr><tr> @@ -7974,7 +8334,7 @@ <h1> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> </div></span> + <span class="d2h-code-line-ctn"> <button class="red"</span> </div> </td> </tr><tr> @@ -7984,7 +8344,7 @@ <h1> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <div></span> + <span class="d2h-code-line-ctn"> (click)="auth.logout()"</span> </div> </td> </tr><tr> @@ -7994,47 +8354,47 @@ <h1> <td class="d2h-ins d2h-change"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> <h2<ins> i18n="headline ISBN|Headline for the ISBN@@BookDetailsComponentIsbn"</ins>>ISBN</h2></span> + <span class="d2h-code-line-ctn"> *ngIf="auth.isAuthenticated"</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> + <td class="d2h-code-side-linenumber d2h-ins"> 13 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> {{ book.isbn | isbn }}</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> i18n="logout@@AppComponentLogout">Logout</button></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> + <td class="d2h-code-side-linenumber d2h-ins"> 14 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> </div></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> <button (click)="changeLocale('de')">DE</button></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> + <td class="d2h-code-side-linenumber d2h-ins"> 15 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <div *ngIf="book.published"></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> <button (click)="changeLocale('en')">EN</button></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins d2h-change"> + <td class="d2h-code-side-linenumber d2h-cntx"> 16 </td> - <td class="d2h-ins d2h-change"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> <h2<ins> i18n="headline published|Headline for the published date@@BookDetailsComponentPublished"</ins>>Published</h2></span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> </div></span> </div> </td> </tr><tr> @@ -8044,7 +8404,7 @@ <h1> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> {{ book.published | date:'longDate' }}</span> + <span class="d2h-code-line-ctn"></nav></span> </div> </td> </tr><tr> @@ -8054,187 +8414,230 @@ <h1> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> </div></span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr> + </tbody> + </table> + </div> </div> + </div> +</div> +<div id="d2h-179574" class="d2h-file-wrapper" data-lang="ts"> + <div class="d2h-file-header"> + <span class="d2h-file-name-wrapper"> + <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> + <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> + </svg> <span class="d2h-file-name">src/app/app.component.ts</span> + <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span> +<label class="d2h-file-collapse"> + <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> + Viewed +</label> + </div> + <div class="d2h-files-diff"> + <div class="d2h-file-side-diff"> + <div class="d2h-code-wrapper"> + <table class="d2h-diff-table"> + <tbody class="d2h-diff-tbody"> + <tr> + <td class="d2h-code-side-linenumber d2h-info"></td> + <td class="d2h-info"> + <div class="d2h-code-side-line">@@ -9,4 +9,9 @@ import { AuthService } from './shared/auth.service';</div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 19 + 9 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> </div></span> + <span class="d2h-code-line-ctn">})</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins d2h-change"> - 20 + <td class="d2h-code-side-linenumber d2h-cntx"> + 10 </td> - <td class="d2h-ins d2h-change"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> <h2<ins> i18n="headline description|Headline for the description@@BookDetailsComponentDescription"</ins>>Description</h2></span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn">export class AppComponent {</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 21 + 11 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <p>{{ book.description }}</p></span> + <span class="d2h-code-line-ctn"> constructor(public auth: AuthService) {}</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 22 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <img *ngIf="book.thumbnailUrl"</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 23 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> [src]="book.thumbnailUrl"</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins d2h-change"> - 24 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins d2h-change"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> alt="Cover"</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins d2h-change"> - 25 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins d2h-change"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><ins> i18n-alt</ins>="<ins>cover</ins> <ins>alt</ins> <ins>text|Alternative</ins> <ins>text</ins> <ins>when no cover is defined@@BookDetailsComponentAltCover"</ins>></span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 26 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> <a class="button arrow-left" routerLink=".." i18n="link back|Link for navigating back to the books list@@BookDetailsComponentBackToList">Back to list</a></span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 27 + 12 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <ng-container *bmLoggedinOnly></span> + <span class="d2h-code-line-ctn">}</span> </div> </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins d2h-change"> - 28 - </td> - <td class="d2h-ins d2h-change"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> <button class="red" bmConfirm="Remove book?" (confirm)="removeBook(book.isbn)"<ins> i18n="button remove|Button text to remove a book@@BookDetailsComponentRemove"</ins>></span> +</tr> + </tbody> + </table> + </div> </div> + <div class="d2h-file-side-diff"> + <div class="d2h-code-wrapper"> + <table class="d2h-diff-table"> + <tbody class="d2h-diff-tbody"> + <tr> + <td class="d2h-code-side-linenumber d2h-info"></td> + <td class="d2h-info"> + <div class="d2h-code-side-line"></div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 29 + 9 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> Remove book</span> + <span class="d2h-code-line-ctn">})</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 30 + 10 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> </button></span> + <span class="d2h-code-line-ctn">export class AppComponent {</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 31 + 11 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <a class="button"</span> + <span class="d2h-code-line-ctn"> constructor(public auth: AuthService) {}</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins d2h-change"> - 32 + <td class="d2h-code-side-linenumber d2h-ins"> + 12 </td> - <td class="d2h-ins d2h-change"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> [routerLink]="['/admin/edit', book.isbn]"</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 33 + 13 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> i18n="button edit|Button text to edit a book@@BookDetailsComponentEdit"></span> + <span class="d2h-code-line-ctn"> changeLocale(targetLang: string) {</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 34 + <td class="d2h-code-side-linenumber d2h-ins"> + 14 + </td> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> localStorage.setItem('locale', targetLang);</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins"> + 15 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> Edit book</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> location.reload();</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 35 + <td class="d2h-code-side-linenumber d2h-ins"> + 16 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> </a></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> }</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 36 + 17 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> </ng-container></span> + <span class="d2h-code-line-ctn">}</span> </div> </td> </tr> @@ -8244,13 +8647,13 @@ <h1> </div> </div> </div> -<div id="d2h-236316" class="d2h-file-wrapper" data-lang="ts"> +<div id="d2h-267687" class="d2h-file-wrapper" data-lang="html"> <div class="d2h-file-header"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> - </svg> <span class="d2h-file-name">src/app/books/book-details/book-details.component.spec.ts</span> - <span class="d2h-tag d2h-added d2h-added-tag">ADDED</span></span> + </svg> <span class="d2h-file-name">src/app/books/book-details/book-details.component.html</span> + <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span> <label class="d2h-file-collapse"> <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> Viewed @@ -8264,703 +8667,700 @@ <h1> <tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -0,0 +1,23 @@</div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> + <div class="d2h-code-side-line">@@ -3,32 +3,34 @@</div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 3 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> <p role="doc-subtitle" *ngIf="book.subtitle">{{ book.subtitle }}</p></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 4 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> <div class="header"></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 5 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> <div></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-del d2h-change"> + 6 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-del d2h-change"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">-</span> + <span class="d2h-code-line-ctn"> <h2>Authors</h2></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 7 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> <ul></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 8 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> <li *ngFor="let author of book.authors">{{ author }}</li></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 9 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> </ul></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 10 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> </div></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 11 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> <div></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-del d2h-change"> + 12 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-del d2h-change"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">-</span> + <span class="d2h-code-line-ctn"> <h2>ISBN</h2></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 13 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> {{ book.isbn | isbn }}</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 14 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> </div></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 15 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> <div *ngIf="book.published"></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-del d2h-change"> + 16 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-del d2h-change"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">-</span> + <span class="d2h-code-line-ctn"> <h2>Published</h2></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 17 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> {{ book.published | date:'longDate' }}</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 18 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> </div></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 19 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> </div></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-del d2h-change"> + 20 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-del d2h-change"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">-</span> + <span class="d2h-code-line-ctn"> <h2>Description</h2></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 21 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> <p>{{ book.description }}</p></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 22 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr> - </tbody> - </table> - </div> + <span class="d2h-code-line-ctn"> <img *ngIf="book.thumbnailUrl"</span> </div> - <div class="d2h-file-side-diff"> - <div class="d2h-code-wrapper"> - <table class="d2h-diff-table"> - <tbody class="d2h-diff-tbody"> - <tr> - <td class="d2h-code-side-linenumber d2h-info"></td> - <td class="d2h-info"> - <div class="d2h-code-side-line"></div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 1 + <td class="d2h-code-side-linenumber d2h-cntx"> + 23 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">import { ComponentFixture, TestBed } from '@angular/core/testing';</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> [src]="book.thumbnailUrl"</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 2 + <td class="d2h-code-side-linenumber d2h-del d2h-change"> + 24 </td> - <td class="d2h-ins"> + <td class="d2h-del d2h-change"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-prefix">-</span> + <span class="d2h-code-line-ctn"> alt="Cover"<del>></del></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 3 + <td class="d2h-code-side-linenumber d2h-del d2h-change"> + 25 </td> - <td class="d2h-ins"> + <td class="d2h-del d2h-change"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">import { BookDetailsComponent } from './book-details.component';</span> + <span class="d2h-code-line-prefix">-</span> + <span class="d2h-code-line-ctn"><del> <a class</del>="<del>button</del> <del>arrow-left"</del> <del>routerLink="..">Back</del> <del>to</del> <del>list</a</del>></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 4 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 5 + <td class="d2h-code-side-linenumber d2h-cntx"> + 26 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">describe('BookDetailsComponent', () => {</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> <ng-container *bmLoggedinOnly></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 6 + <td class="d2h-code-side-linenumber d2h-del d2h-change"> + 27 </td> - <td class="d2h-ins"> + <td class="d2h-del d2h-change"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> let component: BookDetailsComponent;</span> + <span class="d2h-code-line-prefix">-</span> + <span class="d2h-code-line-ctn"> <button class="red" bmConfirm="Remove book?" (confirm)="removeBook(book.isbn)"></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 7 + <td class="d2h-code-side-linenumber d2h-cntx"> + 28 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> let fixture: ComponentFixture<BookDetailsComponent>;</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> Remove book</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 8 + <td class="d2h-code-side-linenumber d2h-cntx"> + 29 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> </button></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 9 + <td class="d2h-code-side-linenumber d2h-cntx"> + 30 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> beforeEach(async () => {</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> <a class="button"</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 10 + <td class="d2h-code-side-linenumber d2h-del d2h-change"> + 31 </td> - <td class="d2h-ins"> + <td class="d2h-del d2h-change"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> await TestBed.configureTestingModule({</span> + <span class="d2h-code-line-prefix">-</span> + <span class="d2h-code-line-ctn"> [routerLink]="['/admin/edit', book.isbn]"<del>></del></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 11 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-cntx"> + 32 + </td> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> declarations: [ BookDetailsComponent ]</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> Edit book</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 12 + <td class="d2h-code-side-linenumber d2h-cntx"> + 33 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> })</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> </a></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 13 + <td class="d2h-code-side-linenumber d2h-cntx"> + 34 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> .compileComponents();</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> </ng-container></span> + </div> + </td> +</tr> + </tbody> + </table> + </div> </div> + <div class="d2h-file-side-diff"> + <div class="d2h-code-wrapper"> + <table class="d2h-diff-table"> + <tbody class="d2h-diff-tbody"> + <tr> + <td class="d2h-code-side-linenumber d2h-info"></td> + <td class="d2h-info"> + <div class="d2h-code-side-line"></div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 14 + <td class="d2h-code-side-linenumber d2h-cntx"> + 3 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> <p role="doc-subtitle" *ngIf="book.subtitle">{{ book.subtitle }}</p></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 15 + <td class="d2h-code-side-linenumber d2h-cntx"> + 4 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> fixture = TestBed.createComponent(BookDetailsComponent);</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> <div class="header"></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 16 + <td class="d2h-code-side-linenumber d2h-cntx"> + 5 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> component = fixture.componentInstance;</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> <div></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 17 + <td class="d2h-code-side-linenumber d2h-ins d2h-change"> + 6 </td> - <td class="d2h-ins"> + <td class="d2h-ins d2h-change"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> fixture.detectChanges();</span> + <span class="d2h-code-line-ctn"> <h2<ins> i18n="headline authors|Headline for the authors@@BookDetailsComponentAuthors"</ins>>Authors</h2></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 18 + <td class="d2h-code-side-linenumber d2h-cntx"> + 7 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> });</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> <ul></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 19 + <td class="d2h-code-side-linenumber d2h-cntx"> + 8 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> <li *ngFor="let author of book.authors">{{ author }}</li></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 20 + <td class="d2h-code-side-linenumber d2h-cntx"> + 9 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> it('should create', () => {</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> </ul></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 21 + <td class="d2h-code-side-linenumber d2h-cntx"> + 10 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> expect(component).toBeTruthy();</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> </div></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 22 + <td class="d2h-code-side-linenumber d2h-cntx"> + 11 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> });</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> <div></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 23 + <td class="d2h-code-side-linenumber d2h-ins d2h-change"> + 12 </td> - <td class="d2h-ins"> + <td class="d2h-ins d2h-change"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">});</span> + <span class="d2h-code-line-ctn"> <h2<ins> i18n="headline ISBN|Headline for the ISBN@@BookDetailsComponentIsbn"</ins>>ISBN</h2></span> </div> </td> -</tr> - </tbody> - </table> - </div> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-cntx"> + 13 + </td> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> {{ book.isbn | isbn }}</span> </div> - </div> -</div> -<div id="d2h-746733" class="d2h-file-wrapper" data-lang="html"> - <div class="d2h-file-header"> - <span class="d2h-file-name-wrapper"> - <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> - <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> - </svg> <span class="d2h-file-name">src/app/books/book-list/book-list.component.html</span> - <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span> -<label class="d2h-file-collapse"> - <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> - Viewed -</label> - </div> - <div class="d2h-files-diff"> - <div class="d2h-file-side-diff"> - <div class="d2h-code-wrapper"> - <table class="d2h-diff-table"> - <tbody class="d2h-diff-tbody"> - <tr> - <td class="d2h-code-side-linenumber d2h-info"></td> - <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -1,9 +1,9 @@</div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 1 + <td class="d2h-code-side-linenumber d2h-cntx"> + 14 </td> - <td class="d2h-del d2h-change"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn"><h1>Books</h1></span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> </div></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 2 + 15 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><ul class="book-list" *ngIf="books$ | async as books"></span> + <span class="d2h-code-line-ctn"> <div *ngIf="book.published"></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins d2h-change"> + 16 + </td> + <td class="d2h-ins d2h-change"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> <h2<ins> i18n="headline published|Headline for the published date@@BookDetailsComponentPublished"</ins>>Published</h2></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 3 + 17 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <li *ngFor="let book of books"></span> + <span class="d2h-code-line-ctn"> {{ book.published | date:'longDate' }}</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 4 + 18 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <bm-book-list-item [book]="book"></bm-book-list-item></span> + <span class="d2h-code-line-ctn"> </div></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 5 + 19 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> </li></span> + <span class="d2h-code-line-ctn"> </div></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 6 + <td class="d2h-code-side-linenumber d2h-ins d2h-change"> + 20 </td> - <td class="d2h-del d2h-change"> + <td class="d2h-ins d2h-change"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn"> <li *ngIf="!books.length"></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> <h2<ins> i18n="headline description|Headline for the description@@BookDetailsComponentDescription"</ins>>Description</h2></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 7 + 21 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> No books available.</span> + <span class="d2h-code-line-ctn"> <p>{{ book.description }}</p></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 8 + 22 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> </li></span> + <span class="d2h-code-line-ctn"> <img *ngIf="book.thumbnailUrl"</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 9 + 23 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"></ul></span> + <span class="d2h-code-line-ctn"> [src]="book.thumbnailUrl"</span> </div> </td> -</tr> - </tbody> - </table> - </div> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins d2h-change"> + 24 + </td> + <td class="d2h-ins d2h-change"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> alt="Cover"</span> </div> - <div class="d2h-file-side-diff"> - <div class="d2h-code-wrapper"> - <table class="d2h-diff-table"> - <tbody class="d2h-diff-tbody"> - <tr> - <td class="d2h-code-side-linenumber d2h-info"></td> - <td class="d2h-info"> - <div class="d2h-code-side-line"></div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins d2h-change"> - 1 + 25 </td> <td class="d2h-ins d2h-change"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><h1<ins> i18n="title books|Title for the books page@@BookListComponentTitle"</ins>>Books</h1></span> + <span class="d2h-code-line-ctn"><ins> i18n-alt</ins>="<ins>cover</ins> <ins>alt</ins> <ins>text|Alternative</ins> <ins>text</ins> <ins>when no cover is defined@@BookDetailsComponentAltCover"</ins>></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins"> + 26 + </td> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> <a class="button arrow-left" routerLink=".." i18n="link back|Link for navigating back to the books list@@BookDetailsComponentBackToList">Back to list</a></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 2 + 27 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><ul class="book-list" *ngIf="books$ | async as books"></span> + <span class="d2h-code-line-ctn"> <ng-container *bmLoggedinOnly></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins d2h-change"> + 28 + </td> + <td class="d2h-ins d2h-change"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> <button class="red" bmConfirm="Remove book?" (confirm)="removeBook(book.isbn)"<ins> i18n="button remove|Button text to remove a book@@BookDetailsComponentRemove"</ins>></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 3 + 29 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <li *ngFor="let book of books"></span> + <span class="d2h-code-line-ctn"> Remove book</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 4 + 30 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <bm-book-list-item [book]="book"></bm-book-list-item></span> + <span class="d2h-code-line-ctn"> </button></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 5 + 31 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> </li></span> + <span class="d2h-code-line-ctn"> <a class="button"</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins d2h-change"> - 6 + 32 </td> <td class="d2h-ins d2h-change"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> <li *ngIf="!books.length"<ins> i18n="text no books|Text displayed when no books are available@@BookListComponentNoBooks"</ins>></span> + <span class="d2h-code-line-ctn"> [routerLink]="['/admin/edit', book.isbn]"</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins"> + 33 + </td> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> i18n="button edit|Button text to edit a book@@BookDetailsComponentEdit"></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 7 + 34 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> No books available.</span> + <span class="d2h-code-line-ctn"> Edit book</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 8 + 35 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> </li></span> + <span class="d2h-code-line-ctn"> </a></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 9 + 36 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"></ul></span> + <span class="d2h-code-line-ctn"> </ng-container></span> </div> </td> </tr> @@ -8970,12 +9370,12 @@ <h1> </div> </div> </div> -<div id="d2h-280170" class="d2h-file-wrapper" data-lang="ts"> +<div id="d2h-236316" class="d2h-file-wrapper" data-lang="ts"> <div class="d2h-file-header"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> - </svg> <span class="d2h-file-name">src/app/books/book-list/book-list.component.spec.ts</span> + </svg> <span class="d2h-file-name">src/app/books/book-details/book-details.component.spec.ts</span> <span class="d2h-tag d2h-added d2h-added-tag">ADDED</span></span> <label class="d2h-file-collapse"> <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> @@ -9263,7 +9663,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">import { BookListComponent } from './book-list.component';</span> + <span class="d2h-code-line-ctn">import { BookDetailsComponent } from './book-details.component';</span> </div> </td> </tr><tr> @@ -9283,7 +9683,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">describe('BookListComponent', () => {</span> + <span class="d2h-code-line-ctn">describe('BookDetailsComponent', () => {</span> </div> </td> </tr><tr> @@ -9293,7 +9693,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> let component: BookListComponent;</span> + <span class="d2h-code-line-ctn"> let component: BookDetailsComponent;</span> </div> </td> </tr><tr> @@ -9303,7 +9703,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> let fixture: ComponentFixture<BookListComponent>;</span> + <span class="d2h-code-line-ctn"> let fixture: ComponentFixture<BookDetailsComponent>;</span> </div> </td> </tr><tr> @@ -9343,7 +9743,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> declarations: [ BookListComponent ]</span> + <span class="d2h-code-line-ctn"> declarations: [ BookDetailsComponent ]</span> </div> </td> </tr><tr> @@ -9383,7 +9783,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> fixture = TestBed.createComponent(BookListComponent);</span> + <span class="d2h-code-line-ctn"> fixture = TestBed.createComponent(BookDetailsComponent);</span> </div> </td> </tr><tr> @@ -9473,12 +9873,12 @@ <h1> </div> </div> </div> -<div id="d2h-583641" class="d2h-file-wrapper" data-lang="html"> +<div id="d2h-746733" class="d2h-file-wrapper" data-lang="html"> <div class="d2h-file-header"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> - </svg> <span class="d2h-file-name">src/app/books/book-list-item/book-list-item.component.html</span> + </svg> <span class="d2h-file-name">src/app/books/book-list/book-list.component.html</span> <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span> <label class="d2h-file-collapse"> <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> @@ -9493,111 +9893,96 @@ <h1> <tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -1,5 +1,5 @@</div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 1 - </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><a *ngIf="book" [routerLink]="book.isbn" class="list-item"></span> - </div> + <div class="d2h-code-side-line">@@ -1,9 +1,9 @@</div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 2 + 1 </td> <td class="d2h-del d2h-change"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn"> <img *ngIf="book.thumbnailUrl" [src]="book.thumbnailUrl" alt="Cover"></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 3 - </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <h2>{{ book.title }}</h2></span> + <span class="d2h-code-line-ctn"><h1>Books</h1></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 4 + 2 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <p role="doc-subtitle" *ngIf="book.subtitle"></span> + <span class="d2h-code-line-ctn"><ul class="book-list" *ngIf="books$ | async as books"></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 5 + 3 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> {{ book.subtitle }}</span> + <span class="d2h-code-line-ctn"> <li *ngFor="let book of books"></span> </div> </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-info"></td> - <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -9,5 +9,5 @@</div> - </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 9 + 4 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> {{ author }}</span> + <span class="d2h-code-line-ctn"> <bm-book-list-item [book]="book"></bm-book-list-item></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 10 + 5 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> </li></span> + <span class="d2h-code-line-ctn"> </li></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-del d2h-change"> + 6 + </td> + <td class="d2h-del d2h-change"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">-</span> + <span class="d2h-code-line-ctn"> <li *ngIf="!books.length"></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 11 + 7 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> </ul></span> + <span class="d2h-code-line-ctn"> No books available.</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 12 + <td class="d2h-code-side-linenumber d2h-cntx"> + 8 </td> - <td class="d2h-del d2h-change"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn"> <div>ISBN {{ book.isbn | isbn }}</div></span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> </li></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 13 + 9 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"></a></span> + <span class="d2h-code-line-ctn"></ul></span> </div> </td> </tr> @@ -9615,23 +10000,23 @@ <h1> <div class="d2h-code-side-line"></div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> + <td class="d2h-code-side-linenumber d2h-ins d2h-change"> 1 </td> - <td class="d2h-cntx"> + <td class="d2h-ins d2h-change"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><a *ngIf="book" [routerLink]="book.isbn" class="list-item"></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"><h1<ins> i18n="title books|Title for the books page@@BookListComponentTitle"</ins>>Books</h1></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins d2h-change"> + <td class="d2h-code-side-linenumber d2h-cntx"> 2 </td> - <td class="d2h-ins d2h-change"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> <img *ngIf="book.thumbnailUrl" [src]="book.thumbnailUrl" alt="Cover"<ins> i18n-alt="cover alt text|Alternative text when no cover is defined@@BookListItemComponentAltCover"</ins>></span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><ul class="book-list" *ngIf="books$ | async as books"></span> </div> </td> </tr><tr> @@ -9641,7 +10026,7 @@ <h1> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <h2>{{ book.title }}</h2></span> + <span class="d2h-code-line-ctn"> <li *ngFor="let book of books"></span> </div> </td> </tr><tr> @@ -9651,7 +10036,7 @@ <h1> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <p role="doc-subtitle" *ngIf="book.subtitle"></span> + <span class="d2h-code-line-ctn"> <bm-book-list-item [book]="book"></bm-book-list-item></span> </div> </td> </tr><tr> @@ -9661,62 +10046,47 @@ <h1> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> {{ book.subtitle }}</span> + <span class="d2h-code-line-ctn"> </li></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-info"></td> - <td class="d2h-info"> - <div class="d2h-code-side-line"></div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 9 + <td class="d2h-code-side-linenumber d2h-ins d2h-change"> + 6 </td> - <td class="d2h-cntx"> + <td class="d2h-ins d2h-change"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> {{ author }}</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> <li *ngIf="!books.length"<ins> i18n="text no books|Text displayed when no books are available@@BookListComponentNoBooks"</ins>></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 10 + 7 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> </li></span> + <span class="d2h-code-line-ctn"> No books available.</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 11 + 8 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> </ul></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins d2h-change"> - 12 - </td> - <td class="d2h-ins d2h-change"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> <div<ins>><ng-container i18n="book text before ISBN|Text for ISBN right before the number@@BookListItemComponentIsbn"</ins>>ISBN<ins></ng-container></ins> {{ book.isbn | isbn }}</div></span> + <span class="d2h-code-line-ctn"> </li></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 13 + 9 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"></a></span> + <span class="d2h-code-line-ctn"></ul></span> </div> </td> </tr> @@ -9726,12 +10096,12 @@ <h1> </div> </div> </div> -<div id="d2h-728939" class="d2h-file-wrapper" data-lang="ts"> +<div id="d2h-280170" class="d2h-file-wrapper" data-lang="ts"> <div class="d2h-file-header"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> - </svg> <span class="d2h-file-name">src/app/books/shared/loggedin-only.directive.spec.ts</span> + </svg> <span class="d2h-file-name">src/app/books/book-list/book-list.component.spec.ts</span> <span class="d2h-tag d2h-added d2h-added-tag">ADDED</span></span> <label class="d2h-file-collapse"> <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> @@ -9746,37 +10116,7 @@ <h1> <tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -0,0 +1,8 @@</div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> + <div class="d2h-code-side-line">@@ -0,0 +1,23 @@</div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> @@ -9825,304 +10165,187 @@ <h1> <td class="d2h-cntx d2h-emptyplaceholder"> <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr> - </tbody> - </table> - </div> - </div> - <div class="d2h-file-side-diff"> - <div class="d2h-code-wrapper"> - <table class="d2h-diff-table"> - <tbody class="d2h-diff-tbody"> - <tr> - <td class="d2h-code-side-linenumber d2h-info"></td> - <td class="d2h-info"> - <div class="d2h-code-side-line"></div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 1 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">import { LoggedinOnlyDirective } from './loggedin-only.directive';</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 2 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 3 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">describe('LoggedinOnlyDirective', () => {</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 4 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> it('should create an instance', () => {</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 5 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> const directive = new LoggedinOnlyDirective();</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 6 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> expect(directive).toBeTruthy();</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 7 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> });</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 8 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">});</span> - </div> - </td> -</tr> - </tbody> - </table> - </div> - </div> - </div> -</div> -<div id="d2h-626892" class="d2h-file-wrapper" data-lang="html"> - <div class="d2h-file-header"> - <span class="d2h-file-name-wrapper"> - <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> - <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> - </svg> <span class="d2h-file-name">src/app/home/home.component.html</span> - <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span> -<label class="d2h-file-collapse"> - <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> - Viewed -</label> - </div> - <div class="d2h-files-diff"> - <div class="d2h-file-side-diff"> - <div class="d2h-code-wrapper"> - <table class="d2h-diff-table"> - <tbody class="d2h-diff-tbody"> - <tr> - <td class="d2h-code-side-linenumber d2h-info"></td> - <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -1,8 +1,8 @@</div> + <span class="d2h-code-line-ctn"><br></span> + </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 1 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-del d2h-change"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn"><h1>Home</h1></span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 2 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 3 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-del d2h-change"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn"><a routerLink="/books" class="button red"></span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 4 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> Show book list</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 5 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"></a></span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 6 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 7 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-del d2h-change"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn"><h2>Search</h2></span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 8 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><bm-search></bm-search></span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> -</tr> - </tbody> - </table> - </div> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> - <div class="d2h-file-side-diff"> - <div class="d2h-code-wrapper"> - <table class="d2h-diff-table"> - <tbody class="d2h-diff-tbody"> - <tr> - <td class="d2h-code-side-linenumber d2h-info"></td> - <td class="d2h-info"> - <div class="d2h-code-side-line"></div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins d2h-change"> - 1 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins d2h-change"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><h1<ins> i18n="title home|Title for the home page@@HomeComponentTitle"</ins>>Home</h1></span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 2 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins d2h-change"> - 3 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins d2h-change"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><a routerLink="/books" class="button red"<ins> i18n="link books list|Text of the link to the books screen@@HomeComponentBooks"</ins>></span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 4 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> Show book list</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 5 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"></a></span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 6 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins d2h-change"> - 7 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins d2h-change"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><h2<ins> i18n="headline search|Headline text above the search input@@HomeComponentSearchHeadline"</ins>>Search</h2></span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 8 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><bm-search></bm-search></span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr> @@ -10130,21 +10353,6 @@ <h1> </table> </div> </div> - </div> -</div> -<div id="d2h-006121" class="d2h-file-wrapper" data-lang="ts"> - <div class="d2h-file-header"> - <span class="d2h-file-name-wrapper"> - <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> - <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> - </svg> <span class="d2h-file-name">src/app/home/home.component.spec.ts</span> - <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span> -<label class="d2h-file-collapse"> - <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> - Viewed -</label> - </div> - <div class="d2h-files-diff"> <div class="d2h-file-side-diff"> <div class="d2h-code-wrapper"> <table class="d2h-diff-table"> @@ -10152,270 +10360,236 @@ <h1> <tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -1,4 +1,3 @@</div> + <div class="d2h-code-side-line"></div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-del"> + <td class="d2h-code-side-linenumber d2h-ins"> 1 </td> - <td class="d2h-del"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn">import { NO_ERRORS_SCHEMA } from '@angular/core';</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn">import { ComponentFixture, TestBed } from '@angular/core/testing';</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> + <td class="d2h-code-side-linenumber d2h-ins"> 2 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn">import { ComponentFixture, TestBed } from '@angular/core/testing';</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> + <td class="d2h-code-side-linenumber d2h-ins"> 3 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn">import { BookListComponent } from './book-list.component';</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> + <td class="d2h-code-side-linenumber d2h-ins"> 4 </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn">import { HomeComponent } from './home.component';</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-info"></td> - <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -9,8 +8,7 @@ describe('HomeComponent', () => {</div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 9 - </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 10 + <td class="d2h-code-side-linenumber d2h-ins"> + 5 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> beforeEach(async () => {</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn">describe('BookListComponent', () => {</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 11 + <td class="d2h-code-side-linenumber d2h-ins"> + 6 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> await TestBed.configureTestingModule({</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> let component: BookListComponent;</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 12 + <td class="d2h-code-side-linenumber d2h-ins"> + 7 </td> - <td class="d2h-del d2h-change"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn"> declarations: [ HomeComponent ]<del>,</del></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> let fixture: ComponentFixture<BookListComponent>;</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-del"> - 13 + <td class="d2h-code-side-linenumber d2h-ins"> + 8 </td> - <td class="d2h-del"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn"> schemas: [NO_ERRORS_SCHEMA]</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 14 + <td class="d2h-code-side-linenumber d2h-ins"> + 9 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> })</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> beforeEach(async () => {</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 15 + <td class="d2h-code-side-linenumber d2h-ins"> + 10 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> .compileComponents();</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> await TestBed.configureTestingModule({</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 16 + <td class="d2h-code-side-linenumber d2h-ins"> + 11 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr> - </tbody> - </table> - </div> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> declarations: [ BookListComponent ]</span> </div> - <div class="d2h-file-side-diff"> - <div class="d2h-code-wrapper"> - <table class="d2h-diff-table"> - <tbody class="d2h-diff-tbody"> - <tr> - <td class="d2h-code-side-linenumber d2h-info"></td> - <td class="d2h-info"> - <div class="d2h-code-side-line"></div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 12 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> })</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 1 + <td class="d2h-code-side-linenumber d2h-ins"> + 13 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn">import { ComponentFixture, TestBed } from '@angular/core/testing';</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> .compileComponents();</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 2 + <td class="d2h-code-side-linenumber d2h-ins"> + 14 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 3 + <td class="d2h-code-side-linenumber d2h-ins"> + 15 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn">import { HomeComponent } from './home.component';</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> fixture = TestBed.createComponent(BookListComponent);</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-info"></td> - <td class="d2h-info"> - <div class="d2h-code-side-line"></div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 8 + <td class="d2h-code-side-linenumber d2h-ins"> + 16 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> component = fixture.componentInstance;</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 9 + <td class="d2h-code-side-linenumber d2h-ins"> + 17 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> beforeEach(async () => {</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> fixture.detectChanges();</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 10 + <td class="d2h-code-side-linenumber d2h-ins"> + 18 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> await TestBed.configureTestingModule({</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> });</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins d2h-change"> - 11 + <td class="d2h-code-side-linenumber d2h-ins"> + 19 </td> - <td class="d2h-ins d2h-change"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> declarations: [ HomeComponent ]</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 20 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> it('should create', () => {</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 12 + <td class="d2h-code-side-linenumber d2h-ins"> + 21 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> })</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> expect(component).toBeTruthy();</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 13 + <td class="d2h-code-side-linenumber d2h-ins"> + 22 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> .compileComponents();</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> });</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 14 + <td class="d2h-code-side-linenumber d2h-ins"> + 23 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn">});</span> </div> </td> </tr> @@ -10425,12 +10599,12 @@ <h1> </div> </div> </div> -<div id="d2h-432300" class="d2h-file-wrapper" data-lang="html"> +<div id="d2h-583641" class="d2h-file-wrapper" data-lang="html"> <div class="d2h-file-header"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> - </svg> <span class="d2h-file-name">src/app/search/search.component.html</span> + </svg> <span class="d2h-file-name">src/app/books/book-list-item/book-list-item.component.html</span> <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span> <label class="d2h-file-collapse"> <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> @@ -10445,7 +10619,7 @@ <h1> <tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -1,6 +1,7 @@</div> + <div class="d2h-code-side-line">@@ -1,5 +1,5 @@</div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> @@ -10454,67 +10628,102 @@ <h1> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><input type="search"</span> + <span class="d2h-code-line-ctn"><a *ngIf="book" [routerLink]="book.isbn" class="list-item"></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> + <td class="d2h-code-side-linenumber d2h-del d2h-change"> 2 </td> + <td class="d2h-del d2h-change"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">-</span> + <span class="d2h-code-line-ctn"> <img *ngIf="book.thumbnailUrl" [src]="book.thumbnailUrl" alt="Cover"></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-cntx"> + 3 + </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> autocomplete="off"</span> + <span class="d2h-code-line-ctn"> <h2>{{ book.title }}</h2></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-cntx"> + 4 + </td> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> <p role="doc-subtitle" *ngIf="book.subtitle"></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-cntx"> + 5 + </td> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> {{ book.subtitle }}</span> </div> </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-info"></td> + <td class="d2h-info"> + <div class="d2h-code-side-line">@@ -9,5 +9,5 @@</div> + </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 3 + 9 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> aria-label="Search"</span> + <span class="d2h-code-line-ctn"> {{ author }}</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 10 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> </li></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 4 + 11 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> [class.loading]="isLoading"</span> + <span class="d2h-code-line-ctn"> </ul></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 5 + <td class="d2h-code-side-linenumber d2h-del d2h-change"> + 12 </td> - <td class="d2h-cntx"> + <td class="d2h-del d2h-change"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> #searchInput</span> + <span class="d2h-code-line-prefix">-</span> + <span class="d2h-code-line-ctn"> <div>ISBN {{ book.isbn | isbn }}</div></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 6 + 13 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> (input)="input$.next(searchInput.value)"></span> + <span class="d2h-code-line-ctn"></a></span> </div> </td> </tr> @@ -10538,17 +10747,17 @@ <h1> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><input type="search"</span> + <span class="d2h-code-line-ctn"><a *ngIf="book" [routerLink]="book.isbn" class="list-item"></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> + <td class="d2h-code-side-linenumber d2h-ins d2h-change"> 2 </td> - <td class="d2h-cntx"> + <td class="d2h-ins d2h-change"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> autocomplete="off"</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> <img *ngIf="book.thumbnailUrl" [src]="book.thumbnailUrl" alt="Cover"<ins> i18n-alt="cover alt text|Alternative text when no cover is defined@@BookListItemComponentAltCover"</ins>></span> </div> </td> </tr><tr> @@ -10558,17 +10767,17 @@ <h1> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> aria-label="Search"</span> + <span class="d2h-code-line-ctn"> <h2>{{ book.title }}</h2></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> + <td class="d2h-code-side-linenumber d2h-cntx"> 4 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> i18n-aria-label="search input ARIA label|input search@@SearchComponentInput"</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> <p role="doc-subtitle" *ngIf="book.subtitle"></span> </div> </td> </tr><tr> @@ -10578,27 +10787,62 @@ <h1> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> [class.loading]="isLoading"</span> + <span class="d2h-code-line-ctn"> {{ book.subtitle }}</span> </div> </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-info"></td> + <td class="d2h-info"> + <div class="d2h-code-side-line"></div> + </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 6 + 9 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> #searchInput</span> + <span class="d2h-code-line-ctn"> {{ author }}</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 7 + 10 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> (input)="input$.next(searchInput.value)"></span> + <span class="d2h-code-line-ctn"> </li></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-cntx"> + 11 + </td> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> </ul></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins d2h-change"> + 12 + </td> + <td class="d2h-ins d2h-change"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> <div<ins>><ng-container i18n="book text before ISBN|Text for ISBN right before the number@@BookListItemComponentIsbn"</ins>>ISBN<ins></ng-container></ins> {{ book.isbn | isbn }}</div></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-cntx"> + 13 + </td> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"></a></span> </div> </td> </tr> @@ -10608,12 +10852,12 @@ <h1> </div> </div> </div> -<div id="d2h-296457" class="d2h-file-wrapper" data-lang="ts"> +<div id="d2h-728939" class="d2h-file-wrapper" data-lang="ts"> <div class="d2h-file-header"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> - </svg> <span class="d2h-file-name">src/app/search/search.component.spec.ts</span> + </svg> <span class="d2h-file-name">src/app/books/shared/loggedin-only.directive.spec.ts</span> <span class="d2h-tag d2h-added d2h-added-tag">ADDED</span></span> <label class="d2h-file-collapse"> <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> @@ -10628,157 +10872,7 @@ <h1> <tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -0,0 +1,23 @@</div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> + <div class="d2h-code-side-line">@@ -0,0 +1,8 @@</div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> @@ -10881,7 +10975,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">import { ComponentFixture, TestBed } from '@angular/core/testing';</span> + <span class="d2h-code-line-ctn">import { LoggedinOnlyDirective } from './loggedin-only.directive';</span> </div> </td> </tr><tr> @@ -10901,7 +10995,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">import { SearchComponent } from './search.component';</span> + <span class="d2h-code-line-ctn">describe('LoggedinOnlyDirective', () => {</span> </div> </td> </tr><tr> @@ -10911,7 +11005,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> it('should create an instance', () => {</span> </div> </td> </tr><tr> @@ -10921,7 +11015,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">describe('SearchComponent', () => {</span> + <span class="d2h-code-line-ctn"> const directive = new LoggedinOnlyDirective();</span> </div> </td> </tr><tr> @@ -10931,7 +11025,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> let component: SearchComponent;</span> + <span class="d2h-code-line-ctn"> expect(directive).toBeTruthy();</span> </div> </td> </tr><tr> @@ -10941,7 +11035,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> let fixture: ComponentFixture<SearchComponent>;</span> + <span class="d2h-code-line-ctn"> });</span> </div> </td> </tr><tr> @@ -10951,157 +11045,210 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn">});</span> + </div> + </td> +</tr> + </tbody> + </table> + </div> </div> + </div> +</div> +<div id="d2h-626892" class="d2h-file-wrapper" data-lang="html"> + <div class="d2h-file-header"> + <span class="d2h-file-name-wrapper"> + <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> + <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> + </svg> <span class="d2h-file-name">src/app/home/home.component.html</span> + <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span> +<label class="d2h-file-collapse"> + <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> + Viewed +</label> + </div> + <div class="d2h-files-diff"> + <div class="d2h-file-side-diff"> + <div class="d2h-code-wrapper"> + <table class="d2h-diff-table"> + <tbody class="d2h-diff-tbody"> + <tr> + <td class="d2h-code-side-linenumber d2h-info"></td> + <td class="d2h-info"> + <div class="d2h-code-side-line">@@ -1,8 +1,8 @@</div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 9 + <td class="d2h-code-side-linenumber d2h-del d2h-change"> + 1 </td> - <td class="d2h-ins"> + <td class="d2h-del d2h-change"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> beforeEach(async () => {</span> + <span class="d2h-code-line-prefix">-</span> + <span class="d2h-code-line-ctn"><h1>Home</h1></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 10 + <td class="d2h-code-side-linenumber d2h-cntx"> + 2 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> await TestBed.configureTestingModule({</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 11 + <td class="d2h-code-side-linenumber d2h-del d2h-change"> + 3 </td> - <td class="d2h-ins"> + <td class="d2h-del d2h-change"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> declarations: [ SearchComponent ]</span> + <span class="d2h-code-line-prefix">-</span> + <span class="d2h-code-line-ctn"><a routerLink="/books" class="button red"></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 12 + <td class="d2h-code-side-linenumber d2h-cntx"> + 4 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> })</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> Show book list</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 13 + <td class="d2h-code-side-linenumber d2h-cntx"> + 5 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> .compileComponents();</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"></a></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 14 + <td class="d2h-code-side-linenumber d2h-cntx"> + 6 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-prefix"> </span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 15 + <td class="d2h-code-side-linenumber d2h-del d2h-change"> + 7 </td> - <td class="d2h-ins"> + <td class="d2h-del d2h-change"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> fixture = TestBed.createComponent(SearchComponent);</span> + <span class="d2h-code-line-prefix">-</span> + <span class="d2h-code-line-ctn"><h2>Search</h2></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 16 + <td class="d2h-code-side-linenumber d2h-cntx"> + 8 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> component = fixture.componentInstance;</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><bm-search></bm-search></span> </div> </td> +</tr> + </tbody> + </table> + </div> + </div> + <div class="d2h-file-side-diff"> + <div class="d2h-code-wrapper"> + <table class="d2h-diff-table"> + <tbody class="d2h-diff-tbody"> + <tr> + <td class="d2h-code-side-linenumber d2h-info"></td> + <td class="d2h-info"> + <div class="d2h-code-side-line"></div> + </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 17 + <td class="d2h-code-side-linenumber d2h-ins d2h-change"> + 1 </td> - <td class="d2h-ins"> + <td class="d2h-ins d2h-change"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> fixture.detectChanges();</span> + <span class="d2h-code-line-ctn"><h1<ins> i18n="title home|Title for the home page@@HomeComponentTitle"</ins>>Home</h1></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 18 + <td class="d2h-code-side-linenumber d2h-cntx"> + 2 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> });</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 19 + <td class="d2h-code-side-linenumber d2h-ins d2h-change"> + 3 </td> - <td class="d2h-ins"> + <td class="d2h-ins d2h-change"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"><a routerLink="/books" class="button red"<ins> i18n="link books list|Text of the link to the books screen@@HomeComponentBooks"</ins>></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 20 + <td class="d2h-code-side-linenumber d2h-cntx"> + 4 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> it('should create', () => {</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> Show book list</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 21 + <td class="d2h-code-side-linenumber d2h-cntx"> + 5 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> expect(component).toBeTruthy();</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"></a></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 22 + <td class="d2h-code-side-linenumber d2h-cntx"> + 6 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> });</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 23 + <td class="d2h-code-side-linenumber d2h-ins d2h-change"> + 7 </td> - <td class="d2h-ins"> + <td class="d2h-ins d2h-change"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">});</span> + <span class="d2h-code-line-ctn"><h2<ins> i18n="headline search|Headline text above the search input@@HomeComponentSearchHeadline"</ins>>Search</h2></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-cntx"> + 8 + </td> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><bm-search></bm-search></span> </div> </td> </tr> @@ -11111,184 +11258,149 @@ <h1> </div> </div> </div> -<div id="d2h-376505" class="d2h-file-wrapper" data-lang="ts"> +<div id="d2h-006121" class="d2h-file-wrapper" data-lang="ts"> <div class="d2h-file-header"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> - </svg> <span class="d2h-file-name">src/app/shared/book-store.service.spec.ts</span> - <span class="d2h-tag d2h-added d2h-added-tag">ADDED</span></span> + </svg> <span class="d2h-file-name">src/app/home/home.component.spec.ts</span> + <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span> <label class="d2h-file-collapse"> <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> - Viewed -</label> - </div> - <div class="d2h-files-diff"> - <div class="d2h-file-side-diff"> - <div class="d2h-code-wrapper"> - <table class="d2h-diff-table"> - <tbody class="d2h-diff-tbody"> - <tr> - <td class="d2h-code-side-linenumber d2h-info"></td> - <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -0,0 +1,16 @@</div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> + Viewed +</label> + </div> + <div class="d2h-files-diff"> + <div class="d2h-file-side-diff"> + <div class="d2h-code-wrapper"> + <table class="d2h-diff-table"> + <tbody class="d2h-diff-tbody"> + <tr> + <td class="d2h-code-side-linenumber d2h-info"></td> + <td class="d2h-info"> + <div class="d2h-code-side-line">@@ -1,4 +1,3 @@</div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-del"> + 1 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-del"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">-</span> + <span class="d2h-code-line-ctn">import { NO_ERRORS_SCHEMA } from '@angular/core';</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 2 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn">import { ComponentFixture, TestBed } from '@angular/core/testing';</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 3 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 4 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn">import { HomeComponent } from './home.component';</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> + <td class="d2h-code-side-linenumber d2h-info"></td> + <td class="d2h-info"> + <div class="d2h-code-side-line">@@ -9,8 +8,7 @@ describe('HomeComponent', () => {</div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 9 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 10 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> beforeEach(async () => {</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 11 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> await TestBed.configureTestingModule({</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-del d2h-change"> + 12 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-del d2h-change"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">-</span> + <span class="d2h-code-line-ctn"> declarations: [ HomeComponent ]<del>,</del></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-del"> + 13 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-del"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">-</span> + <span class="d2h-code-line-ctn"> schemas: [NO_ERRORS_SCHEMA]</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 14 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> })</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 15 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> .compileComponents();</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 16 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> <span class="d2h-code-line-ctn"><br></span> </div> @@ -11308,163 +11420,128 @@ <h1> <div class="d2h-code-side-line"></div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 1 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">import { TestBed } from '@angular/core/testing';</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 2 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 3 + <td class="d2h-code-side-linenumber d2h-cntx"> + 1 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">import { BookStoreService } from './book-store.service';</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn">import { ComponentFixture, TestBed } from '@angular/core/testing';</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 4 + <td class="d2h-code-side-linenumber d2h-cntx"> + 2 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-prefix"> </span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 5 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">describe('BookStoreService', () => {</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 6 + <td class="d2h-code-side-linenumber d2h-cntx"> + 3 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> let service: BookStoreService;</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn">import { HomeComponent } from './home.component';</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 7 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> - </div> + <td class="d2h-code-side-linenumber d2h-info"></td> + <td class="d2h-info"> + <div class="d2h-code-side-line"></div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> + <td class="d2h-code-side-linenumber d2h-cntx"> 8 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> beforeEach(() => {</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> + <td class="d2h-code-side-linenumber d2h-cntx"> 9 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> TestBed.configureTestingModule({});</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> beforeEach(async () => {</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> + <td class="d2h-code-side-linenumber d2h-cntx"> 10 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> service = TestBed.inject(BookStoreService);</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> await TestBed.configureTestingModule({</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> + <td class="d2h-code-side-linenumber d2h-ins d2h-change"> 11 </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> });</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 12 - </td> - <td class="d2h-ins"> + <td class="d2h-ins d2h-change"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> declarations: [ HomeComponent ]</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 13 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> it('should be created', () => {</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 14 + <td class="d2h-code-side-linenumber d2h-cntx"> + 12 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> expect(service).toBeTruthy();</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> })</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 15 + <td class="d2h-code-side-linenumber d2h-cntx"> + 13 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> });</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> .compileComponents();</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 16 + <td class="d2h-code-side-linenumber d2h-cntx"> + 14 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">});</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr> @@ -11474,13 +11551,13 @@ <h1> </div> </div> </div> -<div id="d2h-662540" class="d2h-file-wrapper" data-lang="json"> +<div id="d2h-432300" class="d2h-file-wrapper" data-lang="html"> <div class="d2h-file-header"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> - </svg> <span class="d2h-file-name">src/assets/messages.de.json</span> - <span class="d2h-tag d2h-added d2h-added-tag">ADDED</span></span> + </svg> <span class="d2h-file-name">src/app/search/search.component.html</span> + <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span> <label class="d2h-file-collapse"> <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> Viewed @@ -11494,76 +11571,36 @@ <h1> <tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -0,0 +1,43 @@</div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> + <div class="d2h-code-side-line">@@ -1,6 +1,7 @@</div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 1 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"><input type="search"</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 2 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> autocomplete="off"</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 3 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> aria-label="Search"</span> </div> </td> </tr><tr> @@ -11577,124 +11614,147 @@ <h1> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 4 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> [class.loading]="isLoading"</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 5 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> #searchInput</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 6 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> (input)="input$.next(searchInput.value)"></span> </div> </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> +</tr> + </tbody> + </table> + </div> </div> + <div class="d2h-file-side-diff"> + <div class="d2h-code-wrapper"> + <table class="d2h-diff-table"> + <tbody class="d2h-diff-tbody"> + <tr> + <td class="d2h-code-side-linenumber d2h-info"></td> + <td class="d2h-info"> + <div class="d2h-code-side-line"></div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 1 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"><input type="search"</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 2 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> autocomplete="off"</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 3 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> aria-label="Search"</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 4 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> i18n-aria-label="search input ARIA label|input search@@SearchComponentInput"</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 5 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> [class.loading]="isLoading"</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 6 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> #searchInput</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 7 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> (input)="input$.next(searchInput.value)"></span> </div> </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> +</tr> + </tbody> + </table> + </div> </div> + </div> +</div> +<div id="d2h-296457" class="d2h-file-wrapper" data-lang="ts"> + <div class="d2h-file-header"> + <span class="d2h-file-name-wrapper"> + <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> + <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> + </svg> <span class="d2h-file-name">src/app/search/search.component.spec.ts</span> + <span class="d2h-tag d2h-added d2h-added-tag">ADDED</span></span> +<label class="d2h-file-collapse"> + <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> + Viewed +</label> + </div> + <div class="d2h-files-diff"> + <div class="d2h-file-side-diff"> + <div class="d2h-code-wrapper"> + <table class="d2h-diff-table"> + <tbody class="d2h-diff-tbody"> + <tr> + <td class="d2h-code-side-linenumber d2h-info"></td> + <td class="d2h-info"> + <div class="d2h-code-side-line">@@ -0,0 +1,23 @@</div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> @@ -11947,7 +12007,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">{</span> + <span class="d2h-code-line-ctn">import { ComponentFixture, TestBed } from '@angular/core/testing';</span> </div> </td> </tr><tr> @@ -11957,7 +12017,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "locale": "de",</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> @@ -11967,7 +12027,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "translations": {</span> + <span class="d2h-code-line-ctn">import { SearchComponent } from './search.component';</span> </div> </td> </tr><tr> @@ -11977,7 +12037,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "BookCreateComponentTitle": "Buch anlegen",</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> @@ -11987,7 +12047,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "BookEditComponentTitle": "Buch bearbeiten",</span> + <span class="d2h-code-line-ctn">describe('SearchComponent', () => {</span> </div> </td> </tr><tr> @@ -11997,7 +12057,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "BookFormComponentLabelTitle": "Titel",</span> + <span class="d2h-code-line-ctn"> let component: SearchComponent;</span> </div> </td> </tr><tr> @@ -12007,7 +12067,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "BookFormComponentLabelSubtitle": "Untertitel",</span> + <span class="d2h-code-line-ctn"> let fixture: ComponentFixture<SearchComponent>;</span> </div> </td> </tr><tr> @@ -12017,7 +12077,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "BookFormComponentLabelIsbn": "ISBN",</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> @@ -12027,7 +12087,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "BookFormComponentLabelAuthors": "Autorinnen/Autoren",</span> + <span class="d2h-code-line-ctn"> beforeEach(async () => {</span> </div> </td> </tr><tr> @@ -12037,7 +12097,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "BookFormComponentAddAuthor": " + Autorin/Autor ",</span> + <span class="d2h-code-line-ctn"> await TestBed.configureTestingModule({</span> </div> </td> </tr><tr> @@ -12047,7 +12107,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "BookFormComponentLabelDescription": "Beschreibung",</span> + <span class="d2h-code-line-ctn"> declarations: [ SearchComponent ]</span> </div> </td> </tr><tr> @@ -12057,7 +12117,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "BookFormComponentLabelPublished": "Veröffentlicht",</span> + <span class="d2h-code-line-ctn"> })</span> </div> </td> </tr><tr> @@ -12067,7 +12127,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "BookFormComponentLabelThumbnail": "Vorschaubild URL",</span> + <span class="d2h-code-line-ctn"> .compileComponents();</span> </div> </td> </tr><tr> @@ -12077,7 +12137,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "BookFormComponentSave": " Speichern ",</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> @@ -12087,7 +12147,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "BookFormComponentErrorTitleRequired": "Ein Titel muss angegeben werden.",</span> + <span class="d2h-code-line-ctn"> fixture = TestBed.createComponent(SearchComponent);</span> </div> </td> </tr><tr> @@ -12097,7 +12157,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "BookFormComponentErrorIsbnRequired": "Eine ISBN muss angegeben werden.",</span> + <span class="d2h-code-line-ctn"> component = fixture.componentInstance;</span> </div> </td> </tr><tr> @@ -12107,7 +12167,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "BookFormComponentErrorIsbnFormat": "Die ISBN muss aus 10 oder 13 Zahlen bestehen.",</span> + <span class="d2h-code-line-ctn"> fixture.detectChanges();</span> </div> </td> </tr><tr> @@ -12117,7 +12177,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "BookFormComponentErrorIsbnExists": "DIe ISBN existiert bereits.",</span> + <span class="d2h-code-line-ctn"> });</span> </div> </td> </tr><tr> @@ -12127,7 +12187,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "BookFormComponentErrorAtLeastOneAuthor": "Es muss mindestens ein Name angegeben werden.",</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> @@ -12137,7 +12197,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "AppComponentHome": "Startseite",</span> + <span class="d2h-code-line-ctn"> it('should create', () => {</span> </div> </td> </tr><tr> @@ -12147,7 +12207,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "AppComponentBooks": "Bücher",</span> + <span class="d2h-code-line-ctn"> expect(component).toBeTruthy();</span> </div> </td> </tr><tr> @@ -12157,7 +12217,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "AppComponentAdmin": "Administration",</span> + <span class="d2h-code-line-ctn"> });</span> </div> </td> </tr><tr> @@ -12167,207 +12227,370 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "AppComponentLogin": "Anmelden",</span> + <span class="d2h-code-line-ctn">});</span> + </div> + </td> +</tr> + </tbody> + </table> + </div> </div> + </div> +</div> +<div id="d2h-376505" class="d2h-file-wrapper" data-lang="ts"> + <div class="d2h-file-header"> + <span class="d2h-file-name-wrapper"> + <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> + <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> + </svg> <span class="d2h-file-name">src/app/shared/book-store.service.spec.ts</span> + <span class="d2h-tag d2h-added d2h-added-tag">ADDED</span></span> +<label class="d2h-file-collapse"> + <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> + Viewed +</label> + </div> + <div class="d2h-files-diff"> + <div class="d2h-file-side-diff"> + <div class="d2h-code-wrapper"> + <table class="d2h-diff-table"> + <tbody class="d2h-diff-tbody"> + <tr> + <td class="d2h-code-side-linenumber d2h-info"></td> + <td class="d2h-info"> + <div class="d2h-code-side-line">@@ -0,0 +1,16 @@</div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 24 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "AppComponentLogout": "Abmelden",</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 25 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "BookDetailsComponentAuthors": "Autorinnen/Autoren",</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 26 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "BookDetailsComponentIsbn": "ISBN",</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 27 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "BookDetailsComponentPublished": "Veröffentlicht",</span> +</tr> + </tbody> + </table> + </div> </div> + <div class="d2h-file-side-diff"> + <div class="d2h-code-wrapper"> + <table class="d2h-diff-table"> + <tbody class="d2h-diff-tbody"> + <tr> + <td class="d2h-code-side-linenumber d2h-info"></td> + <td class="d2h-info"> + <div class="d2h-code-side-line"></div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 28 + 1 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "BookDetailsComponentDescription": "Beschreibung",</span> + <span class="d2h-code-line-ctn">import { TestBed } from '@angular/core/testing';</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 29 + 2 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "BookDetailsComponentAltCover": "Buchcover",</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 30 + 3 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "BookDetailsComponentBackToList": "Zurück zur Liste",</span> + <span class="d2h-code-line-ctn">import { BookStoreService } from './book-store.service';</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 31 + 4 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "BookDetailsComponentRemove": " Buch entfernen ",</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 32 + 5 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "BookDetailsComponentEdit": " Buch bearbeiten ",</span> + <span class="d2h-code-line-ctn">describe('BookStoreService', () => {</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 33 + 6 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "BookListItemComponentAltCover": "Buchcover",</span> + <span class="d2h-code-line-ctn"> let service: BookStoreService;</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 34 + 7 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "BookListItemComponentIsbn": "ISBN",</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 35 + 8 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "BookListComponentTitle": "Bücher",</span> + <span class="d2h-code-line-ctn"> beforeEach(() => {</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 36 + 9 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "BookListComponentNoBooks": " Keine Bücher verfügbar. ",</span> + <span class="d2h-code-line-ctn"> TestBed.configureTestingModule({});</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 37 + 10 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "HomeComponentTitle": "Startseite",</span> + <span class="d2h-code-line-ctn"> service = TestBed.inject(BookStoreService);</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 38 + 11 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "HomeComponentBooks": " Zur Buchliste\n",</span> + <span class="d2h-code-line-ctn"> });</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 39 + 12 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "HomeComponentSearchHeadline": "Suche",</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 40 + 13 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "SearchComponentInput": "Suche",</span> + <span class="d2h-code-line-ctn"> it('should be created', () => {</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 41 + 14 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "AuthGuardAlert": "Nicht angemeldet!"</span> + <span class="d2h-code-line-ctn"> expect(service).toBeTruthy();</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 42 + 15 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> }</span> + <span class="d2h-code-line-ctn"> });</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 43 + 16 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">}</span> + <span class="d2h-code-line-ctn">});</span> </div> </td> </tr> @@ -12397,7 +12620,7 @@ <h1> <tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -1,7 +1,26 @@</div> + <div class="d2h-code-side-line">@@ -1,8 +1,28 @@</div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> @@ -12479,6 +12702,46 @@ <h1> <span class="d2h-code-line-ctn"><br></span> </div> </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-del d2h-change"> + 5 + </td> + <td class="d2h-del d2h-change"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">-</span> + <span class="d2h-code-line-ctn"><del>platformBrowserDynamic</del>()<del>.bootstrapModule(AppModule,</del> {</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-del d2h-change"> + 6 + </td> + <td class="d2h-del d2h-change"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">-</span> + <span class="d2h-code-line-ctn"> <del>ngZoneEventCoalescing:</del> <del>true</del></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-del d2h-change"> + 7 + </td> + <td class="d2h-del d2h-change"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">-</span> + <span class="d2h-code-line-ctn"><del>})</del></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-del d2h-change"> + 8 + </td> + <td class="d2h-del d2h-change"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">-</span> + <span class="d2h-code-line-ctn"> <del>.catch(err => console.error(err));</del></span> + </div> + </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> @@ -12580,35 +12843,15 @@ <h1> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 5 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> <span class="d2h-code-line-ctn"><br></span> </div> </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 6 - </td> - <td class="d2h-del d2h-change"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn"><del>platformBrowserDynamic</del>().<del>bootstrapModule</del>(<del>AppModule)</del></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 7 - </td> - <td class="d2h-del d2h-change"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn"> <del>.catch</del>(<del>err => console.error(err));</del></span> - </div> - </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> @@ -12754,43 +12997,43 @@ <h1> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> + <td class="d2h-code-side-linenumber d2h-ins d2h-change"> 9 </td> - <td class="d2h-ins"> + <td class="d2h-ins d2h-change"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">async function setupLocale() {</span> + <span class="d2h-code-line-ctn"><ins>async function setupLocale</ins>() {</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> + <td class="d2h-code-side-linenumber d2h-ins d2h-change"> 10 </td> - <td class="d2h-ins"> + <td class="d2h-ins d2h-change"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> if (localStorage.getItem('locale') !== 'de') {</span> + <span class="d2h-code-line-ctn"> <ins>if</ins> <ins>(localStorage.getItem('locale') !== 'de') {</ins></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> + <td class="d2h-code-side-linenumber d2h-ins d2h-change"> 11 </td> - <td class="d2h-ins"> + <td class="d2h-ins d2h-change"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> return 'en-US';</span> + <span class="d2h-code-line-ctn"><ins> return 'en-US';</ins></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> + <td class="d2h-code-side-linenumber d2h-ins d2h-change"> 12 </td> - <td class="d2h-ins"> + <td class="d2h-ins d2h-change"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> }</span> + <span class="d2h-code-line-ctn"> <ins>}</ins></span> </div> </td> </tr><tr> @@ -12800,7 +13043,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> const response = await fetch('assets/messages.de.json');</span> + <span class="d2h-code-line-ctn"> const response = await fetch('messages.de.json');</span> </div> </td> </tr><tr> @@ -12854,33 +13097,33 @@ <h1> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> + <td class="d2h-code-side-linenumber d2h-ins"> 19 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins d2h-change"> + <td class="d2h-code-side-linenumber d2h-ins"> 20 </td> - <td class="d2h-ins d2h-change"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><ins>setupLocale</ins>().<ins>then</ins>(<ins>localeValue => {</ins></span> + <span class="d2h-code-line-ctn">setupLocale().then(localeValue => {</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins d2h-change"> + <td class="d2h-code-side-linenumber d2h-ins"> 21 </td> - <td class="d2h-ins d2h-change"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> <ins>platformBrowserDynamic</ins>(<ins>[</ins></span> + <span class="d2h-code-line-ctn"> platformBrowserDynamic([</span> </div> </td> </tr><tr> @@ -12910,7 +13153,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> .bootstrapModule(AppModule)</span> + <span class="d2h-code-line-ctn"> .bootstrapModule(AppModule, {</span> </div> </td> </tr><tr> @@ -12920,13 +13163,33 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> .catch(err => console.error(err));</span> + <span class="d2h-code-line-ctn"> ngZoneEventCoalescing: true</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> 26 </td> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> })</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins"> + 27 + </td> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> .catch(err => console.error(err));</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins"> + 28 + </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> @@ -12960,11 +13223,11 @@ <h1> <tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -3,7 +3,9 @@</div> + <div class="d2h-code-side-line">@@ -4,7 +4,9 @@</div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 3 + 4 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -12974,7 +13237,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 4 + 5 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -12984,7 +13247,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 5 + 6 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -12994,7 +13257,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 6 + 7 </td> <td class="d2h-del d2h-change"> <div class="d2h-code-side-line"> @@ -13024,7 +13287,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 7 + 8 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -13034,7 +13297,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 8 + 9 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -13044,7 +13307,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 9 + 10 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -13068,7 +13331,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 3 + 4 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -13078,7 +13341,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 4 + 5 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -13088,7 +13351,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 5 + 6 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -13098,7 +13361,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins d2h-change"> - 6 + 7 </td> <td class="d2h-ins d2h-change"> <div class="d2h-code-side-line"> @@ -13108,7 +13371,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 7 + 8 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -13118,7 +13381,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 8 + 9 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -13128,7 +13391,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 9 + 10 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -13138,7 +13401,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 10 + 11 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -13148,7 +13411,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 11 + 12 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -13183,11 +13446,11 @@ <h1> <tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -4,7 +4,8 @@</div> + <div class="d2h-code-side-line">@@ -5,7 +5,8 @@</div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 4 + 5 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -13197,7 +13460,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 5 + 6 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -13207,7 +13470,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 6 + 7 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -13217,7 +13480,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 7 + 8 </td> <td class="d2h-del d2h-change"> <div class="d2h-code-side-line"> @@ -13237,7 +13500,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 8 + 9 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -13247,7 +13510,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 9 + 10 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -13257,7 +13520,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 10 + 11 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -13281,7 +13544,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 4 + 5 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -13291,7 +13554,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 5 + 6 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -13301,7 +13564,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 6 + 7 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -13311,7 +13574,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins d2h-change"> - 7 + 8 </td> <td class="d2h-ins d2h-change"> <div class="d2h-code-side-line"> @@ -13321,7 +13584,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 8 + 9 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -13331,7 +13594,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 9 + 10 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -13341,7 +13604,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 10 + 11 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -13351,7 +13614,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 11 + 12 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> diff --git a/diffs/16d-docker.html b/diffs/16d-docker.html index a408d9c..e8d87a7 100644 --- a/diffs/16d-docker.html +++ b/diffs/16d-docker.html @@ -275,6 +275,212 @@ <h1> </div> </div> </div> +<div id="d2h-234349" class="d2h-file-wrapper" data-lang="json"> + <div class="d2h-file-header"> + <span class="d2h-file-name-wrapper"> + <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> + <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> + </svg> <span class="d2h-file-name">public/settings.json</span> + <span class="d2h-tag d2h-added d2h-added-tag">ADDED</span></span> +<label class="d2h-file-collapse"> + <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> + Viewed +</label> + </div> + <div class="d2h-files-diff"> + <div class="d2h-file-side-diff"> + <div class="d2h-code-wrapper"> + <table class="d2h-diff-table"> + <tbody class="d2h-diff-tbody"> + <tr> + <td class="d2h-code-side-linenumber d2h-info"></td> + <td class="d2h-info"> + <div class="d2h-code-side-line">@@ -0,0 +1,3 @@</div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr> + </tbody> + </table> + </div> + </div> + <div class="d2h-file-side-diff"> + <div class="d2h-code-wrapper"> + <table class="d2h-diff-table"> + <tbody class="d2h-diff-tbody"> + <tr> + <td class="d2h-code-side-linenumber d2h-info"></td> + <td class="d2h-info"> + <div class="d2h-code-side-line"></div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins"> + 1 + </td> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn">{</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins"> + 2 + </td> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> "apiUrl": "https://api5.angular-buch.com"</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins"> + 3 + </td> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn">}</span> + </div> + </td> +</tr> + </tbody> + </table> + </div> + </div> + </div> +</div> +<div id="d2h-727369" class="d2h-file-wrapper" data-lang="json"> + <div class="d2h-file-header"> + <span class="d2h-file-name-wrapper"> + <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> + <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> + </svg> <span class="d2h-file-name">public/settings.template.json</span> + <span class="d2h-tag d2h-added d2h-added-tag">ADDED</span></span> +<label class="d2h-file-collapse"> + <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> + Viewed +</label> + </div> + <div class="d2h-files-diff"> + <div class="d2h-file-side-diff"> + <div class="d2h-code-wrapper"> + <table class="d2h-diff-table"> + <tbody class="d2h-diff-tbody"> + <tr> + <td class="d2h-code-side-linenumber d2h-info"></td> + <td class="d2h-info"> + <div class="d2h-code-side-line">@@ -0,0 +1,3 @@</div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr> + </tbody> + </table> + </div> + </div> + <div class="d2h-file-side-diff"> + <div class="d2h-code-wrapper"> + <table class="d2h-diff-table"> + <tbody class="d2h-diff-tbody"> + <tr> + <td class="d2h-code-side-linenumber d2h-info"></td> + <td class="d2h-info"> + <div class="d2h-code-side-line"></div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins"> + 1 + </td> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn">{</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins"> + 2 + </td> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> "apiUrl": "${API_URL}"</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins"> + 3 + </td> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn">}</span> + </div> + </td> +</tr> + </tbody> + </table> + </div> + </div> + </div> +</div> <div id="d2h-844021" class="d2h-file-wrapper" data-lang="ts"> <div class="d2h-file-header"> <span class="d2h-file-name-wrapper"> @@ -5604,13 +5810,13 @@ <h1> </div> </div> </div> -<div id="d2h-034030" class="d2h-file-wrapper" data-lang="json"> +<div id="d2h-638249" class="d2h-file-wrapper" data-lang="ts"> <div class="d2h-file-header"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> - </svg> <span class="d2h-file-name">src/assets/settings.json</span> - <span class="d2h-tag d2h-added d2h-added-tag">ADDED</span></span> + </svg> <span class="d2h-file-name">src/main.ts</span> + <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span> <label class="d2h-file-collapse"> <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> Viewed @@ -5624,119 +5830,36 @@ <h1> <tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -0,0 +1,3 @@</div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> + <div class="d2h-code-side-line">@@ -1,8 +1,19 @@</div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr> - </tbody> - </table> - </div> - </div> - <div class="d2h-file-side-diff"> - <div class="d2h-code-wrapper"> - <table class="d2h-diff-table"> - <tbody class="d2h-diff-tbody"> - <tr> - <td class="d2h-code-side-linenumber d2h-info"></td> - <td class="d2h-info"> - <div class="d2h-code-side-line"></div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> + <td class="d2h-code-side-linenumber d2h-cntx"> 1 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">{</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn">import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> + <td class="d2h-code-side-linenumber d2h-cntx"> 2 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "apiUrl": "https://api5.angular-buch.com"</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> + <td class="d2h-code-side-linenumber d2h-cntx"> 3 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">}</span> - </div> - </td> -</tr> - </tbody> - </table> - </div> - </div> - </div> -</div> -<div id="d2h-055694" class="d2h-file-wrapper" data-lang="json"> - <div class="d2h-file-header"> - <span class="d2h-file-name-wrapper"> - <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> - <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> - </svg> <span class="d2h-file-name">src/assets/settings.template.json</span> - <span class="d2h-tag d2h-added d2h-added-tag">ADDED</span></span> -<label class="d2h-file-collapse"> - <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> - Viewed -</label> - </div> - <div class="d2h-files-diff"> - <div class="d2h-file-side-diff"> - <div class="d2h-code-wrapper"> - <table class="d2h-diff-table"> - <tbody class="d2h-diff-tbody"> - <tr> - <td class="d2h-code-side-linenumber d2h-info"></td> - <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -0,0 +1,3 @@</div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn">import { AppModule } from './app/app.module';</span> </div> </td> </tr><tr> @@ -5750,116 +5873,53 @@ <h1> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 4 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> <span class="d2h-code-line-ctn"><br></span> </div> </td> -</tr> - </tbody> - </table> - </div> - </div> - <div class="d2h-file-side-diff"> - <div class="d2h-code-wrapper"> - <table class="d2h-diff-table"> - <tbody class="d2h-diff-tbody"> - <tr> - <td class="d2h-code-side-linenumber d2h-info"></td> - <td class="d2h-info"> - <div class="d2h-code-side-line"></div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 1 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">{</span> - </div> - </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 2 + <td class="d2h-code-side-linenumber d2h-del d2h-change"> + 5 </td> - <td class="d2h-ins"> + <td class="d2h-del d2h-change"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "apiUrl": "${API_URL}"</span> + <span class="d2h-code-line-prefix">-</span> + <span class="d2h-code-line-ctn"><del>platformBrowserDynamic</del>()<del>.bootstrapModule(AppModule,</del> {</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 3 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">}</span> - </div> - </td> -</tr> - </tbody> - </table> - </div> - </div> - </div> -</div> -<div id="d2h-638249" class="d2h-file-wrapper" data-lang="ts"> - <div class="d2h-file-header"> - <span class="d2h-file-name-wrapper"> - <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> - <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> - </svg> <span class="d2h-file-name">src/main.ts</span> - <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span> -<label class="d2h-file-collapse"> - <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> - Viewed -</label> - </div> - <div class="d2h-files-diff"> - <div class="d2h-file-side-diff"> - <div class="d2h-code-wrapper"> - <table class="d2h-diff-table"> - <tbody class="d2h-diff-tbody"> - <tr> - <td class="d2h-code-side-linenumber d2h-info"></td> - <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -1,7 +1,17 @@</div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 1 + <td class="d2h-code-side-linenumber d2h-del d2h-change"> + 6 </td> - <td class="d2h-cntx"> + <td class="d2h-del d2h-change"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn">import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';</span> + <span class="d2h-code-line-prefix">-</span> + <span class="d2h-code-line-ctn"> <del>ngZoneEventCoalescing:</del> <del>true</del></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 2 + <td class="d2h-code-side-linenumber d2h-del d2h-change"> + 7 </td> - <td class="d2h-cntx"> + <td class="d2h-del d2h-change"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-prefix">-</span> + <span class="d2h-code-line-ctn"><del>}</del>)</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 3 + <td class="d2h-code-side-linenumber d2h-del d2h-change"> + 8 </td> - <td class="d2h-cntx"> + <td class="d2h-del d2h-change"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn">import { AppModule } from './app/app.module';</span> + <span class="d2h-code-line-prefix">-</span> + <span class="d2h-code-line-ctn"><del> .catch(err => console.error(err));</del></span> </div> </td> </tr><tr> @@ -5872,16 +5932,6 @@ <h1> <span class="d2h-code-line-ctn"><br></span> </div> </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 4 - </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> @@ -5922,36 +5972,6 @@ <h1> <span class="d2h-code-line-ctn"><br></span> </div> </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 5 - </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 6 - </td> - <td class="d2h-del d2h-change"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn"><del>platformBrowserDynamic</del>().<del>bootstrapModule</del>(<del>AppModule)</del></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 7 - </td> - <td class="d2h-del d2h-change"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn"> <del>.catch</del>(<del>err => console.error(err));</del></span> - </div> - </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> @@ -6067,73 +6087,73 @@ <h1> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> + <td class="d2h-code-side-linenumber d2h-ins d2h-change"> 6 </td> - <td class="d2h-ins"> + <td class="d2h-ins d2h-change"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">async function loadSettings(): Promise<Settings> {</span> + <span class="d2h-code-line-ctn"><ins>async function loadSettings</ins>()<ins>:</ins> <ins>Promise<Settings> </ins>{</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> + <td class="d2h-code-side-linenumber d2h-ins d2h-change"> 7 </td> - <td class="d2h-ins"> + <td class="d2h-ins d2h-change"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> const response = await fetch('assets/settings.json');</span> + <span class="d2h-code-line-ctn"> <ins>const</ins> <ins>response = await fetch('settings.json');</ins></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> + <td class="d2h-code-side-linenumber d2h-ins d2h-change"> 8 </td> - <td class="d2h-ins"> + <td class="d2h-ins d2h-change"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> return response.json();</span> + <span class="d2h-code-line-ctn"><ins> return response.json(</ins>)<ins>;</ins></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> + <td class="d2h-code-side-linenumber d2h-ins d2h-change"> 9 </td> - <td class="d2h-ins"> + <td class="d2h-ins d2h-change"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">}</span> + <span class="d2h-code-line-ctn"><ins>}</ins></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> + <td class="d2h-code-side-linenumber d2h-ins"> 10 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins d2h-change"> + <td class="d2h-code-side-linenumber d2h-ins"> 11 </td> - <td class="d2h-ins d2h-change"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><ins>loadSettings</ins>().<ins>then</ins>(<ins>settings => {</ins></span> + <span class="d2h-code-line-ctn">loadSettings().then(settings => {</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins d2h-change"> + <td class="d2h-code-side-linenumber d2h-ins"> 12 </td> - <td class="d2h-ins d2h-change"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> <ins>platformBrowserDynamic</ins>(<ins>[</ins></span> + <span class="d2h-code-line-ctn"> platformBrowserDynamic([</span> </div> </td> </tr><tr> @@ -6163,7 +6183,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> .bootstrapModule(AppModule)</span> + <span class="d2h-code-line-ctn"> .bootstrapModule(AppModule, {</span> </div> </td> </tr><tr> @@ -6173,13 +6193,33 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> .catch(err => console.error(err));</span> + <span class="d2h-code-line-ctn"> ngZoneEventCoalescing: true</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> 17 </td> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> })</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins"> + 18 + </td> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> .catch(err => console.error(err));</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins"> + 19 + </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> diff --git a/diffs/16e-ngrx.html b/diffs/16e-ngrx.html index b40dc55..2fa951e 100644 --- a/diffs/16e-ngrx.html +++ b/diffs/16e-ngrx.html @@ -32,330 +32,7 @@ <h1> <div id="diff" style="margin-top: 1em"> <div class="d2h-wrapper"> - <div id="d2h-802886" class="d2h-file-wrapper" data-lang="json"> - <div class="d2h-file-header"> - <span class="d2h-file-name-wrapper"> - <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> - <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> - </svg> <span class="d2h-file-name">.eslintrc.json</span> - <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span> -<label class="d2h-file-collapse"> - <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> - Viewed -</label> - </div> - <div class="d2h-files-diff"> - <div class="d2h-file-side-diff"> - <div class="d2h-code-wrapper"> - <table class="d2h-diff-table"> - <tbody class="d2h-diff-tbody"> - <tr> - <td class="d2h-code-side-linenumber d2h-info"></td> - <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -42,6 +42,14 @@</div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 42 - </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "plugin:@angular-eslint/template/accessibility"</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 43 - </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> ],</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 44 - </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "rules": {}</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 45 - </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> }</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 46 - </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> ]</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 47 - </td> - <td class="d2h-del d2h-change"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn">}</span> - </div> - </td> -</tr> - </tbody> - </table> - </div> - </div> - <div class="d2h-file-side-diff"> - <div class="d2h-code-wrapper"> - <table class="d2h-diff-table"> - <tbody class="d2h-diff-tbody"> - <tr> - <td class="d2h-code-side-linenumber d2h-info"></td> - <td class="d2h-info"> - <div class="d2h-code-side-line"></div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 42 - </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "plugin:@angular-eslint/template/accessibility"</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 43 - </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> ],</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 44 - </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "rules": {}</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 45 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> },</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 46 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> {</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 47 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "files": [</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 48 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "*.ts"</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 49 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> ],</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 50 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "extends": [</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 51 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "plugin:@ngrx/recommended"</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 52 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> ]</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 53 - </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> }</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 54 - </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> ]</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins d2h-change"> - 55 - </td> - <td class="d2h-ins d2h-change"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">}</span> - </div> - </td> -</tr> - </tbody> - </table> - </div> - </div> - </div> -</div> -<div id="d2h-885132" class="d2h-file-wrapper" data-lang="json"> + <div id="d2h-885132" class="d2h-file-wrapper" data-lang="json"> <div class="d2h-file-header"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> @@ -375,11 +52,11 @@ <h1> <tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -113,7 +113,8 @@</div> + <div class="d2h-code-side-line">@@ -114,7 +114,8 @@</div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 113 + 114 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -389,7 +66,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 114 + 115 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -399,7 +76,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 115 + 116 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -409,7 +86,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 116 + 117 </td> <td class="d2h-del d2h-change"> <div class="d2h-code-side-line"> @@ -429,7 +106,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 117 + 118 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -439,7 +116,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 118 + 119 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -449,7 +126,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 119 + 120 </td> <td class="d2h-del d2h-change"> <div class="d2h-code-side-line"> @@ -473,7 +150,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 113 + 114 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -483,7 +160,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 114 + 115 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -493,7 +170,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 115 + 116 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -503,7 +180,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins d2h-change"> - 116 + 117 </td> <td class="d2h-ins d2h-change"> <div class="d2h-code-side-line"> @@ -513,7 +190,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 117 + 118 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -523,7 +200,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 118 + 119 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -533,7 +210,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 119 + 120 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -543,7 +220,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins d2h-change"> - 120 + 121 </td> <td class="d2h-ins d2h-change"> <div class="d2h-code-side-line"> @@ -578,36 +255,36 @@ <h1> <tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -19,6 +19,9 @@</div> + <div class="d2h-code-side-line">@@ -20,6 +20,9 @@</div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 19 + 20 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/platform-browser": "^17.3.0",</span> + <span class="d2h-code-line-ctn"> "@angular/platform-browser": "^18.0.0",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 20 + 21 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/platform-browser-dynamic": "^17.3.0",</span> + <span class="d2h-code-line-ctn"> "@angular/platform-browser-dynamic": "^18.0.0",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 21 + 22 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/router": "^17.3.0",</span> + <span class="d2h-code-line-ctn"> "@angular/router": "^18.0.0",</span> </div> </td> </tr><tr> @@ -642,7 +319,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 22 + 23 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -652,7 +329,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 23 + 24 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -662,7 +339,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 24 + 25 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -673,46 +350,36 @@ <h1> </tr><tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -34,11 +37,14 @@</div> + <div class="d2h-code-side-line">@@ -30,10 +33,12 @@</div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 34 + 30 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular-eslint/template-parser": "17.3.0",</span> + <span class="d2h-code-line-ctn"> "@angular-devkit/build-angular": "^18.0.3",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 35 + 31 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/cli": "^17.3.6",</span> + <span class="d2h-code-line-ctn"> "@angular/cli": "^18.0.3",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 36 + 32 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/compiler-cli": "^17.3.0",</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> "@angular/compiler-cli": "^18.0.0",</span> </div> </td> </tr><tr> @@ -727,7 +394,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 37 + 33 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -737,37 +404,27 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 38 - </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@typescript-eslint/eslint-plugin": "7.2.0",</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 39 + 34 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@typescript-eslint/parser": "7.2.0",</span> + <span class="d2h-code-line-ctn"> "angular-eslint": "18.0.1",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 40 + 35 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "eslint": "^8.57.0",</span> + <span class="d2h-code-line-ctn"> "eslint": "^9.3.0",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 41 + 36 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -787,7 +444,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 42 + 37 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -797,7 +454,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 43 + 38 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -807,7 +464,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 44 + 39 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -831,67 +488,67 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 19 + 20 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/platform-browser": "^17.3.0",</span> + <span class="d2h-code-line-ctn"> "@angular/platform-browser": "^18.0.0",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 20 + 21 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/platform-browser-dynamic": "^17.3.0",</span> + <span class="d2h-code-line-ctn"> "@angular/platform-browser-dynamic": "^18.0.0",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 21 + 22 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/router": "^17.3.0",</span> + <span class="d2h-code-line-ctn"> "@angular/router": "^18.0.0",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 22 + 23 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "@ngrx/effects": "^17.2.0",</span> + <span class="d2h-code-line-ctn"> "@ngrx/effects": "^18.0.0-rc.0",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 23 + 24 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "@ngrx/store": "^17.2.0",</span> + <span class="d2h-code-line-ctn"> "@ngrx/store": "^18.0.0-rc.0",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 24 + 25 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "@ngrx/store-devtools": "^17.2.0",</span> + <span class="d2h-code-line-ctn"> "@ngrx/store-devtools": "^18.0.0-rc.0",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 25 + 26 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -901,7 +558,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 26 + 27 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -911,7 +568,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 27 + 28 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -926,57 +583,47 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 37 + 33 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular-eslint/template-parser": "17.3.0",</span> + <span class="d2h-code-line-ctn"> "@angular-devkit/build-angular": "^18.0.3",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 38 + 34 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/cli": "^17.3.6",</span> + <span class="d2h-code-line-ctn"> "@angular/cli": "^18.0.3",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 39 + 35 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/compiler-cli": "^17.3.0",</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 40 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "@ngrx/eslint-plugin": "^17.2.0",</span> + <span class="d2h-code-line-ctn"> "@angular/compiler-cli": "^18.0.0",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 41 + 36 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "@ngrx/schematics": "^17.2.0",</span> + <span class="d2h-code-line-ctn"> "@ngrx/schematics": "^18.0.0-rc.0",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 42 + 37 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -986,37 +633,27 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 43 - </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@typescript-eslint/eslint-plugin": "7.2.0",</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 44 + 38 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@typescript-eslint/parser": "7.2.0",</span> + <span class="d2h-code-line-ctn"> "angular-eslint": "18.0.1",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 45 + 39 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "eslint": "^8.57.0",</span> + <span class="d2h-code-line-ctn"> "eslint": "^9.3.0",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 46 + 40 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -1026,7 +663,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 47 + 41 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -1036,7 +673,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 48 + 42 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -1046,7 +683,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 49 + 43 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -1056,7 +693,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 50 + 44 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> diff --git a/diffs/16f-ssr.html b/diffs/16f-ssr.html index 4b64053..448a992 100644 --- a/diffs/16f-ssr.html +++ b/diffs/16f-ssr.html @@ -52,11 +52,11 @@ <h1> <tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -37,7 +37,15 @@</div> + <div class="d2h-code-side-line">@@ -39,7 +39,15 @@</div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 37 + 39 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -66,7 +66,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 38 + 40 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -76,7 +76,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 39 + 41 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -86,7 +86,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 40 + 42 </td> <td class="d2h-del d2h-change"> <div class="d2h-code-side-line"> @@ -176,7 +176,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 41 + 43 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -186,7 +186,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 42 + 44 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -196,7 +196,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 43 + 45 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -220,7 +220,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 37 + 39 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -230,7 +230,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 38 + 40 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -240,7 +240,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 39 + 41 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -250,7 +250,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins d2h-change"> - 40 + 42 </td> <td class="d2h-ins d2h-change"> <div class="d2h-code-side-line"> @@ -260,7 +260,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 41 + 43 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -270,7 +270,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 42 + 44 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -280,7 +280,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 43 + 45 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -290,7 +290,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 44 + 46 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -300,7 +300,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 45 + 47 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -310,7 +310,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 46 + 48 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -320,7 +320,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 47 + 49 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -330,7 +330,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 48 + 50 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -340,7 +340,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 49 + 51 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -350,7 +350,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 50 + 52 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -360,7 +360,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 51 + 53 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -480,36 +480,36 @@ <h1> </tr><tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -18,9 +19,12 @@</div> + <div class="d2h-code-side-line">@@ -19,9 +20,12 @@</div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 18 + 19 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/forms": "^17.3.0",</span> + <span class="d2h-code-line-ctn"> "@angular/forms": "^18.0.0",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 19 + 20 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/platform-browser": "^17.3.0",</span> + <span class="d2h-code-line-ctn"> "@angular/platform-browser": "^18.0.0",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 20 + 21 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/platform-browser-dynamic": "^17.3.0",</span> + <span class="d2h-code-line-ctn"> "@angular/platform-browser-dynamic": "^18.0.0",</span> </div> </td> </tr><tr> @@ -524,12 +524,12 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 21 + 22 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/router": "^17.3.0",</span> + <span class="d2h-code-line-ctn"> "@angular/router": "^18.0.0",</span> </div> </td> </tr><tr> @@ -544,7 +544,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 22 + 23 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -554,7 +554,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 23 + 24 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -574,7 +574,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 24 + 25 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -584,7 +584,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 25 + 26 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -594,7 +594,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 26 + 27 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -605,36 +605,36 @@ <h1> </tr><tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -34,7 +38,9 @@</div> + <div class="d2h-code-side-line">@@ -30,7 +34,9 @@</div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 34 + 30 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular-eslint/template-parser": "17.3.0",</span> + <span class="d2h-code-line-ctn"> "@angular-devkit/build-angular": "^18.0.3",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 35 + 31 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/cli": "^17.3.6",</span> + <span class="d2h-code-line-ctn"> "@angular/cli": "^18.0.3",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 36 + 32 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/compiler-cli": "^17.3.0",</span> + <span class="d2h-code-line-ctn"> "@angular/compiler-cli": "^18.0.0",</span> </div> </td> </tr><tr> @@ -649,7 +649,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 37 + 33 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -669,62 +669,62 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 38 + 34 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@typescript-eslint/eslint-plugin": "7.2.0",</span> + <span class="d2h-code-line-ctn"> "angular-eslint": "18.0.1",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 39 + 35 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@typescript-eslint/parser": "7.2.0",</span> + <span class="d2h-code-line-ctn"> "eslint": "^9.3.0",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 40 + 36 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "eslint": "^8.57.0",</span> + <span class="d2h-code-line-ctn"> "jasmine-core": "~5.1.0",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -46,4 +52,4 @@</div> + <div class="d2h-code-side-line">@@ -42,4 +48,4 @@</div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 46 + 42 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "karma-jasmine-html-reporter": "~2.1.0",</span> + <span class="d2h-code-line-ctn"> "typescript": "~5.4.2",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 47 + 43 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "typescript": "~5.4.2"</span> + <span class="d2h-code-line-ctn"> "typescript-eslint": "8.0.0-alpha.20"</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 48 + 44 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -734,7 +734,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 49 + 45 </td> <td class="d2h-del d2h-change"> <div class="d2h-code-side-line"> @@ -843,67 +843,67 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 19 + 20 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/forms": "^17.3.0",</span> + <span class="d2h-code-line-ctn"> "@angular/forms": "^18.0.0",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 20 + 21 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/platform-browser": "^17.3.0",</span> + <span class="d2h-code-line-ctn"> "@angular/platform-browser": "^18.0.0",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 21 + 22 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/platform-browser-dynamic": "^17.3.0",</span> + <span class="d2h-code-line-ctn"> "@angular/platform-browser-dynamic": "^18.0.0",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 22 + 23 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "@angular/platform-server": "^17.3.0",</span> + <span class="d2h-code-line-ctn"> "@angular/platform-server": "^18.0.0",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 23 + 24 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/router": "^17.3.0",</span> + <span class="d2h-code-line-ctn"> "@angular/router": "^18.0.0",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 24 + 25 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "@angular/ssr": "^17.3.6",</span> + <span class="d2h-code-line-ctn"> "@angular/ssr": "^18.0.3",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 25 + 26 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -913,7 +913,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 26 + 27 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -923,7 +923,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 27 + 28 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -933,7 +933,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 28 + 29 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -943,7 +943,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 29 + 30 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -953,7 +953,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 30 + 31 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -968,37 +968,37 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 38 + 34 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular-eslint/template-parser": "17.3.0",</span> + <span class="d2h-code-line-ctn"> "@angular-devkit/build-angular": "^18.0.3",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 39 + 35 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/cli": "^17.3.6",</span> + <span class="d2h-code-line-ctn"> "@angular/cli": "^18.0.3",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 40 + 36 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/compiler-cli": "^17.3.0",</span> + <span class="d2h-code-line-ctn"> "@angular/compiler-cli": "^18.0.0",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 41 + 37 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -1008,7 +1008,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 42 + 38 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -1018,7 +1018,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 43 + 39 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -1028,32 +1028,32 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 44 + 40 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@typescript-eslint/eslint-plugin": "7.2.0",</span> + <span class="d2h-code-line-ctn"> "angular-eslint": "18.0.1",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 45 + 41 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@typescript-eslint/parser": "7.2.0",</span> + <span class="d2h-code-line-ctn"> "eslint": "^9.3.0",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 46 + 42 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "eslint": "^8.57.0",</span> + <span class="d2h-code-line-ctn"> "jasmine-core": "~5.1.0",</span> </div> </td> </tr><tr> @@ -1063,27 +1063,27 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 52 + 48 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "karma-jasmine-html-reporter": "~2.1.0",</span> + <span class="d2h-code-line-ctn"> "typescript": "~5.4.2",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 53 + 49 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "typescript": "~5.4.2"</span> + <span class="d2h-code-line-ctn"> "typescript-eslint": "8.0.0-alpha.20"</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 54 + 50 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -1093,7 +1093,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins d2h-change"> - 55 + 51 </td> <td class="d2h-ins d2h-change"> <div class="d2h-code-side-line"> @@ -1311,7 +1311,17 @@ <h1> <tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -0,0 +1,56 @@</div> + <div class="d2h-code-side-line">@@ -0,0 +1,57 @@</div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> @@ -2114,7 +2124,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> server.get('*.*', express.static(browserDistFolder, {</span> + <span class="d2h-code-line-ctn"> server.get('**', express.static(browserDistFolder, {</span> </div> </td> </tr><tr> @@ -2124,7 +2134,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> maxAge: '1y'</span> + <span class="d2h-code-line-ctn"> maxAge: '1y',</span> </div> </td> </tr><tr> @@ -2134,7 +2144,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> }));</span> + <span class="d2h-code-line-ctn"> index: 'index.html',</span> </div> </td> </tr><tr> @@ -2144,7 +2154,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> }));</span> </div> </td> </tr><tr> @@ -2154,7 +2164,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> // All regular routes use the Angular engine</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> @@ -2164,7 +2174,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> server.get('*', (req, res, next) => {</span> + <span class="d2h-code-line-ctn"> // All regular routes use the Angular engine</span> </div> </td> </tr><tr> @@ -2174,7 +2184,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> const { protocol, originalUrl, baseUrl, headers } = req;</span> + <span class="d2h-code-line-ctn"> server.get('**', (req, res, next) => {</span> </div> </td> </tr><tr> @@ -2184,7 +2194,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> const { protocol, originalUrl, baseUrl, headers } = req;</span> </div> </td> </tr><tr> @@ -2194,7 +2204,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> commonEngine</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> @@ -2204,7 +2214,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> .render({</span> + <span class="d2h-code-line-ctn"> commonEngine</span> </div> </td> </tr><tr> @@ -2214,7 +2224,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> bootstrap: AppServerModule,</span> + <span class="d2h-code-line-ctn"> .render({</span> </div> </td> </tr><tr> @@ -2224,7 +2234,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> documentFilePath: indexHtml,</span> + <span class="d2h-code-line-ctn"> bootstrap: AppServerModule,</span> </div> </td> </tr><tr> @@ -2234,7 +2244,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> url: `${protocol}://${headers.host}${originalUrl}`,</span> + <span class="d2h-code-line-ctn"> documentFilePath: indexHtml,</span> </div> </td> </tr><tr> @@ -2244,7 +2254,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> publicPath: browserDistFolder,</span> + <span class="d2h-code-line-ctn"> url: `${protocol}://${headers.host}${originalUrl}`,</span> </div> </td> </tr><tr> @@ -2254,7 +2264,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> providers: [{ provide: APP_BASE_HREF, useValue: baseUrl }],</span> + <span class="d2h-code-line-ctn"> publicPath: browserDistFolder,</span> </div> </td> </tr><tr> @@ -2264,7 +2274,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> })</span> + <span class="d2h-code-line-ctn"> providers: [{ provide: APP_BASE_HREF, useValue: baseUrl }],</span> </div> </td> </tr><tr> @@ -2274,7 +2284,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> .then((html) => res.send(html))</span> + <span class="d2h-code-line-ctn"> })</span> </div> </td> </tr><tr> @@ -2284,7 +2294,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> .catch((err) => next(err));</span> + <span class="d2h-code-line-ctn"> .then((html) => res.send(html))</span> </div> </td> </tr><tr> @@ -2294,7 +2304,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> });</span> + <span class="d2h-code-line-ctn"> .catch((err) => next(err));</span> </div> </td> </tr><tr> @@ -2304,7 +2314,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> });</span> </div> </td> </tr><tr> @@ -2314,7 +2324,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> return server;</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> @@ -2324,7 +2334,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">}</span> + <span class="d2h-code-line-ctn"> return server;</span> </div> </td> </tr><tr> @@ -2334,7 +2344,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn">}</span> </div> </td> </tr><tr> @@ -2344,7 +2354,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">function run(): void {</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> @@ -2354,7 +2364,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> const port = process.env['PORT'] || 4000;</span> + <span class="d2h-code-line-ctn">function run(): void {</span> </div> </td> </tr><tr> @@ -2364,7 +2374,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> const port = process.env['PORT'] || 4000;</span> </div> </td> </tr><tr> @@ -2374,7 +2384,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> // Start up the Node server</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> @@ -2384,7 +2394,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> const server = app();</span> + <span class="d2h-code-line-ctn"> // Start up the Node server</span> </div> </td> </tr><tr> @@ -2394,7 +2404,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> server.listen(port, () => {</span> + <span class="d2h-code-line-ctn"> const server = app();</span> </div> </td> </tr><tr> @@ -2404,7 +2414,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> console.log(`Node Express server listening on http://localhost:${port}`);</span> + <span class="d2h-code-line-ctn"> server.listen(port, () => {</span> </div> </td> </tr><tr> @@ -2414,7 +2424,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> });</span> + <span class="d2h-code-line-ctn"> console.log(`Node Express server listening on http://localhost:${port}`);</span> </div> </td> </tr><tr> @@ -2424,7 +2434,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">}</span> + <span class="d2h-code-line-ctn"> });</span> </div> </td> </tr><tr> @@ -2434,13 +2444,23 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn">}</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> 56 </td> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins"> + 57 + </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> @@ -7936,11 +7956,11 @@ <h1> <tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -3,10 +3,14 @@</div> + <div class="d2h-code-side-line">@@ -4,10 +4,14 @@</div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 3 + 4 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -7950,7 +7970,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 4 + 5 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -7960,7 +7980,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 5 + 6 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -7970,7 +7990,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 6 + 7 </td> <td class="d2h-del d2h-change"> <div class="d2h-code-side-line"> @@ -8000,7 +8020,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 7 + 8 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -8010,7 +8030,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 8 + 9 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -8020,7 +8040,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 9 + 10 </td> <td class="d2h-del d2h-change"> <div class="d2h-code-side-line"> @@ -8050,7 +8070,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 10 + 11 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -8060,7 +8080,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 11 + 12 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -8070,7 +8090,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 12 + 13 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -8094,7 +8114,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 3 + 4 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -8104,7 +8124,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 4 + 5 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -8114,7 +8134,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 5 + 6 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -8124,7 +8144,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins d2h-change"> - 6 + 7 </td> <td class="d2h-ins d2h-change"> <div class="d2h-code-side-line"> @@ -8134,7 +8154,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 7 + 8 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -8144,7 +8164,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 8 + 9 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -8154,7 +8174,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 9 + 10 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -8164,7 +8184,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 10 + 11 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -8174,7 +8194,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins d2h-change"> - 11 + 12 </td> <td class="d2h-ins d2h-change"> <div class="d2h-code-side-line"> @@ -8184,7 +8204,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 12 + 13 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -8194,7 +8214,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 13 + 14 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -8204,7 +8224,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 14 + 15 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -8214,7 +8234,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 15 + 16 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -8224,7 +8244,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 16 + 17 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> diff --git a/diffs/16g-pwa.html b/diffs/16g-pwa.html index f8fa949..64e1394 100644 --- a/diffs/16g-pwa.html +++ b/diffs/16g-pwa.html @@ -52,46 +52,46 @@ <h1> <tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -32,7 +32,8 @@</div> + <div class="d2h-code-side-line">@@ -55,7 +55,8 @@</div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 32 + 55 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "tsConfig": "tsconfig.app.json",</span> + <span class="d2h-code-line-ctn"> "maximumError": "4kB"</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 33 + 56 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "assets": [</span> + <span class="d2h-code-line-ctn"> }</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 34 + 57 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "src/favicon.ico",</span> + <span class="d2h-code-line-ctn"> ],</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 35 + 58 </td> <td class="d2h-del d2h-change"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn"> "src/assets"</span> + <span class="d2h-code-line-ctn"> "outputHashing": "all"</span> </div> </td> </tr><tr> @@ -106,52 +106,61 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 36 + 59 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> ],</span> + <span class="d2h-code-line-ctn"> },</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 37 + 60 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "styles": [</span> + <span class="d2h-code-line-ctn"> "development": {</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 38 + 61 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "src/styles.css"</span> + <span class="d2h-code-line-ctn"> "optimization": false,</span> </div> </td> -</tr><tr> +</tr> + </tbody> + </table> + </div> + </div> + <div class="d2h-file-side-diff"> + <div class="d2h-code-wrapper"> + <table class="d2h-diff-table"> + <tbody class="d2h-diff-tbody"> + <tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -53,7 +54,8 @@</div> + <div class="d2h-code-side-line"></div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 53 + 55 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "maximumError": "4kb"</span> + <span class="d2h-code-line-ctn"> "maximumError": "4kB"</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 54 + 56 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -161,7 +170,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 55 + 57 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -170,28 +179,28 @@ <h1> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 56 + <td class="d2h-code-side-linenumber d2h-ins d2h-change"> + 58 </td> - <td class="d2h-del d2h-change"> + <td class="d2h-ins d2h-change"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn"> "outputHashing": "all"</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> "outputHashing": "all"<ins>,</ins></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 59 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> "serviceWorker": "ngsw-config.json"</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 57 + 60 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -201,7 +210,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 58 + 61 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -211,7 +220,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 59 + 62 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -219,49 +228,73 @@ <h1> <span class="d2h-code-line-ctn"> "optimization": false,</span> </div> </td> -</tr><tr> +</tr> + </tbody> + </table> + </div> + </div> + </div> +</div> +<div id="d2h-328220" class="d2h-file-wrapper" data-lang="json"> + <div class="d2h-file-header"> + <span class="d2h-file-name-wrapper"> + <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> + <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> + </svg> <span class="d2h-file-name">ngsw-config.json</span> + <span class="d2h-tag d2h-added d2h-added-tag">ADDED</span></span> +<label class="d2h-file-collapse"> + <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> + Viewed +</label> + </div> + <div class="d2h-files-diff"> + <div class="d2h-file-side-diff"> + <div class="d2h-code-wrapper"> + <table class="d2h-diff-table"> + <tbody class="d2h-diff-tbody"> + <tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -91,7 +93,8 @@</div> + <div class="d2h-code-side-line">@@ -0,0 +1,49 @@</div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 91 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "tsConfig": "tsconfig.spec.json",</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 92 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "assets": [</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 93 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "src/favicon.ico",</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 94 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-del d2h-change"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn"> "src/assets"</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> @@ -275,328 +308,125 @@ <h1> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 95 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> ],</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 96 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "styles": [</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 97 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "src/styles.css"</span> - </div> - </td> -</tr> - </tbody> - </table> - </div> + <span class="d2h-code-line-ctn"><br></span> </div> - <div class="d2h-file-side-diff"> - <div class="d2h-code-wrapper"> - <table class="d2h-diff-table"> - <tbody class="d2h-diff-tbody"> - <tr> - <td class="d2h-code-side-linenumber d2h-info"></td> - <td class="d2h-info"> - <div class="d2h-code-side-line"></div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 32 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "tsConfig": "tsconfig.app.json",</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 33 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "assets": [</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 34 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "src/favicon.ico",</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins d2h-change"> - 35 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins d2h-change"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "src/assets"<ins>,</ins></span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 36 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "src/manifest.webmanifest"</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 37 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> ],</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 38 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "styles": [</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 39 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "src/styles.css"</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-info"></td> - <td class="d2h-info"> - <div class="d2h-code-side-line"></div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 54 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "maximumError": "4kb"</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 55 - </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> }</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 56 - </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> ],</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins d2h-change"> - 57 - </td> - <td class="d2h-ins d2h-change"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "outputHashing": "all"<ins>,</ins></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 58 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "serviceWorker": "ngsw-config.json"</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 59 - </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> },</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 60 - </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "development": {</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 61 - </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "optimization": false,</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-info"></td> - <td class="d2h-info"> - <div class="d2h-code-side-line"></div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 93 - </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "tsConfig": "tsconfig.spec.json",</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 94 - </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "assets": [</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 95 - </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "src/favicon.ico",</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins d2h-change"> - 96 - </td> - <td class="d2h-ins d2h-change"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "src/assets"<ins>,</ins></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 97 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "src/manifest.webmanifest"</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 98 - </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> ],</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 99 - </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "styles": [</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 100 - </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "src/styles.css"</span> - </div> - </td> -</tr> - </tbody> - </table> - </div> - </div> - </div> -</div> -<div id="d2h-328220" class="d2h-file-wrapper" data-lang="json"> - <div class="d2h-file-header"> - <span class="d2h-file-name-wrapper"> - <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> - <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> - </svg> <span class="d2h-file-name">ngsw-config.json</span> - <span class="d2h-tag d2h-added d2h-added-tag">ADDED</span></span> -<label class="d2h-file-collapse"> - <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> - Viewed -</label> - </div> - <div class="d2h-files-diff"> - <div class="d2h-file-side-diff"> - <div class="d2h-code-wrapper"> - <table class="d2h-diff-table"> - <tbody class="d2h-diff-tbody"> - <tr> - <td class="d2h-code-side-linenumber d2h-info"></td> - <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -0,0 +1,50 @@</div> - </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> @@ -917,263 +747,83 @@ <h1> <span class="d2h-code-line-ctn"><br></span> </div> </td> +</tr> + </tbody> + </table> + </div> + </div> + <div class="d2h-file-side-diff"> + <div class="d2h-code-wrapper"> + <table class="d2h-diff-table"> + <tbody class="d2h-diff-tbody"> + <tr> + <td class="d2h-code-side-linenumber d2h-info"></td> + <td class="d2h-info"> + <div class="d2h-code-side-line"></div> + </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 1 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn">{</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 2 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> "$schema": "./node_modules/@angular/service-worker/config/schema.json",</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 3 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> "index": "/index.html",</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 4 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> "appData": {</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 5 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> "version": "1.1.0",</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 6 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> "changelog": "Updated Version"</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr> - </tbody> - </table> - </div> - </div> - <div class="d2h-file-side-diff"> - <div class="d2h-code-wrapper"> - <table class="d2h-diff-table"> - <tbody class="d2h-diff-tbody"> - <tr> - <td class="d2h-code-side-linenumber d2h-info"></td> - <td class="d2h-info"> - <div class="d2h-code-side-line"></div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 1 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">{</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 2 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "$schema": "./node_modules/@angular/service-worker/config/schema.json",</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 3 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "index": "/index.html",</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 4 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "appData": {</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 5 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "version": "1.1.0",</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 6 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "changelog": "Updated Version"</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 7 + <td class="d2h-code-side-linenumber d2h-ins"> + 7 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -1385,16 +1035,6 @@ <h1> <td class="d2h-code-side-linenumber d2h-ins"> 28 </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "/assets/**",</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 29 - </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> @@ -1403,7 +1043,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 30 + 29 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -1413,7 +1053,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 31 + 30 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -1423,7 +1063,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 32 + 31 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -1433,7 +1073,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 33 + 32 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -1443,7 +1083,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 34 + 33 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -1453,7 +1093,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 35 + 34 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -1463,7 +1103,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 36 + 35 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -1473,7 +1113,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 37 + 36 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -1483,7 +1123,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 38 + 37 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -1493,7 +1133,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 39 + 38 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -1503,7 +1143,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 40 + 39 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -1513,7 +1153,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 41 + 40 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -1523,7 +1163,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 42 + 41 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -1533,7 +1173,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 43 + 42 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -1543,7 +1183,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 44 + 43 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -1553,7 +1193,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 45 + 44 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -1563,7 +1203,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 46 + 45 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -1573,7 +1213,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 47 + 46 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -1583,7 +1223,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 48 + 47 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -1593,7 +1233,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 49 + 48 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -1603,7 +1243,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 50 + 49 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -1638,36 +1278,36 @@ <h1> <tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -19,6 +19,7 @@</div> + <div class="d2h-code-side-line">@@ -20,6 +20,7 @@</div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 19 + 20 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/platform-browser": "^17.3.0",</span> + <span class="d2h-code-line-ctn"> "@angular/platform-browser": "^18.0.0",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 20 + 21 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/platform-browser-dynamic": "^17.3.0",</span> + <span class="d2h-code-line-ctn"> "@angular/platform-browser-dynamic": "^18.0.0",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 21 + 22 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/router": "^17.3.0",</span> + <span class="d2h-code-line-ctn"> "@angular/router": "^18.0.0",</span> </div> </td> </tr><tr> @@ -1682,7 +1322,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 22 + 23 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -1692,7 +1332,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 23 + 24 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -1702,7 +1342,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 24 + 25 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -1713,31 +1353,31 @@ <h1> </tr><tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -46,4 +47,4 @@</div> + <div class="d2h-code-side-line">@@ -42,4 +43,4 @@</div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 46 + 42 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "karma-jasmine-html-reporter": "~2.1.0",</span> + <span class="d2h-code-line-ctn"> "typescript": "~5.4.2",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 47 + 43 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "typescript": "~5.4.2"</span> + <span class="d2h-code-line-ctn"> "typescript-eslint": "8.0.0-alpha.20"</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 48 + 44 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -1747,7 +1387,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 49 + 45 </td> <td class="d2h-del d2h-change"> <div class="d2h-code-side-line"> @@ -1771,47 +1411,47 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 19 + 20 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/platform-browser": "^17.3.0",</span> + <span class="d2h-code-line-ctn"> "@angular/platform-browser": "^18.0.0",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 20 + 21 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/platform-browser-dynamic": "^17.3.0",</span> + <span class="d2h-code-line-ctn"> "@angular/platform-browser-dynamic": "^18.0.0",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 21 + 22 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/router": "^17.3.0",</span> + <span class="d2h-code-line-ctn"> "@angular/router": "^18.0.0",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 22 + 23 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "@angular/service-worker": "^17.3.0",</span> + <span class="d2h-code-line-ctn"> "@angular/service-worker": "^18.0.0",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 23 + 24 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -1821,7 +1461,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 24 + 25 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -1831,7 +1471,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 25 + 26 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -1846,27 +1486,27 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 47 + 43 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "karma-jasmine-html-reporter": "~2.1.0",</span> + <span class="d2h-code-line-ctn"> "typescript": "~5.4.2",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 48 + 44 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "typescript": "~5.4.2"</span> + <span class="d2h-code-line-ctn"> "typescript-eslint": "8.0.0-alpha.20"</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 49 + 45 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -1876,7 +1516,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins d2h-change"> - 50 + 46 </td> <td class="d2h-ins d2h-change"> <div class="d2h-code-side-line"> @@ -1891,12 +1531,12 @@ <h1> </div> </div> </div> -<div id="d2h-844021" class="d2h-file-wrapper" data-lang="ts"> +<div id="d2h-082538" class="d2h-file-wrapper" data-lang="webmanifest"> <div class="d2h-file-header"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> - </svg> <span class="d2h-file-name">src/app/admin/book-create/book-create.component.spec.ts</span> + </svg> <span class="d2h-file-name">public/manifest.webmanifest</span> <span class="d2h-tag d2h-added d2h-added-tag">ADDED</span></span> <label class="d2h-file-collapse"> <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> @@ -1911,7 +1551,7 @@ <h1> <tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -0,0 +1,23 @@</div> + <div class="d2h-code-side-line">@@ -0,0 +1,59 @@</div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> @@ -2143,327 +1783,184 @@ <h1> <span class="d2h-code-line-ctn"><br></span> </div> </td> -</tr> - </tbody> - </table> - </div> - </div> - <div class="d2h-file-side-diff"> - <div class="d2h-code-wrapper"> - <table class="d2h-diff-table"> - <tbody class="d2h-diff-tbody"> - <tr> - <td class="d2h-code-side-linenumber d2h-info"></td> - <td class="d2h-info"> - <div class="d2h-code-side-line"></div> - </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 1 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">import { ComponentFixture, TestBed } from '@angular/core/testing';</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 2 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 3 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">import { BookCreateComponent } from './book-create.component';</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 4 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 5 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">describe('BookCreateComponent', () => {</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 6 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> let component: BookCreateComponent;</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 7 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> let fixture: ComponentFixture<BookCreateComponent>;</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 8 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 9 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> beforeEach(async () => {</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 10 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> await TestBed.configureTestingModule({</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 11 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> declarations: [ BookCreateComponent ]</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 12 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> })</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 13 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> .compileComponents();</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 14 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 15 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> fixture = TestBed.createComponent(BookCreateComponent);</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 16 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> component = fixture.componentInstance;</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 17 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> fixture.detectChanges();</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 18 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> });</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 19 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 20 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> it('should create', () => {</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 21 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> expect(component).toBeTruthy();</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 22 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> });</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 23 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">});</span> - </div> - </td> -</tr> - </tbody> - </table> - </div> - </div> - </div> -</div> -<div id="d2h-458855" class="d2h-file-wrapper" data-lang="ts"> - <div class="d2h-file-header"> - <span class="d2h-file-name-wrapper"> - <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> - <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> - </svg> <span class="d2h-file-name">src/app/admin/book-edit/book-edit.component.spec.ts</span> - <span class="d2h-tag d2h-added d2h-added-tag">ADDED</span></span> -<label class="d2h-file-collapse"> - <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> - Viewed -</label> - </div> - <div class="d2h-files-diff"> - <div class="d2h-file-side-diff"> - <div class="d2h-code-wrapper"> - <table class="d2h-diff-table"> - <tbody class="d2h-diff-tbody"> - <tr> - <td class="d2h-code-side-linenumber d2h-info"></td> - <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -0,0 +1,23 @@</div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> @@ -2667,7 +2164,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">import { ComponentFixture, TestBed } from '@angular/core/testing';</span> + <span class="d2h-code-line-ctn">{</span> </div> </td> </tr><tr> @@ -2677,7 +2174,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> "name": "book-monkey",</span> </div> </td> </tr><tr> @@ -2687,7 +2184,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">import { BookEditComponent } from './book-edit.component';</span> + <span class="d2h-code-line-ctn"> "short_name": "book-monkey",</span> </div> </td> </tr><tr> @@ -2697,7 +2194,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> "theme_color": "#1976d2",</span> </div> </td> </tr><tr> @@ -2707,7 +2204,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">describe('BookEditComponent', () => {</span> + <span class="d2h-code-line-ctn"> "background_color": "#fafafa",</span> </div> </td> </tr><tr> @@ -2717,7 +2214,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> let component: BookEditComponent;</span> + <span class="d2h-code-line-ctn"> "display": "standalone",</span> </div> </td> </tr><tr> @@ -2727,7 +2224,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> let fixture: ComponentFixture<BookEditComponent>;</span> + <span class="d2h-code-line-ctn"> "scope": "./",</span> </div> </td> </tr><tr> @@ -2737,7 +2234,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> "start_url": "./",</span> </div> </td> </tr><tr> @@ -2747,7 +2244,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> beforeEach(async () => {</span> + <span class="d2h-code-line-ctn"> "icons": [</span> </div> </td> </tr><tr> @@ -2757,7 +2254,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> await TestBed.configureTestingModule({</span> + <span class="d2h-code-line-ctn"> {</span> </div> </td> </tr><tr> @@ -2767,7 +2264,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> declarations: [ BookEditComponent ]</span> + <span class="d2h-code-line-ctn"> "src": "icons/icon-72x72.png",</span> </div> </td> </tr><tr> @@ -2777,7 +2274,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> })</span> + <span class="d2h-code-line-ctn"> "sizes": "72x72",</span> </div> </td> </tr><tr> @@ -2787,7 +2284,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> .compileComponents();</span> + <span class="d2h-code-line-ctn"> "type": "image/png",</span> </div> </td> </tr><tr> @@ -2797,7 +2294,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> "purpose": "maskable any"</span> </div> </td> </tr><tr> @@ -2807,7 +2304,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> fixture = TestBed.createComponent(BookEditComponent);</span> + <span class="d2h-code-line-ctn"> },</span> </div> </td> </tr><tr> @@ -2817,7 +2314,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> component = fixture.componentInstance;</span> + <span class="d2h-code-line-ctn"> {</span> </div> </td> </tr><tr> @@ -2827,7 +2324,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> fixture.detectChanges();</span> + <span class="d2h-code-line-ctn"> "src": "icons/icon-96x96.png",</span> </div> </td> </tr><tr> @@ -2837,7 +2334,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> });</span> + <span class="d2h-code-line-ctn"> "sizes": "96x96",</span> </div> </td> </tr><tr> @@ -2847,7 +2344,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> "type": "image/png",</span> </div> </td> </tr><tr> @@ -2857,7 +2354,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> it('should create', () => {</span> + <span class="d2h-code-line-ctn"> "purpose": "maskable any"</span> </div> </td> </tr><tr> @@ -2867,7 +2364,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> expect(component).toBeTruthy();</span> + <span class="d2h-code-line-ctn"> },</span> </div> </td> </tr><tr> @@ -2877,7 +2374,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> });</span> + <span class="d2h-code-line-ctn"> {</span> </div> </td> </tr><tr> @@ -2887,510 +2384,367 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">});</span> + <span class="d2h-code-line-ctn"> "src": "icons/icon-128x128.png",</span> </div> </td> -</tr> - </tbody> - </table> - </div> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins"> + 24 + </td> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> "sizes": "128x128",</span> </div> - </div> -</div> -<div id="d2h-976411" class="d2h-file-wrapper" data-lang="ts"> - <div class="d2h-file-header"> - <span class="d2h-file-name-wrapper"> - <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> - <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> - </svg> <span class="d2h-file-name">src/app/admin/book-form/book-form.component.spec.ts</span> - <span class="d2h-tag d2h-added d2h-added-tag">ADDED</span></span> -<label class="d2h-file-collapse"> - <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> - Viewed -</label> - </div> - <div class="d2h-files-diff"> - <div class="d2h-file-side-diff"> - <div class="d2h-code-wrapper"> - <table class="d2h-diff-table"> - <tbody class="d2h-diff-tbody"> - <tr> - <td class="d2h-code-side-linenumber d2h-info"></td> - <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -0,0 +1,23 @@</div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 25 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> "type": "image/png",</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 26 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> "purpose": "maskable any"</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 27 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> },</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 28 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> {</span> </div> </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr> - </tbody> - </table> - </div> - </div> - <div class="d2h-file-side-diff"> - <div class="d2h-code-wrapper"> - <table class="d2h-diff-table"> - <tbody class="d2h-diff-tbody"> - <tr> - <td class="d2h-code-side-linenumber d2h-info"></td> - <td class="d2h-info"> - <div class="d2h-code-side-line"></div> - </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 1 + 29 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">import { ComponentFixture, TestBed } from '@angular/core/testing';</span> + <span class="d2h-code-line-ctn"> "src": "icons/icon-144x144.png",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 2 + 30 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> "sizes": "144x144",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 3 + 31 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">import { BookFormComponent } from './book-form.component';</span> + <span class="d2h-code-line-ctn"> "type": "image/png",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 4 + 32 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> "purpose": "maskable any"</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 5 + 33 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">describe('BookFormComponent', () => {</span> + <span class="d2h-code-line-ctn"> },</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 6 + 34 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> let component: BookFormComponent;</span> + <span class="d2h-code-line-ctn"> {</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 7 + 35 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> let fixture: ComponentFixture<BookFormComponent>;</span> + <span class="d2h-code-line-ctn"> "src": "icons/icon-152x152.png",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 8 + 36 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> "sizes": "152x152",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 9 + 37 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> beforeEach(async () => {</span> + <span class="d2h-code-line-ctn"> "type": "image/png",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 10 + 38 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> await TestBed.configureTestingModule({</span> + <span class="d2h-code-line-ctn"> "purpose": "maskable any"</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 11 + 39 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> declarations: [ BookFormComponent ]</span> + <span class="d2h-code-line-ctn"> },</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 12 + 40 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> })</span> + <span class="d2h-code-line-ctn"> {</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 13 + 41 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> .compileComponents();</span> + <span class="d2h-code-line-ctn"> "src": "icons/icon-192x192.png",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 14 + 42 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> "sizes": "192x192",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 15 + 43 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> fixture = TestBed.createComponent(BookFormComponent);</span> + <span class="d2h-code-line-ctn"> "type": "image/png",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 16 + 44 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> component = fixture.componentInstance;</span> + <span class="d2h-code-line-ctn"> "purpose": "maskable any"</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 17 + 45 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> fixture.detectChanges();</span> + <span class="d2h-code-line-ctn"> },</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 18 + 46 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> });</span> + <span class="d2h-code-line-ctn"> {</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 19 + 47 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> "src": "icons/icon-384x384.png",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 20 + 48 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> it('should create', () => {</span> + <span class="d2h-code-line-ctn"> "sizes": "384x384",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 21 + 49 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> expect(component).toBeTruthy();</span> + <span class="d2h-code-line-ctn"> "type": "image/png",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 22 + 50 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> });</span> + <span class="d2h-code-line-ctn"> "purpose": "maskable any"</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 23 + 51 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">});</span> + <span class="d2h-code-line-ctn"> },</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins"> + 52 + </td> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> {</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins"> + 53 + </td> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> "src": "icons/icon-512x512.png",</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins"> + 54 + </td> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> "sizes": "512x512",</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins"> + 55 + </td> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> "type": "image/png",</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins"> + 56 + </td> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> "purpose": "maskable any"</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins"> + 57 + </td> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> }</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins"> + 58 + </td> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> ]</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins"> + 59 + </td> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn">}</span> </div> </td> </tr> @@ -3400,12 +2754,12 @@ <h1> </div> </div> </div> -<div id="d2h-169587" class="d2h-file-wrapper" data-lang="ts"> +<div id="d2h-844021" class="d2h-file-wrapper" data-lang="ts"> <div class="d2h-file-header"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> - </svg> <span class="d2h-file-name">src/app/admin/form-errors/form-errors.component.spec.ts</span> + </svg> <span class="d2h-file-name">src/app/admin/book-create/book-create.component.spec.ts</span> <span class="d2h-tag d2h-added d2h-added-tag">ADDED</span></span> <label class="d2h-file-collapse"> <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> @@ -3693,7 +3047,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">import { FormErrorsComponent } from './form-errors.component';</span> + <span class="d2h-code-line-ctn">import { BookCreateComponent } from './book-create.component';</span> </div> </td> </tr><tr> @@ -3713,7 +3067,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">describe('FormErrorsComponent', () => {</span> + <span class="d2h-code-line-ctn">describe('BookCreateComponent', () => {</span> </div> </td> </tr><tr> @@ -3723,7 +3077,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> let component: FormErrorsComponent;</span> + <span class="d2h-code-line-ctn"> let component: BookCreateComponent;</span> </div> </td> </tr><tr> @@ -3733,7 +3087,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> let fixture: ComponentFixture<FormErrorsComponent>;</span> + <span class="d2h-code-line-ctn"> let fixture: ComponentFixture<BookCreateComponent>;</span> </div> </td> </tr><tr> @@ -3773,7 +3127,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> declarations: [ FormErrorsComponent ]</span> + <span class="d2h-code-line-ctn"> declarations: [ BookCreateComponent ]</span> </div> </td> </tr><tr> @@ -3813,7 +3167,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> fixture = TestBed.createComponent(FormErrorsComponent);</span> + <span class="d2h-code-line-ctn"> fixture = TestBed.createComponent(BookCreateComponent);</span> </div> </td> </tr><tr> @@ -3903,12 +3257,12 @@ <h1> </div> </div> </div> -<div id="d2h-538894" class="d2h-file-wrapper" data-lang="ts"> +<div id="d2h-458855" class="d2h-file-wrapper" data-lang="ts"> <div class="d2h-file-header"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> - </svg> <span class="d2h-file-name">src/app/admin/shared/async-validators.service.spec.ts</span> + </svg> <span class="d2h-file-name">src/app/admin/book-edit/book-edit.component.spec.ts</span> <span class="d2h-tag d2h-added d2h-added-tag">ADDED</span></span> <label class="d2h-file-collapse"> <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> @@ -3923,7 +3277,77 @@ <h1> <tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -0,0 +1,16 @@</div> + <div class="d2h-code-side-line">@@ -0,0 +1,23 @@</div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> @@ -4106,7 +3530,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">import { TestBed } from '@angular/core/testing';</span> + <span class="d2h-code-line-ctn">import { ComponentFixture, TestBed } from '@angular/core/testing';</span> </div> </td> </tr><tr> @@ -4126,7 +3550,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">import { AsyncValidatorsService } from './async-validators.service';</span> + <span class="d2h-code-line-ctn">import { BookEditComponent } from './book-edit.component';</span> </div> </td> </tr><tr> @@ -4146,7 +3570,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">describe('AsyncValidatorsService', () => {</span> + <span class="d2h-code-line-ctn">describe('BookEditComponent', () => {</span> </div> </td> </tr><tr> @@ -4156,7 +3580,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> let service: AsyncValidatorsService;</span> + <span class="d2h-code-line-ctn"> let component: BookEditComponent;</span> </div> </td> </tr><tr> @@ -4166,7 +3590,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> let fixture: ComponentFixture<BookEditComponent>;</span> </div> </td> </tr><tr> @@ -4176,7 +3600,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> beforeEach(() => {</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> @@ -4186,7 +3610,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> TestBed.configureTestingModule({});</span> + <span class="d2h-code-line-ctn"> beforeEach(async () => {</span> </div> </td> </tr><tr> @@ -4196,7 +3620,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> service = TestBed.inject(AsyncValidatorsService);</span> + <span class="d2h-code-line-ctn"> await TestBed.configureTestingModule({</span> </div> </td> </tr><tr> @@ -4206,7 +3630,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> });</span> + <span class="d2h-code-line-ctn"> declarations: [ BookEditComponent ]</span> </div> </td> </tr><tr> @@ -4216,7 +3640,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> })</span> </div> </td> </tr><tr> @@ -4226,7 +3650,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> it('should be created', () => {</span> + <span class="d2h-code-line-ctn"> .compileComponents();</span> </div> </td> </tr><tr> @@ -4236,7 +3660,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> expect(service).toBeTruthy();</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> @@ -4246,7 +3670,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> });</span> + <span class="d2h-code-line-ctn"> fixture = TestBed.createComponent(BookEditComponent);</span> </div> </td> </tr><tr> @@ -4256,24 +3680,94 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">});</span> + <span class="d2h-code-line-ctn"> component = fixture.componentInstance;</span> </div> </td> -</tr> - </tbody> - </table> - </div> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins"> + 17 + </td> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> fixture.detectChanges();</span> </div> - </div> -</div> -<div id="d2h-130594" class="d2h-file-wrapper" data-lang="html"> - <div class="d2h-file-header"> - <span class="d2h-file-name-wrapper"> - <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> - <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> - </svg> <span class="d2h-file-name">src/app/app.component.html</span> - <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span> -<label class="d2h-file-collapse"> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins"> + 18 + </td> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> });</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins"> + 19 + </td> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins"> + 20 + </td> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> it('should create', () => {</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins"> + 21 + </td> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> expect(component).toBeTruthy();</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins"> + 22 + </td> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> });</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins"> + 23 + </td> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn">});</span> + </div> + </td> +</tr> + </tbody> + </table> + </div> + </div> + </div> +</div> +<div id="d2h-976411" class="d2h-file-wrapper" data-lang="ts"> + <div class="d2h-file-header"> + <span class="d2h-file-name-wrapper"> + <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> + <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> + </svg> <span class="d2h-file-name">src/app/admin/book-form/book-form.component.spec.ts</span> + <span class="d2h-tag d2h-added d2h-added-tag">ADDED</span></span> +<label class="d2h-file-collapse"> <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> Viewed </label> @@ -4286,36 +3780,36 @@ <h1> <tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -9,6 +9,12 @@</div> + <div class="d2h-code-side-line">@@ -0,0 +1,23 @@</div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 9 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <button class="red"</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 10 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> (click)="auth.logout()"</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 11 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> *ngIf="auth.isAuthenticated">Logout</button></span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> @@ -4379,165 +3873,141 @@ <h1> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 12 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> </div></span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 13 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"></nav></span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 14 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> <span class="d2h-code-line-ctn"><br></span> </div> </td> -</tr> - </tbody> - </table> - </div> - </div> - <div class="d2h-file-side-diff"> - <div class="d2h-code-wrapper"> - <table class="d2h-diff-table"> - <tbody class="d2h-diff-tbody"> - <tr> - <td class="d2h-code-side-linenumber d2h-info"></td> - <td class="d2h-info"> - <div class="d2h-code-side-line"></div> - </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 9 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <button class="red"</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 10 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> (click)="auth.logout()"</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 11 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> *ngIf="auth.isAuthenticated">Logout</button></span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 12 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> <button</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 13 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> (click)="requestSubscription()"</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 14 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> [class.green]="permission === 'granted'"</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 15 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> [class.red]="permission === 'denied'"</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 16 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> [disabled]="!permission"</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 17 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> aria-label="Notifications">!</button></span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 18 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> </div></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 19 - </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"></nav></span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 20 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> <span class="d2h-code-line-ctn"><br></span> </div> @@ -4547,21 +4017,6 @@ <h1> </table> </div> </div> - </div> -</div> -<div id="d2h-179574" class="d2h-file-wrapper" data-lang="ts"> - <div class="d2h-file-header"> - <span class="d2h-file-name-wrapper"> - <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> - <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> - </svg> <span class="d2h-file-name">src/app/app.component.ts</span> - <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span> -<label class="d2h-file-collapse"> - <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> - Viewed -</label> - </div> - <div class="d2h-files-diff"> <div class="d2h-file-side-diff"> <div class="d2h-code-wrapper"> <table class="d2h-diff-table"> @@ -4569,252 +4024,266 @@ <h1> <tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -1,6 +1,13 @@</div> + <div class="d2h-code-side-line"></div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> + <td class="d2h-code-side-linenumber d2h-ins"> 1 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn">import { Component } from '@angular/core';</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn">import { ComponentFixture, TestBed } from '@angular/core/testing';</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> + <td class="d2h-code-side-linenumber d2h-ins"> 2 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> + <td class="d2h-code-side-linenumber d2h-ins"> 3 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn">import { AuthService } from './shared/auth.service';</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn">import { BookFormComponent } from './book-form.component';</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 4 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 5 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn">describe('BookFormComponent', () => {</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 6 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> let component: BookFormComponent;</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 7 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> let fixture: ComponentFixture<BookFormComponent>;</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 8 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 9 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> beforeEach(async () => {</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 4 + <td class="d2h-code-side-linenumber d2h-ins"> + 10 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> await TestBed.configureTestingModule({</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 5 + <td class="d2h-code-side-linenumber d2h-ins"> + 11 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn">@Component({</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> declarations: [ BookFormComponent ]</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 6 + <td class="d2h-code-side-linenumber d2h-ins"> + 12 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> selector: 'bm-root',</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> })</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-info"></td> - <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -8,5 +15,62 @@ import { AuthService } from './shared/auth.service';</div> + <td class="d2h-code-side-linenumber d2h-ins"> + 13 + </td> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> .compileComponents();</span> + </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 8 + <td class="d2h-code-side-linenumber d2h-ins"> + 14 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> styleUrls: ['./app.component.css']</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 9 + <td class="d2h-code-side-linenumber d2h-ins"> + 15 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn">})</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> fixture = TestBed.createComponent(BookFormComponent);</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 10 + <td class="d2h-code-side-linenumber d2h-ins"> + 16 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn">export class AppComponent {</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> component = fixture.componentInstance;</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 11 + <td class="d2h-code-side-linenumber d2h-ins"> + 17 </td> - <td class="d2h-del d2h-change"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn"> <del>constructor(public</del> <del>auth: AuthService) {}</del></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> fixture.detectChanges();</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 18 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> });</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 19 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 20 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> it('should create', () => {</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 21 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> expect(component).toBeTruthy();</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 22 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> });</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 23 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn">});</span> </div> </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> +</tr> + </tbody> + </table> + </div> </div> + </div> +</div> +<div id="d2h-169587" class="d2h-file-wrapper" data-lang="ts"> + <div class="d2h-file-header"> + <span class="d2h-file-name-wrapper"> + <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> + <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> + </svg> <span class="d2h-file-name">src/app/admin/form-errors/form-errors.component.spec.ts</span> + <span class="d2h-tag d2h-added d2h-added-tag">ADDED</span></span> +<label class="d2h-file-collapse"> + <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> + Viewed +</label> + </div> + <div class="d2h-files-diff"> + <div class="d2h-file-side-diff"> + <div class="d2h-code-wrapper"> + <table class="d2h-diff-table"> + <tbody class="d2h-diff-tbody"> + <tr> + <td class="d2h-code-side-linenumber d2h-info"></td> + <td class="d2h-info"> + <div class="d2h-code-side-line">@@ -0,0 +1,23 @@</div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> @@ -5046,161 +4515,284 @@ <h1> <span class="d2h-code-line-ctn"><br></span> </div> </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> +</tr> + </tbody> + </table> + </div> </div> + <div class="d2h-file-side-diff"> + <div class="d2h-code-wrapper"> + <table class="d2h-diff-table"> + <tbody class="d2h-diff-tbody"> + <tr> + <td class="d2h-code-side-linenumber d2h-info"></td> + <td class="d2h-info"> + <div class="d2h-code-side-line"></div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 1 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn">import { ComponentFixture, TestBed } from '@angular/core/testing';</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 2 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 3 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn">import { FormErrorsComponent } from './form-errors.component';</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 4 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 5 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn">describe('FormErrorsComponent', () => {</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 6 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> let component: FormErrorsComponent;</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 7 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> let fixture: ComponentFixture<FormErrorsComponent>;</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 8 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 9 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> beforeEach(async () => {</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 10 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> await TestBed.configureTestingModule({</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 11 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> declarations: [ FormErrorsComponent ]</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 12 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> })</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 13 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> .compileComponents();</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 14 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 15 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> fixture = TestBed.createComponent(FormErrorsComponent);</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins"> + 16 + </td> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> component = fixture.componentInstance;</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins"> + 17 + </td> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> fixture.detectChanges();</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins"> + 18 + </td> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> });</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins"> + 19 + </td> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins"> + 20 + </td> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> it('should create', () => {</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins"> + 21 + </td> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> expect(component).toBeTruthy();</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins"> + 22 + </td> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> });</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins"> + 23 + </td> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn">});</span> + </div> + </td> +</tr> + </tbody> + </table> + </div> + </div> + </div> +</div> +<div id="d2h-538894" class="d2h-file-wrapper" data-lang="ts"> + <div class="d2h-file-header"> + <span class="d2h-file-name-wrapper"> + <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> + <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> + </svg> <span class="d2h-file-name">src/app/admin/shared/async-validators.service.spec.ts</span> + <span class="d2h-tag d2h-added d2h-added-tag">ADDED</span></span> +<label class="d2h-file-collapse"> + <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> + Viewed +</label> + </div> + <div class="d2h-files-diff"> + <div class="d2h-file-side-diff"> + <div class="d2h-code-wrapper"> + <table class="d2h-diff-table"> + <tbody class="d2h-diff-tbody"> + <tr> + <td class="d2h-code-side-linenumber d2h-info"></td> + <td class="d2h-info"> + <div class="d2h-code-side-line">@@ -0,0 +1,16 @@</div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> <span class="d2h-code-line-ctn"><br></span> @@ -5317,13 +4909,43 @@ <h1> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 12 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn">}</span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr> @@ -5341,13 +4963,13 @@ <h1> <div class="d2h-code-side-line"></div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> + <td class="d2h-code-side-linenumber d2h-ins"> 1 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn">import { Component } from '@angular/core';</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn">import { TestBed } from '@angular/core/testing';</span> </div> </td> </tr><tr> @@ -5357,27 +4979,27 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">import { SwUpdate } from '@angular/service-worker';</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> + <td class="d2h-code-side-linenumber d2h-ins"> 3 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn">import { AsyncValidatorsService } from './async-validators.service';</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> + <td class="d2h-code-side-linenumber d2h-ins"> 4 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn">import { AuthService } from './shared/auth.service';</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> @@ -5387,7 +5009,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">import { WebNotificationService } from './shared/web-notification.service';</span> + <span class="d2h-code-line-ctn">describe('AsyncValidatorsService', () => {</span> </div> </td> </tr><tr> @@ -5397,7 +5019,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> let service: AsyncValidatorsService;</span> </div> </td> </tr><tr> @@ -5407,7 +5029,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">interface AppData {</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> @@ -5417,7 +5039,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> version: string;</span> + <span class="d2h-code-line-ctn"> beforeEach(() => {</span> </div> </td> </tr><tr> @@ -5427,7 +5049,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> changelog: string;</span> + <span class="d2h-code-line-ctn"> TestBed.configureTestingModule({});</span> </div> </td> </tr><tr> @@ -5437,337 +5059,1203 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">}</span> + <span class="d2h-code-line-ctn"> service = TestBed.inject(AsyncValidatorsService);</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> + <td class="d2h-code-side-linenumber d2h-ins"> 11 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> });</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> + <td class="d2h-code-side-linenumber d2h-ins"> 12 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn">@Component({</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> + <td class="d2h-code-side-linenumber d2h-ins"> 13 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> selector: 'bm-root',</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> it('should be created', () => {</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-info"></td> - <td class="d2h-info"> - <div class="d2h-code-side-line"></div> + <td class="d2h-code-side-linenumber d2h-ins"> + 14 + </td> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> expect(service).toBeTruthy();</span> + </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> + <td class="d2h-code-side-linenumber d2h-ins"> 15 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> styleUrls: ['./app.component.css']</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> });</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> + <td class="d2h-code-side-linenumber d2h-ins"> 16 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn">})</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn">});</span> </div> </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 17 - </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn">export class AppComponent {</span> +</tr> + </tbody> + </table> + </div> </div> + </div> +</div> +<div id="d2h-130594" class="d2h-file-wrapper" data-lang="html"> + <div class="d2h-file-header"> + <span class="d2h-file-name-wrapper"> + <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> + <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> + </svg> <span class="d2h-file-name">src/app/app.component.html</span> + <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span> +<label class="d2h-file-collapse"> + <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> + Viewed +</label> + </div> + <div class="d2h-files-diff"> + <div class="d2h-file-side-diff"> + <div class="d2h-code-wrapper"> + <table class="d2h-diff-table"> + <tbody class="d2h-diff-tbody"> + <tr> + <td class="d2h-code-side-linenumber d2h-info"></td> + <td class="d2h-info"> + <div class="d2h-code-side-line">@@ -9,6 +9,12 @@</div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins d2h-change"> - 18 + <td class="d2h-code-side-linenumber d2h-cntx"> + 9 </td> - <td class="d2h-ins d2h-change"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> <ins>permission?:</ins> <ins>NotificationPermission;</ins></span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> <button class="red"</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 19 + <td class="d2h-code-side-linenumber d2h-cntx"> + 10 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> (click)="auth.logout()"</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 20 + <td class="d2h-code-side-linenumber d2h-cntx"> + 11 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> constructor(</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> *ngIf="auth.isAuthenticated">Logout</button></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 21 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> public auth: AuthService,</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 22 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> private swUpdate: SwUpdate,</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 23 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> private notificationService: WebNotificationService</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 24 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> ) {</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 25 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> this.swUpdate.versionUpdates.subscribe(e => {</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 26 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> switch (e.type) {</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 27 + <td class="d2h-code-side-linenumber d2h-cntx"> + 12 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> case 'VERSION_DETECTED': {</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> </div></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 28 + <td class="d2h-code-side-linenumber d2h-cntx"> + 13 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> console.log(</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"></nav></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 29 + <td class="d2h-code-side-linenumber d2h-cntx"> + 14 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> 'Downloading new app version:',</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> +</tr> + </tbody> + </table> + </div> + </div> + <div class="d2h-file-side-diff"> + <div class="d2h-code-wrapper"> + <table class="d2h-diff-table"> + <tbody class="d2h-diff-tbody"> + <tr> + <td class="d2h-code-side-linenumber d2h-info"></td> + <td class="d2h-info"> + <div class="d2h-code-side-line"></div> + </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 30 + <td class="d2h-code-side-linenumber d2h-cntx"> + 9 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> e.version.appData</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> <button class="red"</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 31 + <td class="d2h-code-side-linenumber d2h-cntx"> + 10 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> );</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> (click)="auth.logout()"</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 32 + <td class="d2h-code-side-linenumber d2h-cntx"> + 11 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> break;</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> *ngIf="auth.isAuthenticated">Logout</button></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 33 + 12 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> }</span> + <span class="d2h-code-line-ctn"> <button</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 34 + 13 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> (click)="requestSubscription()"</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 35 + 14 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> case 'VERSION_READY': {</span> + <span class="d2h-code-line-ctn"> [class.green]="permission === 'granted'"</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 36 + 15 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> const current = e.currentVersion.appData as AppData;</span> + <span class="d2h-code-line-ctn"> [class.red]="permission === 'denied'"</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 37 + 16 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> const latest = e.latestVersion.appData as AppData;</span> + <span class="d2h-code-line-ctn"> [disabled]="!permission"</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 38 + 17 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> aria-label="Notifications">!</button></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 39 + <td class="d2h-code-side-linenumber d2h-cntx"> + 18 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> const from = current.version;</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> </div></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 40 + <td class="d2h-code-side-linenumber d2h-cntx"> + 19 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> const to = latest.version;</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"></nav></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 41 + <td class="d2h-code-side-linenumber d2h-cntx"> + 20 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr> + </tbody> + </table> + </div> + </div> + </div> +</div> +<div id="d2h-179574" class="d2h-file-wrapper" data-lang="ts"> + <div class="d2h-file-header"> + <span class="d2h-file-name-wrapper"> + <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> + <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> + </svg> <span class="d2h-file-name">src/app/app.component.ts</span> + <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span> +<label class="d2h-file-collapse"> + <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> + Viewed +</label> + </div> + <div class="d2h-files-diff"> + <div class="d2h-file-side-diff"> + <div class="d2h-code-wrapper"> + <table class="d2h-diff-table"> + <tbody class="d2h-diff-tbody"> + <tr> + <td class="d2h-code-side-linenumber d2h-info"></td> + <td class="d2h-info"> + <div class="d2h-code-side-line">@@ -1,6 +1,13 @@</div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-cntx"> + 1 + </td> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn">import { Component } from '@angular/core';</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-cntx"> + 2 + </td> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-cntx"> + 3 + </td> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn">import { AuthService } from './shared/auth.service';</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-cntx"> + 4 + </td> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-cntx"> + 5 + </td> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn">@Component({</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-cntx"> + 6 + </td> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> selector: 'bm-root',</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-info"></td> + <td class="d2h-info"> + <div class="d2h-code-side-line">@@ -8,5 +15,62 @@ import { AuthService } from './shared/auth.service';</div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-cntx"> + 8 + </td> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> styleUrls: ['./app.component.css']</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-cntx"> + 9 + </td> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn">})</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-cntx"> + 10 + </td> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn">export class AppComponent {</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-del d2h-change"> + 11 + </td> + <td class="d2h-del d2h-change"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">-</span> + <span class="d2h-code-line-ctn"> <del>constructor(public</del> <del>auth: AuthService) {}</del></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-cntx"> + 12 + </td> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn">}</span> + </div> + </td> +</tr> + </tbody> + </table> + </div> + </div> + <div class="d2h-file-side-diff"> + <div class="d2h-code-wrapper"> + <table class="d2h-diff-table"> + <tbody class="d2h-diff-tbody"> + <tr> + <td class="d2h-code-side-linenumber d2h-info"></td> + <td class="d2h-info"> + <div class="d2h-code-side-line"></div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-cntx"> + 1 + </td> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn">import { Component } from '@angular/core';</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins"> + 2 + </td> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn">import { SwUpdate } from '@angular/service-worker';</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-cntx"> + 3 + </td> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> const changes = latest.changelog;</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 42 + <td class="d2h-code-side-linenumber d2h-cntx"> + 4 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn">import { AuthService } from './shared/auth.service';</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 43 + 5 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> const confirmText = `Update from ${from} to ${to}. Changes: ${changes}. Install?`;</span> + <span class="d2h-code-line-ctn">import { WebNotificationService } from './shared/web-notification.service';</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 44 + 6 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -5777,267 +6265,272 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 45 + 7 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> if (window.confirm(confirmText)) {</span> + <span class="d2h-code-line-ctn">interface AppData {</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 46 + 8 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> window.location.reload();</span> + <span class="d2h-code-line-ctn"> version: string;</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 47 + 9 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> }</span> + <span class="d2h-code-line-ctn"> changelog: string;</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 48 + 10 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> break;</span> + <span class="d2h-code-line-ctn">}</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 49 + <td class="d2h-code-side-linenumber d2h-cntx"> + 11 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> }</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 50 + <td class="d2h-code-side-linenumber d2h-cntx"> + 12 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn">@Component({</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 51 + <td class="d2h-code-side-linenumber d2h-cntx"> + 13 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> case 'VERSION_INSTALLATION_FAILED': {</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> selector: 'bm-root',</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 52 + <td class="d2h-code-side-linenumber d2h-info"></td> + <td class="d2h-info"> + <div class="d2h-code-side-line"></div> </td> - <td class="d2h-ins"> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-cntx"> + 15 + </td> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> console.log(</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> styleUrls: ['./app.component.css']</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 53 + <td class="d2h-code-side-linenumber d2h-cntx"> + 16 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> `Failed to install ${e.version.appData}:`,</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn">})</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 54 + <td class="d2h-code-side-linenumber d2h-cntx"> + 17 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> e.error</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn">export class AppComponent {</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 55 + <td class="d2h-code-side-linenumber d2h-ins d2h-change"> + 18 </td> - <td class="d2h-ins"> + <td class="d2h-ins d2h-change"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> );</span> + <span class="d2h-code-line-ctn"> <ins>permission?:</ins> <ins>NotificationPermission;</ins></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 56 + 19 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> break;</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 57 + 20 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> }</span> + <span class="d2h-code-line-ctn"> constructor(</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 58 + 21 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> }</span> + <span class="d2h-code-line-ctn"> public auth: AuthService,</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 59 + 22 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> });</span> + <span class="d2h-code-line-ctn"> private swUpdate: SwUpdate,</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 60 + 23 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> private notificationService: WebNotificationService</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 61 + 24 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> if (this.notificationService.isEnabled) {</span> + <span class="d2h-code-line-ctn"> ) {</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 62 + 25 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> this.setPermission();</span> + <span class="d2h-code-line-ctn"> this.swUpdate.versionUpdates.subscribe(e => {</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 63 + 26 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> }</span> + <span class="d2h-code-line-ctn"> switch (e.type) {</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 64 + 27 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> }</span> + <span class="d2h-code-line-ctn"> case 'VERSION_DETECTED': {</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 65 + 28 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> console.log(</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 66 + 29 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> private setPermission() {</span> + <span class="d2h-code-line-ctn"> 'Downloading new app version:',</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 67 + 30 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> if ('Notification' in window) {</span> + <span class="d2h-code-line-ctn"> e.version.appData</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 68 + 31 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> this.permission = Notification.permission;</span> + <span class="d2h-code-line-ctn"> );</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 69 + 32 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> }</span> + <span class="d2h-code-line-ctn"> break;</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 70 + 33 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> }</span> + <span class="d2h-code-line-ctn"> }</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 71 + 34 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -6047,485 +6540,422 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 72 + 35 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> requestSubscription() {</span> + <span class="d2h-code-line-ctn"> case 'VERSION_READY': {</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 73 + 36 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> this.notificationService.requestSubscription()</span> + <span class="d2h-code-line-ctn"> const current = e.currentVersion.appData as AppData;</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 74 + 37 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> .subscribe(() => this.setPermission());</span> + <span class="d2h-code-line-ctn"> const latest = e.latestVersion.appData as AppData;</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 75 + 38 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> }</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 76 - </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn">}</span> - </div> - </td> -</tr> - </tbody> - </table> - </div> - </div> - </div> -</div> -<div id="d2h-299749" class="d2h-file-wrapper" data-lang="ts"> - <div class="d2h-file-header"> - <span class="d2h-file-name-wrapper"> - <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> - <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> - </svg> <span class="d2h-file-name">src/app/app.module.ts</span> - <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span> -<label class="d2h-file-collapse"> - <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> - Viewed -</label> - </div> - <div class="d2h-files-diff"> - <div class="d2h-file-side-diff"> - <div class="d2h-code-wrapper"> - <table class="d2h-diff-table"> - <tbody class="d2h-diff-tbody"> - <tr> - <td class="d2h-code-side-linenumber d2h-info"></td> - <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -1,6 +1,7 @@</div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 1 - </td> - <td class="d2h-del d2h-change"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn">import { NgModule } from '@angular/core';</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 2 + <td class="d2h-code-side-linenumber d2h-ins"> + 39 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn">import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> const from = current.version;</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 3 + <td class="d2h-code-side-linenumber d2h-ins"> + 40 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn">import { BrowserModule } from '@angular/platform-browser';</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> const to = latest.version;</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 41 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> const changes = latest.changelog;</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 4 + <td class="d2h-code-side-linenumber d2h-ins"> + 42 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 5 + <td class="d2h-code-side-linenumber d2h-ins"> + 43 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn">import { AppRoutingModule } from './app-routing.module';</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> const confirmText = `Update from ${from} to ${to}. Changes: ${changes}. Install?`;</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 6 + <td class="d2h-code-side-linenumber d2h-ins"> + 44 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn">import { AppComponent } from './app.component';</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-info"></td> - <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -18,6 +19,12 @@ import { AuthInterceptor } from './shared/auth.interceptor';</div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 18 + <td class="d2h-code-side-linenumber d2h-ins"> + 45 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> BrowserModule,</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> if (window.confirm(confirmText)) {</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 19 + <td class="d2h-code-side-linenumber d2h-ins"> + 46 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> AppRoutingModule,</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> window.location.reload();</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 20 + <td class="d2h-code-side-linenumber d2h-ins"> + 47 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> HttpClientModule,</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> }</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 48 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> break;</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 49 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> }</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 50 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 51 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> case 'VERSION_INSTALLATION_FAILED': {</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 52 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> console.log(</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 53 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> `Failed to install ${e.version.appData}:`,</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 21 + <td class="d2h-code-side-linenumber d2h-ins"> + 54 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> ],</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> e.error</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 22 + <td class="d2h-code-side-linenumber d2h-ins"> + 55 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> providers: [</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> );</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 23 + <td class="d2h-code-side-linenumber d2h-ins"> + 56 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> {</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> break;</span> </div> </td> -</tr> - </tbody> - </table> - </div> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins"> + 57 + </td> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> }</span> </div> - <div class="d2h-file-side-diff"> - <div class="d2h-code-wrapper"> - <table class="d2h-diff-table"> - <tbody class="d2h-diff-tbody"> - <tr> - <td class="d2h-code-side-linenumber d2h-info"></td> - <td class="d2h-info"> - <div class="d2h-code-side-line"></div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins d2h-change"> - 1 + <td class="d2h-code-side-linenumber d2h-ins"> + 58 </td> - <td class="d2h-ins d2h-change"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">import { NgModule<ins>,</ins> <ins>isDevMode </ins>} from '@angular/core';</span> + <span class="d2h-code-line-ctn"> }</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 2 + <td class="d2h-code-side-linenumber d2h-ins"> + 59 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn">import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> });</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 3 + <td class="d2h-code-side-linenumber d2h-ins"> + 60 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn">import { BrowserModule } from '@angular/platform-browser';</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 4 + 61 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">import { ServiceWorkerModule } from '@angular/service-worker';</span> + <span class="d2h-code-line-ctn"> if (this.notificationService.isEnabled) {</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 5 + <td class="d2h-code-side-linenumber d2h-ins"> + 62 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> this.setPermission();</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 6 + <td class="d2h-code-side-linenumber d2h-ins"> + 63 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn">import { AppRoutingModule } from './app-routing.module';</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> }</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 7 + <td class="d2h-code-side-linenumber d2h-ins"> + 64 </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn">import { AppComponent } from './app.component';</span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> }</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-info"></td> - <td class="d2h-info"> - <div class="d2h-code-side-line"></div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 19 + <td class="d2h-code-side-linenumber d2h-ins"> + 65 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> BrowserModule,</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 20 + <td class="d2h-code-side-linenumber d2h-ins"> + 66 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> AppRoutingModule,</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> private setPermission() {</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 21 + <td class="d2h-code-side-linenumber d2h-ins"> + 67 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> HttpClientModule,</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> if ('Notification' in window) {</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 22 + 68 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> ServiceWorkerModule.register('ngsw-worker.js', {</span> + <span class="d2h-code-line-ctn"> this.permission = Notification.permission;</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 23 + 69 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> enabled: !isDevMode(),</span> + <span class="d2h-code-line-ctn"> }</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 24 + 70 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> // Register the ServiceWorker as soon as the application is stable</span> + <span class="d2h-code-line-ctn"> }</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 25 + 71 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> // or after 30 seconds (whichever comes first).</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 26 + 72 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> registrationStrategy: 'registerWhenStable:30000'</span> + <span class="d2h-code-line-ctn"> requestSubscription() {</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 27 + 73 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> })</span> + <span class="d2h-code-line-ctn"> this.notificationService.requestSubscription()</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 28 + <td class="d2h-code-side-linenumber d2h-ins"> + 74 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> ],</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> .subscribe(() => this.setPermission());</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 29 + <td class="d2h-code-side-linenumber d2h-ins"> + 75 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> providers: [</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> }</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 30 + 76 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> {</span> + <span class="d2h-code-line-ctn">}</span> </div> </td> </tr> @@ -6535,13 +6965,13 @@ <h1> </div> </div> </div> -<div id="d2h-236316" class="d2h-file-wrapper" data-lang="ts"> +<div id="d2h-299749" class="d2h-file-wrapper" data-lang="ts"> <div class="d2h-file-header"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> - </svg> <span class="d2h-file-name">src/app/books/book-details/book-details.component.spec.ts</span> - <span class="d2h-tag d2h-added d2h-added-tag">ADDED</span></span> + </svg> <span class="d2h-file-name">src/app/app.module.ts</span> + <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span> <label class="d2h-file-collapse"> <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> Viewed @@ -6555,66 +6985,36 @@ <h1> <tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -0,0 +1,23 @@</div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> + <div class="d2h-code-side-line">@@ -1,6 +1,7 @@</div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-del d2h-change"> + 1 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-del d2h-change"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">-</span> + <span class="d2h-code-line-ctn">import { NgModule } from '@angular/core';</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 2 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn">import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 3 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn">import { BrowserModule } from '@angular/platform-browser';</span> </div> </td> </tr><tr> @@ -6628,73 +7028,68 @@ <h1> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 4 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 5 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn">import { AppRoutingModule } from './app-routing.module';</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 6 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn">import { AppComponent } from './app.component';</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> + <td class="d2h-code-side-linenumber d2h-info"></td> + <td class="d2h-info"> + <div class="d2h-code-side-line">@@ -18,6 +19,12 @@ import { AuthInterceptor } from './shared/auth.interceptor';</div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 18 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> BrowserModule,</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 19 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> AppRoutingModule,</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 20 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> HttpClientModule,</span> </div> </td> </tr><tr> @@ -6758,33 +7153,33 @@ <h1> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 21 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> ],</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 22 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> providers: [</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 23 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> {</span> </div> </td> </tr> @@ -6802,33 +7197,33 @@ <h1> <div class="d2h-code-side-line"></div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> + <td class="d2h-code-side-linenumber d2h-ins d2h-change"> 1 </td> - <td class="d2h-ins"> + <td class="d2h-ins d2h-change"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">import { ComponentFixture, TestBed } from '@angular/core/testing';</span> + <span class="d2h-code-line-ctn">import { NgModule<ins>,</ins> <ins>isDevMode </ins>} from '@angular/core';</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> + <td class="d2h-code-side-linenumber d2h-cntx"> 2 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn">import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> + <td class="d2h-code-side-linenumber d2h-cntx"> 3 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">import { BookDetailsComponent } from './book-details.component';</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn">import { BrowserModule } from '@angular/platform-browser';</span> </div> </td> </tr><tr> @@ -6838,197 +7233,162 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn">import { ServiceWorkerModule } from '@angular/service-worker';</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> + <td class="d2h-code-side-linenumber d2h-cntx"> 5 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">describe('BookDetailsComponent', () => {</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> + <td class="d2h-code-side-linenumber d2h-cntx"> 6 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> let component: BookDetailsComponent;</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn">import { AppRoutingModule } from './app-routing.module';</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> + <td class="d2h-code-side-linenumber d2h-cntx"> 7 </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> let fixture: ComponentFixture<BookDetailsComponent>;</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 8 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 9 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> beforeEach(async () => {</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 10 - </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> await TestBed.configureTestingModule({</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn">import { AppComponent } from './app.component';</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 11 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> declarations: [ BookDetailsComponent ]</span> - </div> + <td class="d2h-code-side-linenumber d2h-info"></td> + <td class="d2h-info"> + <div class="d2h-code-side-line"></div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 12 + <td class="d2h-code-side-linenumber d2h-cntx"> + 19 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> })</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> BrowserModule,</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 13 + <td class="d2h-code-side-linenumber d2h-cntx"> + 20 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> .compileComponents();</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> AppRoutingModule,</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 14 + <td class="d2h-code-side-linenumber d2h-cntx"> + 21 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> HttpClientModule,</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 15 + 22 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> fixture = TestBed.createComponent(BookDetailsComponent);</span> + <span class="d2h-code-line-ctn"> ServiceWorkerModule.register('ngsw-worker.js', {</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 16 + 23 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> component = fixture.componentInstance;</span> + <span class="d2h-code-line-ctn"> enabled: !isDevMode(),</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 17 + 24 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> fixture.detectChanges();</span> + <span class="d2h-code-line-ctn"> // Register the ServiceWorker as soon as the application is stable</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 18 + 25 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> });</span> + <span class="d2h-code-line-ctn"> // or after 30 seconds (whichever comes first).</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 19 + 26 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> registrationStrategy: 'registerWhenStable:30000'</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 20 + 27 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> it('should create', () => {</span> + <span class="d2h-code-line-ctn"> })</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 21 + <td class="d2h-code-side-linenumber d2h-cntx"> + 28 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> expect(component).toBeTruthy();</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> ],</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 22 + <td class="d2h-code-side-linenumber d2h-cntx"> + 29 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> });</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> providers: [</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 23 + <td class="d2h-code-side-linenumber d2h-cntx"> + 30 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">});</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> {</span> </div> </td> </tr> @@ -7038,12 +7398,12 @@ <h1> </div> </div> </div> -<div id="d2h-280170" class="d2h-file-wrapper" data-lang="ts"> +<div id="d2h-236316" class="d2h-file-wrapper" data-lang="ts"> <div class="d2h-file-header"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> - </svg> <span class="d2h-file-name">src/app/books/book-list/book-list.component.spec.ts</span> + </svg> <span class="d2h-file-name">src/app/books/book-details/book-details.component.spec.ts</span> <span class="d2h-tag d2h-added d2h-added-tag">ADDED</span></span> <label class="d2h-file-collapse"> <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> @@ -7202,366 +7562,13 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr> - </tbody> - </table> - </div> - </div> - <div class="d2h-file-side-diff"> - <div class="d2h-code-wrapper"> - <table class="d2h-diff-table"> - <tbody class="d2h-diff-tbody"> - <tr> - <td class="d2h-code-side-linenumber d2h-info"></td> - <td class="d2h-info"> - <div class="d2h-code-side-line"></div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 1 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">import { ComponentFixture, TestBed } from '@angular/core/testing';</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 2 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 3 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">import { BookListComponent } from './book-list.component';</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 4 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 5 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">describe('BookListComponent', () => {</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 6 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> let component: BookListComponent;</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 7 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> let fixture: ComponentFixture<BookListComponent>;</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 8 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 9 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> beforeEach(async () => {</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 10 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> await TestBed.configureTestingModule({</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 11 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> declarations: [ BookListComponent ]</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 12 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> })</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 13 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> .compileComponents();</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 14 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 15 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> fixture = TestBed.createComponent(BookListComponent);</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 16 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> component = fixture.componentInstance;</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 17 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> fixture.detectChanges();</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 18 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> });</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 19 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 20 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> it('should create', () => {</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 21 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> expect(component).toBeTruthy();</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 22 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> });</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 23 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">});</span> - </div> - </td> -</tr> - </tbody> - </table> - </div> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> - </div> -</div> -<div id="d2h-728939" class="d2h-file-wrapper" data-lang="ts"> - <div class="d2h-file-header"> - <span class="d2h-file-name-wrapper"> - <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> - <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> - </svg> <span class="d2h-file-name">src/app/books/shared/loggedin-only.directive.spec.ts</span> - <span class="d2h-tag d2h-added d2h-added-tag">ADDED</span></span> -<label class="d2h-file-collapse"> - <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> - Viewed -</label> - </div> - <div class="d2h-files-diff"> - <div class="d2h-file-side-diff"> - <div class="d2h-code-wrapper"> - <table class="d2h-diff-table"> - <tbody class="d2h-diff-tbody"> - <tr> - <td class="d2h-code-side-linenumber d2h-info"></td> - <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -0,0 +1,8 @@</div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> @@ -7664,7 +7671,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">import { LoggedinOnlyDirective } from './loggedin-only.directive';</span> + <span class="d2h-code-line-ctn">import { ComponentFixture, TestBed } from '@angular/core/testing';</span> </div> </td> </tr><tr> @@ -7684,7 +7691,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">describe('LoggedinOnlyDirective', () => {</span> + <span class="d2h-code-line-ctn">import { BookDetailsComponent } from './book-details.component';</span> </div> </td> </tr><tr> @@ -7694,7 +7701,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> it('should create an instance', () => {</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> @@ -7704,7 +7711,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> const directive = new LoggedinOnlyDirective();</span> + <span class="d2h-code-line-ctn">describe('BookDetailsComponent', () => {</span> </div> </td> </tr><tr> @@ -7714,7 +7721,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> expect(directive).toBeTruthy();</span> + <span class="d2h-code-line-ctn"> let component: BookDetailsComponent;</span> </div> </td> </tr><tr> @@ -7724,7 +7731,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> });</span> + <span class="d2h-code-line-ctn"> let fixture: ComponentFixture<BookDetailsComponent>;</span> </div> </td> </tr><tr> @@ -7734,300 +7741,157 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">});</span> - </div> - </td> -</tr> - </tbody> - </table> - </div> - </div> - </div> -</div> -<div id="d2h-006121" class="d2h-file-wrapper" data-lang="ts"> - <div class="d2h-file-header"> - <span class="d2h-file-name-wrapper"> - <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> - <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> - </svg> <span class="d2h-file-name">src/app/home/home.component.spec.ts</span> - <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span> -<label class="d2h-file-collapse"> - <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> - Viewed -</label> - </div> - <div class="d2h-files-diff"> - <div class="d2h-file-side-diff"> - <div class="d2h-code-wrapper"> - <table class="d2h-diff-table"> - <tbody class="d2h-diff-tbody"> - <tr> - <td class="d2h-code-side-linenumber d2h-info"></td> - <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -1,4 +1,3 @@</div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-del"> - 1 - </td> - <td class="d2h-del"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn">import { NO_ERRORS_SCHEMA } from '@angular/core';</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 2 - </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn">import { ComponentFixture, TestBed } from '@angular/core/testing';</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 3 - </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 4 - </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn">import { HomeComponent } from './home.component';</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-info"></td> - <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -9,8 +8,7 @@ describe('HomeComponent', () => {</div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> + <td class="d2h-code-side-linenumber d2h-ins"> 9 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> beforeEach(async () => {</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> + <td class="d2h-code-side-linenumber d2h-ins"> 10 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> beforeEach(async () => {</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> await TestBed.configureTestingModule({</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> + <td class="d2h-code-side-linenumber d2h-ins"> 11 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> await TestBed.configureTestingModule({</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> declarations: [ BookDetailsComponent ]</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-del d2h-change"> + <td class="d2h-code-side-linenumber d2h-ins"> 12 </td> - <td class="d2h-del d2h-change"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn"> declarations: [ HomeComponent ]<del>,</del></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> })</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-del"> + <td class="d2h-code-side-linenumber d2h-ins"> 13 </td> - <td class="d2h-del"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn"> schemas: [NO_ERRORS_SCHEMA]</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> .compileComponents();</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> + <td class="d2h-code-side-linenumber d2h-ins"> 14 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> })</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> + <td class="d2h-code-side-linenumber d2h-ins"> 15 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> .compileComponents();</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> fixture = TestBed.createComponent(BookDetailsComponent);</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> + <td class="d2h-code-side-linenumber d2h-ins"> 16 </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr> - </tbody> - </table> - </div> - </div> - <div class="d2h-file-side-diff"> - <div class="d2h-code-wrapper"> - <table class="d2h-diff-table"> - <tbody class="d2h-diff-tbody"> - <tr> - <td class="d2h-code-side-linenumber d2h-info"></td> - <td class="d2h-info"> - <div class="d2h-code-side-line"></div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 1 - </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn">import { ComponentFixture, TestBed } from '@angular/core/testing';</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 2 - </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 3 - </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn">import { HomeComponent } from './home.component';</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-info"></td> - <td class="d2h-info"> - <div class="d2h-code-side-line"></div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 8 - </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> component = fixture.componentInstance;</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 9 + <td class="d2h-code-side-linenumber d2h-ins"> + 17 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> beforeEach(async () => {</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> fixture.detectChanges();</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 10 + <td class="d2h-code-side-linenumber d2h-ins"> + 18 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> await TestBed.configureTestingModule({</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> });</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins d2h-change"> - 11 + <td class="d2h-code-side-linenumber d2h-ins"> + 19 </td> - <td class="d2h-ins d2h-change"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> declarations: [ HomeComponent ]</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 20 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> it('should create', () => {</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 12 + <td class="d2h-code-side-linenumber d2h-ins"> + 21 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> })</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> expect(component).toBeTruthy();</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 13 + <td class="d2h-code-side-linenumber d2h-ins"> + 22 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> .compileComponents();</span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> });</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 14 + <td class="d2h-code-side-linenumber d2h-ins"> + 23 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn">});</span> </div> </td> </tr> @@ -8037,12 +7901,12 @@ <h1> </div> </div> </div> -<div id="d2h-296457" class="d2h-file-wrapper" data-lang="ts"> +<div id="d2h-280170" class="d2h-file-wrapper" data-lang="ts"> <div class="d2h-file-header"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> - </svg> <span class="d2h-file-name">src/app/search/search.component.spec.ts</span> + </svg> <span class="d2h-file-name">src/app/books/book-list/book-list.component.spec.ts</span> <span class="d2h-tag d2h-added d2h-added-tag">ADDED</span></span> <label class="d2h-file-collapse"> <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> @@ -8330,7 +8194,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">import { SearchComponent } from './search.component';</span> + <span class="d2h-code-line-ctn">import { BookListComponent } from './book-list.component';</span> </div> </td> </tr><tr> @@ -8350,7 +8214,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">describe('SearchComponent', () => {</span> + <span class="d2h-code-line-ctn">describe('BookListComponent', () => {</span> </div> </td> </tr><tr> @@ -8360,7 +8224,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> let component: SearchComponent;</span> + <span class="d2h-code-line-ctn"> let component: BookListComponent;</span> </div> </td> </tr><tr> @@ -8370,7 +8234,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> let fixture: ComponentFixture<SearchComponent>;</span> + <span class="d2h-code-line-ctn"> let fixture: ComponentFixture<BookListComponent>;</span> </div> </td> </tr><tr> @@ -8410,7 +8274,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> declarations: [ SearchComponent ]</span> + <span class="d2h-code-line-ctn"> declarations: [ BookListComponent ]</span> </div> </td> </tr><tr> @@ -8450,7 +8314,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> fixture = TestBed.createComponent(SearchComponent);</span> + <span class="d2h-code-line-ctn"> fixture = TestBed.createComponent(BookListComponent);</span> </div> </td> </tr><tr> @@ -8540,12 +8404,12 @@ <h1> </div> </div> </div> -<div id="d2h-376505" class="d2h-file-wrapper" data-lang="ts"> +<div id="d2h-728939" class="d2h-file-wrapper" data-lang="ts"> <div class="d2h-file-header"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> - </svg> <span class="d2h-file-name">src/app/shared/book-store.service.spec.ts</span> + </svg> <span class="d2h-file-name">src/app/books/shared/loggedin-only.directive.spec.ts</span> <span class="d2h-tag d2h-added d2h-added-tag">ADDED</span></span> <label class="d2h-file-collapse"> <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> @@ -8560,87 +8424,7 @@ <h1> <tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -0,0 +1,16 @@</div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> + <div class="d2h-code-side-line">@@ -0,0 +1,8 @@</div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> @@ -8722,163 +8506,83 @@ <h1> <span class="d2h-code-line-ctn"><br></span> </div> </td> -</tr> - </tbody> - </table> - </div> - </div> - <div class="d2h-file-side-diff"> - <div class="d2h-code-wrapper"> - <table class="d2h-diff-table"> - <tbody class="d2h-diff-tbody"> - <tr> - <td class="d2h-code-side-linenumber d2h-info"></td> - <td class="d2h-info"> - <div class="d2h-code-side-line"></div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 1 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">import { TestBed } from '@angular/core/testing';</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 2 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 3 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">import { BookStoreService } from './book-store.service';</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 4 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 5 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">describe('BookStoreService', () => {</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 6 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> let service: BookStoreService;</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 7 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 8 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> beforeEach(() => {</span> +</tr> + </tbody> + </table> + </div> </div> + <div class="d2h-file-side-diff"> + <div class="d2h-code-wrapper"> + <table class="d2h-diff-table"> + <tbody class="d2h-diff-tbody"> + <tr> + <td class="d2h-code-side-linenumber d2h-info"></td> + <td class="d2h-info"> + <div class="d2h-code-side-line"></div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 9 + 1 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> TestBed.configureTestingModule({});</span> + <span class="d2h-code-line-ctn">import { LoggedinOnlyDirective } from './loggedin-only.directive';</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 10 + 2 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> service = TestBed.inject(BookStoreService);</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 11 + 3 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> });</span> + <span class="d2h-code-line-ctn">describe('LoggedinOnlyDirective', () => {</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 12 + 4 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> it('should create an instance', () => {</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 13 + 5 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> it('should be created', () => {</span> + <span class="d2h-code-line-ctn"> const directive = new LoggedinOnlyDirective();</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 14 + 6 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> expect(service).toBeTruthy();</span> + <span class="d2h-code-line-ctn"> expect(directive).toBeTruthy();</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 15 + 7 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -8888,7 +8592,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 16 + 8 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -8903,13 +8607,13 @@ <h1> </div> </div> </div> -<div id="d2h-025583" class="d2h-file-wrapper" data-lang="ts"> +<div id="d2h-006121" class="d2h-file-wrapper" data-lang="ts"> <div class="d2h-file-header"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> - </svg> <span class="d2h-file-name">src/app/shared/web-notification.service.ts</span> - <span class="d2h-tag d2h-added d2h-added-tag">ADDED</span></span> + </svg> <span class="d2h-file-name">src/app/home/home.component.spec.ts</span> + <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span> <label class="d2h-file-collapse"> <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> Viewed @@ -8923,98 +8627,147 @@ <h1> <tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -0,0 +1,43 @@</div> + <div class="d2h-code-side-line">@@ -1,4 +1,3 @@</div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-del"> + 1 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-del"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">-</span> + <span class="d2h-code-line-ctn">import { NO_ERRORS_SCHEMA } from '@angular/core';</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-cntx"> + 2 + </td> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn">import { ComponentFixture, TestBed } from '@angular/core/testing';</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 3 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 4 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn">import { HomeComponent } from './home.component';</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-info"></td> + <td class="d2h-info"> + <div class="d2h-code-side-line">@@ -9,8 +8,7 @@ describe('HomeComponent', () => {</div> </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-cntx"> + 9 + </td> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 10 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> beforeEach(async () => {</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 11 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> await TestBed.configureTestingModule({</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-del d2h-change"> + 12 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-del d2h-change"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">-</span> + <span class="d2h-code-line-ctn"> declarations: [ HomeComponent ]<del>,</del></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-del"> + 13 + </td> + <td class="d2h-del"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">-</span> + <span class="d2h-code-line-ctn"> schemas: [NO_ERRORS_SCHEMA]</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-cntx"> + 14 + </td> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> })</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 15 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> .compileComponents();</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 16 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> <span class="d2h-code-line-ctn"><br></span> </div> </td> +</tr> + </tbody> + </table> + </div> + </div> + <div class="d2h-file-side-diff"> + <div class="d2h-code-wrapper"> + <table class="d2h-diff-table"> + <tbody class="d2h-diff-tbody"> + <tr> + <td class="d2h-code-side-linenumber d2h-info"></td> + <td class="d2h-info"> + <div class="d2h-code-side-line"></div> + </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> @@ -9026,63 +8779,78 @@ <h1> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 1 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn">import { ComponentFixture, TestBed } from '@angular/core/testing';</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 2 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 3 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn">import { HomeComponent } from './home.component';</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-info"></td> + <td class="d2h-info"> + <div class="d2h-code-side-line"></div> </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-cntx"> + 8 + </td> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 9 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> beforeEach(async () => {</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 10 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> await TestBed.configureTestingModule({</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins d2h-change"> + 11 + </td> + <td class="d2h-ins d2h-change"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> declarations: [ HomeComponent ]</span> </div> </td> </tr><tr> @@ -9096,35 +8864,64 @@ <h1> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 12 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> })</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 13 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> .compileComponents();</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-cntx"> + 14 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> <span class="d2h-code-line-ctn"><br></span> </div> </td> +</tr> + </tbody> + </table> + </div> + </div> + </div> +</div> +<div id="d2h-296457" class="d2h-file-wrapper" data-lang="ts"> + <div class="d2h-file-header"> + <span class="d2h-file-name-wrapper"> + <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> + <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> + </svg> <span class="d2h-file-name">src/app/search/search.component.spec.ts</span> + <span class="d2h-tag d2h-added d2h-added-tag">ADDED</span></span> +<label class="d2h-file-collapse"> + <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> + Viewed +</label> + </div> + <div class="d2h-files-diff"> + <div class="d2h-file-side-diff"> + <div class="d2h-code-wrapper"> + <table class="d2h-diff-table"> + <tbody class="d2h-diff-tbody"> + <tr> + <td class="d2h-code-side-linenumber d2h-info"></td> + <td class="d2h-info"> + <div class="d2h-code-side-line">@@ -0,0 +1,23 @@</div> + </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> @@ -9365,243 +9162,43 @@ <h1> <table class="d2h-diff-table"> <tbody class="d2h-diff-tbody"> <tr> - <td class="d2h-code-side-linenumber d2h-info"></td> - <td class="d2h-info"> - <div class="d2h-code-side-line"></div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 1 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">import { Injectable } from '@angular/core';</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 2 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">import { HttpClient } from '@angular/common/http';</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 3 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">import { SwPush } from '@angular/service-worker';</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 4 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">import { concatMap, from, Observable } from 'rxjs';</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 5 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">import { Router } from '@angular/router';</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 6 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 7 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">@Injectable({</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 8 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> providedIn: 'root',</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 9 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">})</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 10 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">export class WebNotificationService {</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 11 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> readonly VAPID_PUBLIC_KEY = 'BGk2Rx3DEjXdRv9qP8aKrypFoNjISAZ54l-3V05xpPOV-5ZQJvVH9OB9Rz5Ug7H_qH6CEr40f4Pi3DpjzYLbfCA';</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 12 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> private baseUrl = 'https://api5.angular-buch.com/notifications';</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 13 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 14 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> constructor(private http: HttpClient, private swPush: SwPush, private router: Router) {</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 15 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> // when user clicks a notification</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 16 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> this.swPush.notificationClicks.subscribe(e => {</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 17 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> // if ISBN is given, navigate to detail page</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 18 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> const data = e.notification.data;</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 19 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> if (data?.book?.isbn) {</span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 20 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> this.router.navigate(['/books', data.book.isbn])</span> - </div> + <td class="d2h-code-side-linenumber d2h-info"></td> + <td class="d2h-info"> + <div class="d2h-code-side-line"></div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 21 + 1 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> }</span> + <span class="d2h-code-line-ctn">import { ComponentFixture, TestBed } from '@angular/core/testing';</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 22 + 2 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> });</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 23 + 3 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> }</span> + <span class="d2h-code-line-ctn">import { SearchComponent } from './search.component';</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 24 + 4 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -9611,37 +9208,37 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 25 + 5 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> get isEnabled() {</span> + <span class="d2h-code-line-ctn">describe('SearchComponent', () => {</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 26 + 6 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> return this.swPush.isEnabled;</span> + <span class="d2h-code-line-ctn"> let component: SearchComponent;</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 27 + 7 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> }</span> + <span class="d2h-code-line-ctn"> let fixture: ComponentFixture<SearchComponent>;</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 28 + 8 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -9651,57 +9248,57 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 29 + 9 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> // request a subscription from the browser and register it on the server</span> + <span class="d2h-code-line-ctn"> beforeEach(async () => {</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 30 + 10 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> requestSubscription(): Observable<unknown> {</span> + <span class="d2h-code-line-ctn"> await TestBed.configureTestingModule({</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 31 + 11 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> const request = this.swPush.requestSubscription({</span> + <span class="d2h-code-line-ctn"> declarations: [ SearchComponent ]</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 32 + 12 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> serverPublicKey: this.VAPID_PUBLIC_KEY</span> + <span class="d2h-code-line-ctn"> })</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 33 + 13 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> });</span> + <span class="d2h-code-line-ctn"> .compileComponents();</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 34 + 14 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -9711,47 +9308,47 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 35 + 15 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> return from(request).pipe(</span> + <span class="d2h-code-line-ctn"> fixture = TestBed.createComponent(SearchComponent);</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 36 + 16 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> concatMap(sub => this.registerOnServer(sub))</span> + <span class="d2h-code-line-ctn"> component = fixture.componentInstance;</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 37 + 17 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> );</span> + <span class="d2h-code-line-ctn"> fixture.detectChanges();</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 38 + 18 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> }</span> + <span class="d2h-code-line-ctn"> });</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 39 + 19 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -9761,42 +9358,42 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 40 + 20 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> private registerOnServer(params: PushSubscription) {</span> + <span class="d2h-code-line-ctn"> it('should create', () => {</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 41 + 21 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> return this.http.post(this.baseUrl, params);</span> + <span class="d2h-code-line-ctn"> expect(component).toBeTruthy();</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 42 + 22 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> }</span> + <span class="d2h-code-line-ctn"> });</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 43 + 23 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">}</span> + <span class="d2h-code-line-ctn">});</span> </div> </td> </tr> @@ -9806,13 +9403,13 @@ <h1> </div> </div> </div> -<div id="d2h-597266" class="d2h-file-wrapper" data-lang="html"> +<div id="d2h-376505" class="d2h-file-wrapper" data-lang="ts"> <div class="d2h-file-header"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> - </svg> <span class="d2h-file-name">src/index.html</span> - <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span> + </svg> <span class="d2h-file-name">src/app/shared/book-store.service.spec.ts</span> + <span class="d2h-tag d2h-added d2h-added-tag">ADDED</span></span> <label class="d2h-file-collapse"> <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> Viewed @@ -9826,36 +9423,16 @@ <h1> <tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -6,10 +6,18 @@</div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 6 - </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <base href="/"></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 7 - </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <meta name="viewport" content="width=device-width, initial-scale=1"></span> - </div> + <div class="d2h-code-side-line">@@ -0,0 +1,16 @@</div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 8 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <link rel="icon" type="image/x-icon" href="favicon.ico"></span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> @@ -9929,53 +9506,53 @@ <h1> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 9 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"></head></span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 10 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><body></span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 11 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <bm-root></span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 12 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <div class="loader">Loading ...</div></span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 13 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> </bm-root></span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> @@ -9989,23 +9566,23 @@ <h1> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 14 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"></body></span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 15 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"></html></span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr> @@ -10023,183 +9600,163 @@ <h1> <div class="d2h-code-side-line"></div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 6 - </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <base href="/"></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 7 - </td> - <td class="d2h-cntx"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <meta name="viewport" content="width=device-width, initial-scale=1"></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 8 + <td class="d2h-code-side-linenumber d2h-ins"> + 1 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <link rel="icon" type="image/x-icon" href="favicon.ico"></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn">import { TestBed } from '@angular/core/testing';</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 9 + 2 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> <link rel="manifest" href="manifest.webmanifest"></span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 10 + 3 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> <meta name="theme-color" content="#1976d2"></span> + <span class="d2h-code-line-ctn">import { BookStoreService } from './book-store.service';</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 11 + 4 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> <meta name="apple-mobile-web-app-status-bar-style" content="default"></span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 12 + 5 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> <meta name="apple-mobile-web-app-capable" content="yes"></span> + <span class="d2h-code-line-ctn">describe('BookStoreService', () => {</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 13 + 6 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> <link rel="apple-touch-startup-image" href="assets/icons/apple-splash-screen.png"></span> + <span class="d2h-code-line-ctn"> let service: BookStoreService;</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 14 + 7 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> <link rel="apple-touch-icon" href="assets/icons/icon-512x512.png"></span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 15 + 8 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> <link rel="apple-touch-icon" sizes="152x152" href="assets/icons/icon-152x152.png"></span> + <span class="d2h-code-line-ctn"> beforeEach(() => {</span> </div> </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 16 +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins"> + 9 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"></head></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> TestBed.configureTestingModule({});</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 17 + <td class="d2h-code-side-linenumber d2h-ins"> + 10 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><body></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> service = TestBed.inject(BookStoreService);</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 18 + <td class="d2h-code-side-linenumber d2h-ins"> + 11 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <bm-root></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> });</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 19 + <td class="d2h-code-side-linenumber d2h-ins"> + 12 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> <div class="loader">Loading ...</div></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 20 + <td class="d2h-code-side-linenumber d2h-ins"> + 13 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> </bm-root></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> it('should be created', () => {</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 21 + 14 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> <noscript>Please enable JavaScript to continue using this application.</noscript></span> + <span class="d2h-code-line-ctn"> expect(service).toBeTruthy();</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 22 + <td class="d2h-code-side-linenumber d2h-ins"> + 15 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"></body></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> });</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-cntx"> - 23 + <td class="d2h-code-side-linenumber d2h-ins"> + 16 </td> - <td class="d2h-cntx"> + <td class="d2h-ins"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"></html></span> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn">});</span> </div> </td> </tr> @@ -10209,12 +9766,12 @@ <h1> </div> </div> </div> -<div id="d2h-128783" class="d2h-file-wrapper" data-lang="webmanifest"> +<div id="d2h-025583" class="d2h-file-wrapper" data-lang="ts"> <div class="d2h-file-header"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> - </svg> <span class="d2h-file-name">src/manifest.webmanifest</span> + </svg> <span class="d2h-file-name">src/app/shared/web-notification.service.ts</span> <span class="d2h-tag d2h-added d2h-added-tag">ADDED</span></span> <label class="d2h-file-collapse"> <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> @@ -10229,37 +9786,7 @@ <h1> <tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -0,0 +1,59 @@</div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> - </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> - </div> + <div class="d2h-code-side-line">@@ -0,0 +1,43 @@</div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> @@ -10691,738 +10218,851 @@ <h1> <span class="d2h-code-line-ctn"><br></span> </div> </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - - </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> +</tr> + </tbody> + </table> + </div> </div> + <div class="d2h-file-side-diff"> + <div class="d2h-code-wrapper"> + <table class="d2h-diff-table"> + <tbody class="d2h-diff-tbody"> + <tr> + <td class="d2h-code-side-linenumber d2h-info"></td> + <td class="d2h-info"> + <div class="d2h-code-side-line"></div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 1 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn">import { Injectable } from '@angular/core';</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 2 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn">import { HttpClient } from '@angular/common/http';</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 3 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn">import { SwPush } from '@angular/service-worker';</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 4 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn">import { concatMap, from, Observable } from 'rxjs';</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 5 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn">import { Router } from '@angular/router';</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 6 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 7 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn">@Injectable({</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 8 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> providedIn: 'root',</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 9 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn">})</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 10 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn">export class WebNotificationService {</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 11 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> readonly VAPID_PUBLIC_KEY = 'BGk2Rx3DEjXdRv9qP8aKrypFoNjISAZ54l-3V05xpPOV-5ZQJvVH9OB9Rz5Ug7H_qH6CEr40f4Pi3DpjzYLbfCA';</span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> - + <td class="d2h-code-side-linenumber d2h-ins"> + 12 </td> - <td class="d2h-cntx d2h-emptyplaceholder"> - <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> - <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"><br></span> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> private baseUrl = 'https://api5.angular-buch.com/notifications';</span> </div> </td> -</tr> - </tbody> - </table> - </div> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins"> + 13 + </td> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"><br></span> </div> - <div class="d2h-file-side-diff"> - <div class="d2h-code-wrapper"> - <table class="d2h-diff-table"> - <tbody class="d2h-diff-tbody"> - <tr> - <td class="d2h-code-side-linenumber d2h-info"></td> - <td class="d2h-info"> - <div class="d2h-code-side-line"></div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 1 + 14 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">{</span> + <span class="d2h-code-line-ctn"> constructor(private http: HttpClient, private swPush: SwPush, private router: Router) {</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 2 + 15 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "name": "book-monkey",</span> + <span class="d2h-code-line-ctn"> // when user clicks a notification</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 3 + 16 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "short_name": "book-monkey",</span> + <span class="d2h-code-line-ctn"> this.swPush.notificationClicks.subscribe(e => {</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 4 + 17 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "theme_color": "#1976d2",</span> + <span class="d2h-code-line-ctn"> // if ISBN is given, navigate to detail page</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 5 + 18 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "background_color": "#fafafa",</span> + <span class="d2h-code-line-ctn"> const data = e.notification.data;</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 6 + 19 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "display": "standalone",</span> + <span class="d2h-code-line-ctn"> if (data?.book?.isbn) {</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 7 + 20 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "scope": "./",</span> + <span class="d2h-code-line-ctn"> this.router.navigate(['/books', data.book.isbn])</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 8 + 21 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "start_url": "./",</span> + <span class="d2h-code-line-ctn"> }</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 9 + 22 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "icons": [</span> + <span class="d2h-code-line-ctn"> });</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 10 + 23 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> {</span> + <span class="d2h-code-line-ctn"> }</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 11 + 24 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "src": "assets/icons/icon-72x72.png",</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 12 + 25 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "sizes": "72x72",</span> + <span class="d2h-code-line-ctn"> get isEnabled() {</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 13 + 26 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "type": "image/png",</span> + <span class="d2h-code-line-ctn"> return this.swPush.isEnabled;</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 14 + 27 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "purpose": "maskable any"</span> + <span class="d2h-code-line-ctn"> }</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 15 + 28 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> },</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 16 + 29 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> {</span> + <span class="d2h-code-line-ctn"> // request a subscription from the browser and register it on the server</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 17 + 30 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "src": "assets/icons/icon-96x96.png",</span> + <span class="d2h-code-line-ctn"> requestSubscription(): Observable<unknown> {</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 18 + 31 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "sizes": "96x96",</span> + <span class="d2h-code-line-ctn"> const request = this.swPush.requestSubscription({</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 19 + 32 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "type": "image/png",</span> + <span class="d2h-code-line-ctn"> serverPublicKey: this.VAPID_PUBLIC_KEY</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 20 + 33 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "purpose": "maskable any"</span> + <span class="d2h-code-line-ctn"> });</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 21 + 34 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> },</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 22 + 35 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> {</span> + <span class="d2h-code-line-ctn"> return from(request).pipe(</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 23 + 36 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "src": "assets/icons/icon-128x128.png",</span> + <span class="d2h-code-line-ctn"> concatMap(sub => this.registerOnServer(sub))</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 24 + 37 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "sizes": "128x128",</span> + <span class="d2h-code-line-ctn"> );</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 25 + 38 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "type": "image/png",</span> + <span class="d2h-code-line-ctn"> }</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 26 + 39 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "purpose": "maskable any"</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 27 + 40 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> },</span> + <span class="d2h-code-line-ctn"> private registerOnServer(params: PushSubscription) {</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 28 + 41 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> {</span> + <span class="d2h-code-line-ctn"> return this.http.post(this.baseUrl, params);</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 29 + 42 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "src": "assets/icons/icon-144x144.png",</span> + <span class="d2h-code-line-ctn"> }</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 30 + 43 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "sizes": "144x144",</span> + <span class="d2h-code-line-ctn">}</span> + </div> + </td> +</tr> + </tbody> + </table> + </div> + </div> + </div> +</div> +<div id="d2h-597266" class="d2h-file-wrapper" data-lang="html"> + <div class="d2h-file-header"> + <span class="d2h-file-name-wrapper"> + <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> + <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> + </svg> <span class="d2h-file-name">src/index.html</span> + <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span> +<label class="d2h-file-collapse"> + <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> + Viewed +</label> + </div> + <div class="d2h-files-diff"> + <div class="d2h-file-side-diff"> + <div class="d2h-code-wrapper"> + <table class="d2h-diff-table"> + <tbody class="d2h-diff-tbody"> + <tr> + <td class="d2h-code-side-linenumber d2h-info"></td> + <td class="d2h-info"> + <div class="d2h-code-side-line">@@ -6,10 +6,18 @@</div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-cntx"> + 6 + </td> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> <base href="/"></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-cntx"> + 7 + </td> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> <meta name="viewport" content="width=device-width, initial-scale=1"></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-cntx"> + 8 + </td> + <td class="d2h-cntx"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> <link rel="icon" type="image/x-icon" href="favicon.ico"></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 31 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "type": "image/png",</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 32 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "purpose": "maskable any"</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 33 + <td class="d2h-code-side-linenumber d2h-cntx"> + 9 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> },</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"></head></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 34 + <td class="d2h-code-side-linenumber d2h-cntx"> + 10 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> {</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><body></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 35 + <td class="d2h-code-side-linenumber d2h-cntx"> + 11 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "src": "assets/icons/icon-152x152.png",</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> <bm-root></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 36 + <td class="d2h-code-side-linenumber d2h-cntx"> + 12 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "sizes": "152x152",</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> <div class="loader">Loading ...</div></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 37 + <td class="d2h-code-side-linenumber d2h-cntx"> + 13 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "type": "image/png",</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> </bm-root></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 38 + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "purpose": "maskable any"</span> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 39 + <td class="d2h-code-side-linenumber d2h-cntx"> + 14 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> },</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"></body></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 40 + <td class="d2h-code-side-linenumber d2h-cntx"> + 15 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> {</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"></html></span> </div> </td> -</tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 41 - </td> - <td class="d2h-ins"> - <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "src": "assets/icons/icon-192x192.png",</span> +</tr> + </tbody> + </table> + </div> </div> + <div class="d2h-file-side-diff"> + <div class="d2h-code-wrapper"> + <table class="d2h-diff-table"> + <tbody class="d2h-diff-tbody"> + <tr> + <td class="d2h-code-side-linenumber d2h-info"></td> + <td class="d2h-info"> + <div class="d2h-code-side-line"></div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 42 + <td class="d2h-code-side-linenumber d2h-cntx"> + 6 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "sizes": "192x192",</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> <base href="/"></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 43 + <td class="d2h-code-side-linenumber d2h-cntx"> + 7 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "type": "image/png",</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> <meta name="viewport" content="width=device-width, initial-scale=1"></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 44 + <td class="d2h-code-side-linenumber d2h-cntx"> + 8 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "purpose": "maskable any"</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> <link rel="icon" type="image/x-icon" href="favicon.ico"></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 45 + 9 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> },</span> + <span class="d2h-code-line-ctn"> <link rel="manifest" href="manifest.webmanifest"></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 46 + 10 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> {</span> + <span class="d2h-code-line-ctn"> <meta name="theme-color" content="#1976d2"></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 47 + 11 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "src": "assets/icons/icon-384x384.png",</span> + <span class="d2h-code-line-ctn"> <meta name="apple-mobile-web-app-status-bar-style" content="default"></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 48 + 12 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "sizes": "384x384",</span> + <span class="d2h-code-line-ctn"> <meta name="apple-mobile-web-app-capable" content="yes"></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 49 + 13 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "type": "image/png",</span> + <span class="d2h-code-line-ctn"> <link rel="apple-touch-startup-image" href="assets/icons/apple-splash-screen.png"></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 50 + 14 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "purpose": "maskable any"</span> + <span class="d2h-code-line-ctn"> <link rel="apple-touch-icon" href="assets/icons/icon-512x512.png"></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 51 + 15 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> },</span> + <span class="d2h-code-line-ctn"> <link rel="apple-touch-icon" sizes="152x152" href="assets/icons/icon-152x152.png"></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 52 + <td class="d2h-code-side-linenumber d2h-cntx"> + 16 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> {</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"></head></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 53 + <td class="d2h-code-side-linenumber d2h-cntx"> + 17 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "src": "assets/icons/icon-512x512.png",</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><body></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 54 + <td class="d2h-code-side-linenumber d2h-cntx"> + 18 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "sizes": "512x512",</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> <bm-root></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 55 + <td class="d2h-code-side-linenumber d2h-cntx"> + 19 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "type": "image/png",</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> <div class="loader">Loading ...</div></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 56 + <td class="d2h-code-side-linenumber d2h-cntx"> + 20 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "purpose": "maskable any"</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"> </bm-root></span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 57 + 21 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> }</span> + <span class="d2h-code-line-ctn"> <noscript>Please enable JavaScript to continue using this application.</noscript></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 58 + <td class="d2h-code-side-linenumber d2h-cntx"> + 22 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> ]</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"></body></span> </div> </td> </tr><tr> - <td class="d2h-code-side-linenumber d2h-ins"> - 59 + <td class="d2h-code-side-linenumber d2h-cntx"> + 23 </td> - <td class="d2h-ins"> + <td class="d2h-cntx"> <div class="d2h-code-side-line"> - <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">}</span> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"></html></span> </div> </td> </tr> diff --git a/diffs/18-modern-angular.html b/diffs/18-modern-angular.html index 8ca7902..bdce160 100644 --- a/diffs/18-modern-angular.html +++ b/diffs/18-modern-angular.html @@ -227,11 +227,11 @@ <h1> </tr><tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -37,7 +27,15 @@</div> + <div class="d2h-code-side-line">@@ -39,7 +29,15 @@</div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 37 + 39 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -241,7 +241,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 38 + 40 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -251,7 +251,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 39 + 41 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -261,7 +261,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 40 + 42 </td> <td class="d2h-del d2h-change"> <div class="d2h-code-side-line"> @@ -351,7 +351,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 41 + 43 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -361,7 +361,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 42 + 44 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -371,7 +371,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 43 + 45 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -570,7 +570,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 27 + 29 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -580,7 +580,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 28 + 30 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -590,7 +590,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 29 + 31 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -600,7 +600,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins d2h-change"> - 30 + 32 </td> <td class="d2h-ins d2h-change"> <div class="d2h-code-side-line"> @@ -610,7 +610,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 31 + 33 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -620,7 +620,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 32 + 34 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -630,7 +630,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 33 + 35 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -640,7 +640,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 34 + 36 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -650,7 +650,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 35 + 37 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -660,7 +660,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 36 + 38 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -670,7 +670,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 37 + 39 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -680,7 +680,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 38 + 40 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -690,7 +690,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 39 + 41 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -700,7 +700,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 40 + 42 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -710,7 +710,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 41 + 43 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -830,36 +830,36 @@ <h1> </tr><tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -18,9 +19,12 @@</div> + <div class="d2h-code-side-line">@@ -19,9 +20,12 @@</div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 18 + 19 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/forms": "^17.3.0",</span> + <span class="d2h-code-line-ctn"> "@angular/forms": "^18.0.0",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 19 + 20 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/platform-browser": "^17.3.0",</span> + <span class="d2h-code-line-ctn"> "@angular/platform-browser": "^18.0.0",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 20 + 21 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/platform-browser-dynamic": "^17.3.0",</span> + <span class="d2h-code-line-ctn"> "@angular/platform-browser-dynamic": "^18.0.0",</span> </div> </td> </tr><tr> @@ -874,12 +874,12 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 21 + 22 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/router": "^17.3.0",</span> + <span class="d2h-code-line-ctn"> "@angular/router": "^18.0.0",</span> </div> </td> </tr><tr> @@ -894,7 +894,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 22 + 23 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -904,7 +904,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 23 + 24 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -924,7 +924,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 24 + 25 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -934,7 +934,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 25 + 26 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -944,7 +944,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 26 + 27 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -955,36 +955,36 @@ <h1> </tr><tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -34,7 +38,9 @@</div> + <div class="d2h-code-side-line">@@ -30,7 +34,9 @@</div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 34 + 30 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular-eslint/template-parser": "17.3.0",</span> + <span class="d2h-code-line-ctn"> "@angular-devkit/build-angular": "^18.0.3",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 35 + 31 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/cli": "^17.3.6",</span> + <span class="d2h-code-line-ctn"> "@angular/cli": "^18.0.3",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 36 + 32 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/compiler-cli": "^17.3.0",</span> + <span class="d2h-code-line-ctn"> "@angular/compiler-cli": "^18.0.0",</span> </div> </td> </tr><tr> @@ -999,7 +999,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 37 + 33 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -1019,62 +1019,62 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 38 + 34 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@typescript-eslint/eslint-plugin": "7.2.0",</span> + <span class="d2h-code-line-ctn"> "angular-eslint": "18.0.1",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 39 + 35 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@typescript-eslint/parser": "7.2.0",</span> + <span class="d2h-code-line-ctn"> "eslint": "^9.3.0",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 40 + 36 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "eslint": "^8.57.0",</span> + <span class="d2h-code-line-ctn"> "jasmine-core": "~5.1.0",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -46,4 +52,4 @@</div> + <div class="d2h-code-side-line">@@ -42,4 +48,4 @@</div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 46 + 42 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "karma-jasmine-html-reporter": "~2.1.0",</span> + <span class="d2h-code-line-ctn"> "typescript": "~5.4.2",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 47 + 43 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "typescript": "~5.4.2"</span> + <span class="d2h-code-line-ctn"> "typescript-eslint": "8.0.0-alpha.20"</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 48 + 44 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -1084,7 +1084,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 49 + 45 </td> <td class="d2h-del d2h-change"> <div class="d2h-code-side-line"> @@ -1193,67 +1193,67 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 19 + 20 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/forms": "^17.3.0",</span> + <span class="d2h-code-line-ctn"> "@angular/forms": "^18.0.0",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 20 + 21 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/platform-browser": "^17.3.0",</span> + <span class="d2h-code-line-ctn"> "@angular/platform-browser": "^18.0.0",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 21 + 22 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/platform-browser-dynamic": "^17.3.0",</span> + <span class="d2h-code-line-ctn"> "@angular/platform-browser-dynamic": "^18.0.0",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 22 + 23 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "@angular/platform-server": "^17.3.0",</span> + <span class="d2h-code-line-ctn"> "@angular/platform-server": "^18.0.0",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 23 + 24 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/router": "^17.3.0",</span> + <span class="d2h-code-line-ctn"> "@angular/router": "^18.0.0",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 24 + 25 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> "@angular/ssr": "^17.3.6",</span> + <span class="d2h-code-line-ctn"> "@angular/ssr": "^18.0.3",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 25 + 26 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -1263,7 +1263,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 26 + 27 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -1273,7 +1273,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 27 + 28 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -1283,7 +1283,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 28 + 29 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -1293,7 +1293,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 29 + 30 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -1303,7 +1303,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 30 + 31 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -1318,37 +1318,37 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 38 + 34 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular-eslint/template-parser": "17.3.0",</span> + <span class="d2h-code-line-ctn"> "@angular-devkit/build-angular": "^18.0.3",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 39 + 35 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/cli": "^17.3.6",</span> + <span class="d2h-code-line-ctn"> "@angular/cli": "^18.0.3",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 40 + 36 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@angular/compiler-cli": "^17.3.0",</span> + <span class="d2h-code-line-ctn"> "@angular/compiler-cli": "^18.0.0",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 41 + 37 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -1358,7 +1358,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 42 + 38 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -1368,7 +1368,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 43 + 39 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -1378,32 +1378,32 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 44 + 40 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@typescript-eslint/eslint-plugin": "7.2.0",</span> + <span class="d2h-code-line-ctn"> "angular-eslint": "18.0.1",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 45 + 41 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "@typescript-eslint/parser": "7.2.0",</span> + <span class="d2h-code-line-ctn"> "eslint": "^9.3.0",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 46 + 42 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "eslint": "^8.57.0",</span> + <span class="d2h-code-line-ctn"> "jasmine-core": "~5.1.0",</span> </div> </td> </tr><tr> @@ -1413,27 +1413,27 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 52 + 48 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "karma-jasmine-html-reporter": "~2.1.0",</span> + <span class="d2h-code-line-ctn"> "typescript": "~5.4.2",</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 53 + 49 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix"> </span> - <span class="d2h-code-line-ctn"> "typescript": "~5.4.2"</span> + <span class="d2h-code-line-ctn"> "typescript-eslint": "8.0.0-alpha.20"</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 54 + 50 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -1443,7 +1443,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins d2h-change"> - 55 + 51 </td> <td class="d2h-ins d2h-change"> <div class="d2h-code-side-line"> @@ -1721,7 +1721,17 @@ <h1> <tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -0,0 +1,56 @@</div> + <div class="d2h-code-side-line">@@ -0,0 +1,57 @@</div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> @@ -2524,7 +2534,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> server.get('*.*', express.static(browserDistFolder, {</span> + <span class="d2h-code-line-ctn"> server.get('**', express.static(browserDistFolder, {</span> </div> </td> </tr><tr> @@ -2534,7 +2544,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> maxAge: '1y'</span> + <span class="d2h-code-line-ctn"> maxAge: '1y',</span> </div> </td> </tr><tr> @@ -2544,7 +2554,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> }));</span> + <span class="d2h-code-line-ctn"> index: 'index.html',</span> </div> </td> </tr><tr> @@ -2554,7 +2564,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> }));</span> </div> </td> </tr><tr> @@ -2564,7 +2574,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> // All regular routes use the Angular engine</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> @@ -2574,7 +2584,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> server.get('*', (req, res, next) => {</span> + <span class="d2h-code-line-ctn"> // All regular routes use the Angular engine</span> </div> </td> </tr><tr> @@ -2584,7 +2594,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> const { protocol, originalUrl, baseUrl, headers } = req;</span> + <span class="d2h-code-line-ctn"> server.get('**', (req, res, next) => {</span> </div> </td> </tr><tr> @@ -2594,7 +2604,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> const { protocol, originalUrl, baseUrl, headers } = req;</span> </div> </td> </tr><tr> @@ -2604,7 +2614,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> commonEngine</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> @@ -2614,7 +2624,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> .render({</span> + <span class="d2h-code-line-ctn"> commonEngine</span> </div> </td> </tr><tr> @@ -2624,7 +2634,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> bootstrap: AppServerModule,</span> + <span class="d2h-code-line-ctn"> .render({</span> </div> </td> </tr><tr> @@ -2634,7 +2644,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> documentFilePath: indexHtml,</span> + <span class="d2h-code-line-ctn"> bootstrap: AppServerModule,</span> </div> </td> </tr><tr> @@ -2644,7 +2654,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> url: `${protocol}://${headers.host}${originalUrl}`,</span> + <span class="d2h-code-line-ctn"> documentFilePath: indexHtml,</span> </div> </td> </tr><tr> @@ -2654,7 +2664,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> publicPath: browserDistFolder,</span> + <span class="d2h-code-line-ctn"> url: `${protocol}://${headers.host}${originalUrl}`,</span> </div> </td> </tr><tr> @@ -2664,7 +2674,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> providers: [{ provide: APP_BASE_HREF, useValue: baseUrl }],</span> + <span class="d2h-code-line-ctn"> publicPath: browserDistFolder,</span> </div> </td> </tr><tr> @@ -2674,7 +2684,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> })</span> + <span class="d2h-code-line-ctn"> providers: [{ provide: APP_BASE_HREF, useValue: baseUrl }],</span> </div> </td> </tr><tr> @@ -2684,7 +2694,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> .then((html) => res.send(html))</span> + <span class="d2h-code-line-ctn"> })</span> </div> </td> </tr><tr> @@ -2694,7 +2704,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> .catch((err) => next(err));</span> + <span class="d2h-code-line-ctn"> .then((html) => res.send(html))</span> </div> </td> </tr><tr> @@ -2704,7 +2714,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> });</span> + <span class="d2h-code-line-ctn"> .catch((err) => next(err));</span> </div> </td> </tr><tr> @@ -2714,7 +2724,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> });</span> </div> </td> </tr><tr> @@ -2724,7 +2734,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> return server;</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> @@ -2734,7 +2744,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">}</span> + <span class="d2h-code-line-ctn"> return server;</span> </div> </td> </tr><tr> @@ -2744,7 +2754,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn">}</span> </div> </td> </tr><tr> @@ -2754,7 +2764,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">function run(): void {</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> @@ -2764,7 +2774,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> const port = process.env['PORT'] || 4000;</span> + <span class="d2h-code-line-ctn">function run(): void {</span> </div> </td> </tr><tr> @@ -2774,7 +2784,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn"> const port = process.env['PORT'] || 4000;</span> </div> </td> </tr><tr> @@ -2784,7 +2794,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> // Start up the Node server</span> + <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> @@ -2794,7 +2804,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> const server = app();</span> + <span class="d2h-code-line-ctn"> // Start up the Node server</span> </div> </td> </tr><tr> @@ -2804,7 +2814,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> server.listen(port, () => {</span> + <span class="d2h-code-line-ctn"> const server = app();</span> </div> </td> </tr><tr> @@ -2814,7 +2824,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> console.log(`Node Express server listening on http://localhost:${port}`);</span> + <span class="d2h-code-line-ctn"> server.listen(port, () => {</span> </div> </td> </tr><tr> @@ -2824,7 +2834,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> });</span> + <span class="d2h-code-line-ctn"> console.log(`Node Express server listening on http://localhost:${port}`);</span> </div> </td> </tr><tr> @@ -2834,7 +2844,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">}</span> + <span class="d2h-code-line-ctn"> });</span> </div> </td> </tr><tr> @@ -2844,13 +2854,23 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn">}</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> 56 </td> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins"> + 57 + </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> @@ -10039,7 +10059,17 @@ <h1> <tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -0,0 +1,18 @@</div> + <div class="d2h-code-side-line">@@ -0,0 +1,19 @@</div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> @@ -10252,7 +10282,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn">import { ApplicationConfig } from '@angular/core';</span> + <span class="d2h-code-line-ctn">import { ApplicationConfig, provideZoneChangeDetection } from '@angular/core';</span> </div> </td> </tr><tr> @@ -10342,7 +10372,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> provideRouter(routes, withComponentInputBinding()),</span> + <span class="d2h-code-line-ctn"> provideZoneChangeDetection({ eventCoalescing: true }),</span> </div> </td> </tr><tr> @@ -10352,7 +10382,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> provideHttpClient(</span> + <span class="d2h-code-line-ctn"> provideRouter(routes, withComponentInputBinding()),</span> </div> </td> </tr><tr> @@ -10362,7 +10392,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> withFetch(),</span> + <span class="d2h-code-line-ctn"> provideHttpClient(</span> </div> </td> </tr><tr> @@ -10372,7 +10402,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> withInterceptors([authInterceptor])</span> + <span class="d2h-code-line-ctn"> withFetch(),</span> </div> </td> </tr><tr> @@ -10382,7 +10412,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> ),</span> + <span class="d2h-code-line-ctn"> withInterceptors([authInterceptor])</span> </div> </td> </tr><tr> @@ -10392,7 +10422,7 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> provideClientHydration()</span> + <span class="d2h-code-line-ctn"> ),</span> </div> </td> </tr><tr> @@ -10402,13 +10432,23 @@ <h1> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> - <span class="d2h-code-line-ctn"> ]</span> + <span class="d2h-code-line-ctn"> provideClientHydration()</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> 18 </td> + <td class="d2h-ins"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">+</span> + <span class="d2h-code-line-ctn"> ]</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-ins"> + 19 + </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">+</span> @@ -19599,7 +19639,7 @@ <h1> <tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -1,7 +1,6 @@</div> + <div class="d2h-code-side-line">@@ -1,8 +1,6 @@</div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-del d2h-change"> @@ -19668,7 +19708,7 @@ <h1> <td class="d2h-del"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn"><br></span> + <span class="d2h-code-line-ctn">platformBrowserDynamic().bootstrapModule(AppModule, {</span> </div> </td> </tr><tr> @@ -19678,13 +19718,23 @@ <h1> <td class="d2h-del"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">-</span> - <span class="d2h-code-line-ctn">platformBrowserDynamic().bootstrapModule(AppModule)</span> + <span class="d2h-code-line-ctn"> ngZoneEventCoalescing: true</span> </div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-del"> 7 </td> + <td class="d2h-del"> + <div class="d2h-code-side-line"> + <span class="d2h-code-line-prefix">-</span> + <span class="d2h-code-line-ctn">})</span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-del"> + 8 + </td> <td class="d2h-del"> <div class="d2h-code-side-line"> <span class="d2h-code-line-prefix">-</span> @@ -19788,6 +19838,16 @@ <h1> </tr><tr> <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> + <td class="d2h-cntx d2h-emptyplaceholder"> + <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> + <span class="d2h-code-line-prefix"> </span> + <span class="d2h-code-line-ctn"><br></span> + </div> + </td> +</tr><tr> + <td class="d2h-code-side-linenumber d2h-code-side-emptyplaceholder d2h-cntx d2h-emptyplaceholder"> + </td> <td class="d2h-cntx d2h-emptyplaceholder"> <div class="d2h-code-side-line d2h-code-side-emptyplaceholder"> @@ -19822,11 +19882,11 @@ <h1> <tr> <td class="d2h-code-side-linenumber d2h-info"></td> <td class="d2h-info"> - <div class="d2h-code-side-line">@@ -3,10 +3,14 @@</div> + <div class="d2h-code-side-line">@@ -4,10 +4,14 @@</div> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 3 + 4 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -19836,7 +19896,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 4 + 5 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -19846,7 +19906,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 5 + 6 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -19856,7 +19916,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 6 + 7 </td> <td class="d2h-del d2h-change"> <div class="d2h-code-side-line"> @@ -19886,7 +19946,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 7 + 8 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -19896,7 +19956,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 8 + 9 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -19906,7 +19966,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-del d2h-change"> - 9 + 10 </td> <td class="d2h-del d2h-change"> <div class="d2h-code-side-line"> @@ -19936,7 +19996,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 10 + 11 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -19946,7 +20006,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 11 + 12 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -19956,7 +20016,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 12 + 13 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -19980,7 +20040,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 3 + 4 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -19990,7 +20050,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 4 + 5 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -20000,7 +20060,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 5 + 6 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -20010,7 +20070,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins d2h-change"> - 6 + 7 </td> <td class="d2h-ins d2h-change"> <div class="d2h-code-side-line"> @@ -20020,7 +20080,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 7 + 8 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -20030,7 +20090,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 8 + 9 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -20040,7 +20100,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 9 + 10 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -20050,7 +20110,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 10 + 11 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -20060,7 +20120,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins d2h-change"> - 11 + 12 </td> <td class="d2h-ins d2h-change"> <div class="d2h-code-side-line"> @@ -20070,7 +20130,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 12 + 13 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -20080,7 +20140,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-ins"> - 13 + 14 </td> <td class="d2h-ins"> <div class="d2h-code-side-line"> @@ -20090,7 +20150,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 14 + 15 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -20100,7 +20160,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 15 + 16 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line"> @@ -20110,7 +20170,7 @@ <h1> </td> </tr><tr> <td class="d2h-code-side-linenumber d2h-cntx"> - 16 + 17 </td> <td class="d2h-cntx"> <div class="d2h-code-side-line">