angular-slickgrid 9.0.0 → 9.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (395) hide show
  1. package/LICENSE +1 -1
  2. package/{dist/fesm2022 → fesm2022}/angular-slickgrid.mjs +16 -16
  3. package/package.json +27 -14
  4. package/.gitbook.yaml +0 -5
  5. package/CHANGELOG.md +0 -1691
  6. package/CONTRIBUTING.md +0 -17
  7. package/angular.json +0 -133
  8. package/coverage/base.css +0 -224
  9. package/coverage/block-navigation.js +0 -87
  10. package/coverage/clover.xml +0 -1620
  11. package/coverage/coverage-final.json +0 -9
  12. package/coverage/favicon.png +0 -0
  13. package/coverage/index.html +0 -176
  14. package/coverage/library/components/angular-slickgrid.component.ts.html +0 -5074
  15. package/coverage/library/components/index.html +0 -116
  16. package/coverage/library/constants.ts.html +0 -397
  17. package/coverage/library/extensions/index.html +0 -116
  18. package/coverage/library/extensions/slickRowDetailView.ts.html +0 -1261
  19. package/coverage/library/index.html +0 -116
  20. package/coverage/library/modules/angular-slickgrid.module.ts.html +0 -166
  21. package/coverage/library/modules/index.html +0 -116
  22. package/coverage/library/services/angularUtil.service.ts.html +0 -445
  23. package/coverage/library/services/container.service.ts.html +0 -163
  24. package/coverage/library/services/index.html +0 -161
  25. package/coverage/library/services/translater.service.ts.html +0 -199
  26. package/coverage/library/services/utilities.ts.html +0 -142
  27. package/coverage/prettify.css +0 -1
  28. package/coverage/prettify.js +0 -2
  29. package/coverage/sort-arrow-sprite.png +0 -0
  30. package/coverage/sorter.js +0 -196
  31. package/dist/LICENSE +0 -21
  32. package/dist/README.md +0 -142
  33. package/docs/README.md +0 -5
  34. package/docs/TOC.md +0 -105
  35. package/docs/backend-services/Custom-Backend-Service.md +0 -50
  36. package/docs/backend-services/GraphQL.md +0 -276
  37. package/docs/backend-services/OData.md +0 -245
  38. package/docs/backend-services/graphql/GraphQL-Filtering.md +0 -156
  39. package/docs/backend-services/graphql/GraphQL-JSON-Result.md +0 -85
  40. package/docs/backend-services/graphql/GraphQL-Pagination.md +0 -77
  41. package/docs/backend-services/graphql/GraphQL-Sorting.md +0 -78
  42. package/docs/column-functionalities/cell-menu.md +0 -212
  43. package/docs/column-functionalities/editors/autocomplete-editor.md +0 -466
  44. package/docs/column-functionalities/editors/date-editor-flatpickr.md +0 -71
  45. package/docs/column-functionalities/editors/date-editor-vanilla-calendar.md +0 -91
  46. package/docs/column-functionalities/editors/longtext-editor-textarea.md +0 -80
  47. package/docs/column-functionalities/editors/select-dropdown-editor.md +0 -227
  48. package/docs/column-functionalities/editors.md +0 -604
  49. package/docs/column-functionalities/filters/autocomplete-filter.md +0 -183
  50. package/docs/column-functionalities/filters/compound-filters.md +0 -234
  51. package/docs/column-functionalities/filters/custom-filter.md +0 -117
  52. package/docs/column-functionalities/filters/filter-intro.md +0 -81
  53. package/docs/column-functionalities/filters/input-filter.md +0 -260
  54. package/docs/column-functionalities/filters/range-filters.md +0 -188
  55. package/docs/column-functionalities/filters/select-filter.md +0 -695
  56. package/docs/column-functionalities/filters/single-search-filter.md +0 -77
  57. package/docs/column-functionalities/filters/styling-filled-filters.md +0 -45
  58. package/docs/column-functionalities/formatters.md +0 -325
  59. package/docs/column-functionalities/sorting.md +0 -200
  60. package/docs/developer-guides/csp-compliance.md +0 -64
  61. package/docs/events/Available-Events.md +0 -223
  62. package/docs/events/Grid-&-DataView-Events.md +0 -211
  63. package/docs/getting-started/quick-start.md +0 -230
  64. package/docs/getting-started/troubleshooting.md +0 -80
  65. package/docs/grid-functionalities/Column-Picker.md +0 -22
  66. package/docs/grid-functionalities/Composite-Editor-Modal.md +0 -627
  67. package/docs/grid-functionalities/Context-Menu.md +0 -226
  68. package/docs/grid-functionalities/Custom-Footer.md +0 -80
  69. package/docs/grid-functionalities/Custom-Tooltip-(plugin).md +0 -258
  70. package/docs/grid-functionalities/Export-to-Excel.md +0 -457
  71. package/docs/grid-functionalities/Export-to-Text-File.md +0 -165
  72. package/docs/grid-functionalities/FAQ.md +0 -53
  73. package/docs/grid-functionalities/Global-Options.md +0 -29
  74. package/docs/grid-functionalities/Grid-Auto-Resize.md +0 -218
  75. package/docs/grid-functionalities/Grid-Menu.md +0 -134
  76. package/docs/grid-functionalities/Grid-State-&-Preset.md +0 -245
  77. package/docs/grid-functionalities/Header-Menu-&-Header-Buttons.md +0 -125
  78. package/docs/grid-functionalities/Resize-by-Cell-Content.md +0 -138
  79. package/docs/grid-functionalities/Row-Selection.md +0 -247
  80. package/docs/grid-functionalities/Row-based-edit.md +0 -71
  81. package/docs/grid-functionalities/add-update-highlight.md +0 -258
  82. package/docs/grid-functionalities/column-row-spanning.md +0 -74
  83. package/docs/grid-functionalities/dynamic-item-metadata.md +0 -124
  84. package/docs/grid-functionalities/excel-copy-buffer.md +0 -145
  85. package/docs/grid-functionalities/frozen-columns-rows.md +0 -164
  86. package/docs/grid-functionalities/grouping-and-aggregators.md +0 -269
  87. package/docs/grid-functionalities/header-footer-slots.md +0 -22
  88. package/docs/grid-functionalities/infinite-scroll.md +0 -150
  89. package/docs/grid-functionalities/providing-grid-data.md +0 -61
  90. package/docs/grid-functionalities/row-detail.md +0 -530
  91. package/docs/grid-functionalities/tree-data-grid.md +0 -391
  92. package/docs/localization/Localization---Component-Sample.md +0 -87
  93. package/docs/localization/Localization-with-Custom-Locales.md +0 -66
  94. package/docs/localization/Localization-with-ngx-translate.md +0 -148
  95. package/docs/migrations/migration-to-2.x.md +0 -304
  96. package/docs/migrations/migration-to-3.x.md +0 -295
  97. package/docs/migrations/migration-to-4.x.md +0 -83
  98. package/docs/migrations/migration-to-5.x.md +0 -160
  99. package/docs/migrations/migration-to-6.x.md +0 -128
  100. package/docs/migrations/migration-to-7.x.md +0 -294
  101. package/docs/migrations/migration-to-8.x.md +0 -316
  102. package/docs/migrations/migration-to-9.x.md +0 -219
  103. package/docs/slick-grid-dataview-objects/slickgrid-dataview-objects.md +0 -79
  104. package/docs/styling/dark-mode.md +0 -100
  105. package/docs/styling/styling.md +0 -250
  106. package/docs/testing/testing-patterns.md +0 -73
  107. package/eslint.config.mjs +0 -60
  108. package/ng-package.json +0 -10
  109. package/src/assets/angular-logo.png +0 -0
  110. package/src/assets/angular-logo2.png +0 -0
  111. package/src/assets/data/collection_100_numbers.json +0 -12
  112. package/src/assets/data/collection_500_numbers.json +0 -52
  113. package/src/assets/data/countries.json +0 -245
  114. package/src/assets/data/country_names.json +0 -245
  115. package/src/assets/data/customers_100.json +0 -102
  116. package/src/assets/data/users.csv +0 -5
  117. package/src/assets/i18n/en.json +0 -102
  118. package/src/assets/i18n/fr.json +0 -103
  119. package/src/demos/app-routing.module.ts +0 -108
  120. package/src/demos/app.component.html +0 -187
  121. package/src/demos/app.component.scss +0 -79
  122. package/src/demos/app.component.ts +0 -11
  123. package/src/demos/app.module.ts +0 -196
  124. package/src/demos/environments/environment.dev.ts +0 -3
  125. package/src/demos/environments/environment.prod.ts +0 -3
  126. package/src/demos/environments/environment.ts +0 -8
  127. package/src/demos/examples/custom-angularComponentEditor.ts +0 -187
  128. package/src/demos/examples/custom-angularComponentFilter.ts +0 -123
  129. package/src/demos/examples/custom-buttonFormatter.component.ts +0 -13
  130. package/src/demos/examples/custom-inputEditor.ts +0 -132
  131. package/src/demos/examples/custom-inputFilter.ts +0 -134
  132. package/src/demos/examples/custom-titleFormatter.component.ts +0 -9
  133. package/src/demos/examples/data/collection_100_numbers.json +0 -12
  134. package/src/demos/examples/data/collection_500_numbers.json +0 -52
  135. package/src/demos/examples/data/countries.json +0 -245
  136. package/src/demos/examples/data/country_names.json +0 -245
  137. package/src/demos/examples/data/customers_100.json +0 -102
  138. package/src/demos/examples/data/users.csv +0 -5
  139. package/src/demos/examples/editor-ng-select.component.ts +0 -38
  140. package/src/demos/examples/example01.component.html +0 -48
  141. package/src/demos/examples/example01.component.ts +0 -109
  142. package/src/demos/examples/example02.component.html +0 -45
  143. package/src/demos/examples/example02.component.ts +0 -218
  144. package/src/demos/examples/example03.component.html +0 -118
  145. package/src/demos/examples/example03.component.ts +0 -694
  146. package/src/demos/examples/example04.component.html +0 -87
  147. package/src/demos/examples/example04.component.ts +0 -326
  148. package/src/demos/examples/example05.component.html +0 -151
  149. package/src/demos/examples/example05.component.ts +0 -474
  150. package/src/demos/examples/example06.component.html +0 -163
  151. package/src/demos/examples/example06.component.ts +0 -446
  152. package/src/demos/examples/example07.component.html +0 -56
  153. package/src/demos/examples/example07.component.scss +0 -10
  154. package/src/demos/examples/example07.component.ts +0 -216
  155. package/src/demos/examples/example08.component.html +0 -51
  156. package/src/demos/examples/example08.component.scss +0 -23
  157. package/src/demos/examples/example08.component.ts +0 -195
  158. package/src/demos/examples/example09.component.html +0 -55
  159. package/src/demos/examples/example09.component.scss +0 -22
  160. package/src/demos/examples/example09.component.ts +0 -302
  161. package/src/demos/examples/example10.component.html +0 -103
  162. package/src/demos/examples/example10.component.ts +0 -309
  163. package/src/demos/examples/example11.component.html +0 -91
  164. package/src/demos/examples/example11.component.ts +0 -276
  165. package/src/demos/examples/example12.component.html +0 -98
  166. package/src/demos/examples/example12.component.ts +0 -317
  167. package/src/demos/examples/example13.component.html +0 -96
  168. package/src/demos/examples/example13.component.ts +0 -370
  169. package/src/demos/examples/example14.component.html +0 -50
  170. package/src/demos/examples/example14.component.scss +0 -11
  171. package/src/demos/examples/example14.component.ts +0 -156
  172. package/src/demos/examples/example15.component.html +0 -56
  173. package/src/demos/examples/example15.component.ts +0 -304
  174. package/src/demos/examples/example16.component.html +0 -77
  175. package/src/demos/examples/example16.component.ts +0 -277
  176. package/src/demos/examples/example17.component.html +0 -50
  177. package/src/demos/examples/example17.component.ts +0 -109
  178. package/src/demos/examples/example18.component.html +0 -132
  179. package/src/demos/examples/example18.component.ts +0 -445
  180. package/src/demos/examples/example19-rowdetail.component.html +0 -40
  181. package/src/demos/examples/example19-rowdetail.component.ts +0 -54
  182. package/src/demos/examples/example19.component.html +0 -79
  183. package/src/demos/examples/example19.component.ts +0 -316
  184. package/src/demos/examples/example20.component.html +0 -76
  185. package/src/demos/examples/example20.component.scss +0 -11
  186. package/src/demos/examples/example20.component.ts +0 -341
  187. package/src/demos/examples/example21.component.html +0 -86
  188. package/src/demos/examples/example21.component.scss +0 -16
  189. package/src/demos/examples/example21.component.ts +0 -140
  190. package/src/demos/examples/example22.component.html +0 -41
  191. package/src/demos/examples/example22.component.ts +0 -117
  192. package/src/demos/examples/example23.component.html +0 -111
  193. package/src/demos/examples/example23.component.ts +0 -323
  194. package/src/demos/examples/example24.component.html +0 -120
  195. package/src/demos/examples/example24.component.scss +0 -62
  196. package/src/demos/examples/example24.component.ts +0 -641
  197. package/src/demos/examples/example25.component.html +0 -60
  198. package/src/demos/examples/example25.component.scss +0 -8
  199. package/src/demos/examples/example25.component.ts +0 -255
  200. package/src/demos/examples/example26.component.html +0 -98
  201. package/src/demos/examples/example26.component.scss +0 -42
  202. package/src/demos/examples/example26.component.ts +0 -383
  203. package/src/demos/examples/example27.component.html +0 -138
  204. package/src/demos/examples/example27.component.scss +0 -10
  205. package/src/demos/examples/example27.component.ts +0 -369
  206. package/src/demos/examples/example28.component.html +0 -143
  207. package/src/demos/examples/example28.component.scss +0 -54
  208. package/src/demos/examples/example28.component.ts +0 -453
  209. package/src/demos/examples/example29.component.html +0 -30
  210. package/src/demos/examples/example29.component.ts +0 -70
  211. package/src/demos/examples/example30.component.html +0 -116
  212. package/src/demos/examples/example30.component.scss +0 -20
  213. package/src/demos/examples/example30.component.ts +0 -1070
  214. package/src/demos/examples/example32.component.html +0 -77
  215. package/src/demos/examples/example32.component.scss +0 -8
  216. package/src/demos/examples/example32.component.ts +0 -905
  217. package/src/demos/examples/example33.component.html +0 -50
  218. package/src/demos/examples/example33.component.scss +0 -46
  219. package/src/demos/examples/example33.component.ts +0 -571
  220. package/src/demos/examples/example34.component.html +0 -82
  221. package/src/demos/examples/example34.component.scss +0 -77
  222. package/src/demos/examples/example34.component.ts +0 -434
  223. package/src/demos/examples/example35.component.html +0 -77
  224. package/src/demos/examples/example35.component.scss +0 -18
  225. package/src/demos/examples/example35.component.ts +0 -264
  226. package/src/demos/examples/example36.component.html +0 -56
  227. package/src/demos/examples/example36.component.scss +0 -26
  228. package/src/demos/examples/example36.component.ts +0 -504
  229. package/src/demos/examples/example37.component.html +0 -30
  230. package/src/demos/examples/example37.component.ts +0 -123
  231. package/src/demos/examples/example38.component.html +0 -104
  232. package/src/demos/examples/example38.component.scss +0 -8
  233. package/src/demos/examples/example38.component.ts +0 -420
  234. package/src/demos/examples/example39.component.html +0 -112
  235. package/src/demos/examples/example39.component.scss +0 -8
  236. package/src/demos/examples/example39.component.ts +0 -371
  237. package/src/demos/examples/example40.component.html +0 -76
  238. package/src/demos/examples/example40.component.ts +0 -226
  239. package/src/demos/examples/example41.component.html +0 -50
  240. package/src/demos/examples/example41.component.scss +0 -42
  241. package/src/demos/examples/example41.component.ts +0 -229
  242. package/src/demos/examples/example42.component.html +0 -47
  243. package/src/demos/examples/example42.component.ts +0 -203
  244. package/src/demos/examples/example43.component.html +0 -94
  245. package/src/demos/examples/example43.component.scss +0 -30
  246. package/src/demos/examples/example43.component.ts +0 -449
  247. package/src/demos/examples/example44.component.html +0 -78
  248. package/src/demos/examples/example44.component.scss +0 -50
  249. package/src/demos/examples/example44.component.ts +0 -375
  250. package/src/demos/examples/example45-detail.component.html +0 -15
  251. package/src/demos/examples/example45-detail.component.ts +0 -97
  252. package/src/demos/examples/example45.component.html +0 -110
  253. package/src/demos/examples/example45.component.scss +0 -50
  254. package/src/demos/examples/example45.component.ts +0 -243
  255. package/src/demos/examples/filter-ng-select.component.ts +0 -33
  256. package/src/demos/examples/grid-custom-pager.component.html +0 -60
  257. package/src/demos/examples/grid-custom-pager.component.scss +0 -57
  258. package/src/demos/examples/grid-custom-pager.component.ts +0 -107
  259. package/src/demos/examples/grid-remote.component.html +0 -44
  260. package/src/demos/examples/grid-remote.component.ts +0 -164
  261. package/src/demos/examples/home.component.html +0 -39
  262. package/src/demos/examples/home.component.ts +0 -10
  263. package/src/demos/examples/jsonp.ts +0 -89
  264. package/src/demos/examples/rowdetail-preload.component.ts +0 -10
  265. package/src/demos/examples/swt-common-grid-pagination.component.ts +0 -160
  266. package/src/demos/examples/swt-common-grid-test.component.html +0 -37
  267. package/src/demos/examples/swt-common-grid-test.component.ts +0 -214
  268. package/src/demos/examples/swt-common-grid.component.ts +0 -436
  269. package/src/demos/examples/swt-logger.service.ts +0 -173
  270. package/src/demos/examples/utilities.ts +0 -9
  271. package/src/favicon.ico +0 -0
  272. package/src/index.html +0 -17
  273. package/src/library/components/__tests__/angular-slickgrid.component.spec.ts +0 -2638
  274. package/src/library/components/angular-slickgrid.component.html +0 -5
  275. package/src/library/components/angular-slickgrid.component.ts +0 -1662
  276. package/src/library/constants.ts +0 -105
  277. package/src/library/extensions/__tests__/slickRowDetailView.spec.ts +0 -751
  278. package/src/library/extensions/index.ts +0 -1
  279. package/src/library/extensions/slickRowDetailView.ts +0 -395
  280. package/src/library/global-grid-options.ts +0 -273
  281. package/src/library/index.ts +0 -11
  282. package/src/library/models/angularComponentOutput.interface.ts +0 -6
  283. package/src/library/models/angularGridInstance.interface.ts +0 -76
  284. package/src/library/models/externalTestingDependencies.interface.ts +0 -37
  285. package/src/library/models/gridOption.interface.ts +0 -15
  286. package/src/library/models/index.ts +0 -5
  287. package/src/library/models/rowDetailView.interface.ts +0 -16
  288. package/src/library/modules/angular-slickgrid.module.spec.ts +0 -25
  289. package/src/library/modules/angular-slickgrid.module.ts +0 -27
  290. package/src/library/services/__tests__/angularUtilService.spec.ts +0 -156
  291. package/src/library/services/__tests__/container.service.spec.ts +0 -25
  292. package/src/library/services/__tests__/translater.service.spec.ts +0 -43
  293. package/src/library/services/__tests__/utilities.spec.ts +0 -22
  294. package/src/library/services/angularUtil.service.ts +0 -120
  295. package/src/library/services/container.service.ts +0 -26
  296. package/src/library/services/index.ts +0 -4
  297. package/src/library/services/translater.service.ts +0 -38
  298. package/src/library/services/utilities.ts +0 -19
  299. package/src/library/slickgrid-config.ts +0 -10
  300. package/src/main.ts +0 -13
  301. package/src/public_api.ts +0 -1
  302. package/src/styles.scss +0 -178
  303. package/test/cypress/e2e/example01.cy.ts +0 -367
  304. package/test/cypress/e2e/example02.cy.ts +0 -60
  305. package/test/cypress/e2e/example03.cy.ts +0 -268
  306. package/test/cypress/e2e/example04.cy.ts +0 -254
  307. package/test/cypress/e2e/example05.cy.ts +0 -804
  308. package/test/cypress/e2e/example06.cy.ts +0 -890
  309. package/test/cypress/e2e/example07.cy.ts +0 -384
  310. package/test/cypress/e2e/example08.cy.ts +0 -190
  311. package/test/cypress/e2e/example09.cy.ts +0 -392
  312. package/test/cypress/e2e/example10.cy.ts +0 -650
  313. package/test/cypress/e2e/example11.cy.ts +0 -86
  314. package/test/cypress/e2e/example12.cy.ts +0 -269
  315. package/test/cypress/e2e/example13.cy.ts +0 -246
  316. package/test/cypress/e2e/example14.cy.ts +0 -122
  317. package/test/cypress/e2e/example15.cy.ts +0 -598
  318. package/test/cypress/e2e/example16.cy.ts +0 -427
  319. package/test/cypress/e2e/example17.cy.ts +0 -83
  320. package/test/cypress/e2e/example18.cy.ts +0 -431
  321. package/test/cypress/e2e/example19.cy.ts +0 -263
  322. package/test/cypress/e2e/example20.cy.ts +0 -264
  323. package/test/cypress/e2e/example21.cy.ts +0 -77
  324. package/test/cypress/e2e/example22.cy.ts +0 -94
  325. package/test/cypress/e2e/example23.cy.ts +0 -259
  326. package/test/cypress/e2e/example24.cy.ts +0 -707
  327. package/test/cypress/e2e/example25.cy.ts +0 -193
  328. package/test/cypress/e2e/example26.cy.ts +0 -111
  329. package/test/cypress/e2e/example27.cy.ts +0 -261
  330. package/test/cypress/e2e/example28.cy.ts +0 -740
  331. package/test/cypress/e2e/example29.cy.ts +0 -30
  332. package/test/cypress/e2e/example30.cy.ts +0 -757
  333. package/test/cypress/e2e/example31.cy.ts +0 -69
  334. package/test/cypress/e2e/example32.cy.ts +0 -272
  335. package/test/cypress/e2e/example33.cy.ts +0 -278
  336. package/test/cypress/e2e/example34.cy.ts +0 -84
  337. package/test/cypress/e2e/example35.cy.ts +0 -178
  338. package/test/cypress/e2e/example36.cy.ts +0 -219
  339. package/test/cypress/e2e/example37.cy.ts +0 -52
  340. package/test/cypress/e2e/example38.cy.ts +0 -160
  341. package/test/cypress/e2e/example39.cy.ts +0 -150
  342. package/test/cypress/e2e/example40.cy.ts +0 -126
  343. package/test/cypress/e2e/example41.cy.ts +0 -90
  344. package/test/cypress/e2e/example42.cy.ts +0 -82
  345. package/test/cypress/e2e/example43.cy.ts +0 -482
  346. package/test/cypress/e2e/example44.cy.ts +0 -458
  347. package/test/cypress/e2e/example45.cy.ts +0 -455
  348. package/test/cypress/e2e/home.cy.ts +0 -7
  349. package/test/cypress/fixtures/example.json +0 -5
  350. package/test/cypress/plugins/index.ts +0 -17
  351. package/test/cypress/plugins/utilities.ts +0 -28
  352. package/test/cypress/support/commands.ts +0 -88
  353. package/test/cypress/support/common.ts +0 -47
  354. package/test/cypress/support/drag.ts +0 -101
  355. package/test/cypress/support/index.ts +0 -20
  356. package/test/cypress/tsconfig.json +0 -9
  357. package/test/cypress.config.ts +0 -34
  358. package/test/mockSlickEvent.ts +0 -77
  359. package/test/rxjsResourceStub.ts +0 -69
  360. package/test/test-setup.ts +0 -6
  361. package/test/translateServiceStub.ts +0 -230
  362. package/test/translaterServiceStub.ts +0 -239
  363. package/test/tsconfig.json +0 -17
  364. package/test/vitest-global-mocks.ts +0 -41
  365. package/test/vitest-global-setup.ts +0 -3
  366. package/test/vitest-pretest.ts +0 -5
  367. package/tsconfig.app.json +0 -14
  368. package/tsconfig.json +0 -31
  369. package/tsconfig.spec.json +0 -11
  370. package/types/sortablejs.d.ts +0 -4
  371. package/vite.config.mts +0 -51
  372. /package/{dist/fesm2022 → fesm2022}/angular-slickgrid.mjs.map +0 -0
  373. /package/{dist/i18n → i18n}/en.json +0 -0
  374. /package/{dist/i18n → i18n}/fr.json +0 -0
  375. /package/{dist/index.d.ts → index.d.ts} +0 -0
  376. /package/{dist/library → library}/components/angular-slickgrid.component.d.ts +0 -0
  377. /package/{dist/library → library}/constants.d.ts +0 -0
  378. /package/{dist/library → library}/extensions/index.d.ts +0 -0
  379. /package/{dist/library → library}/extensions/slickRowDetailView.d.ts +0 -0
  380. /package/{dist/library → library}/global-grid-options.d.ts +0 -0
  381. /package/{dist/library → library}/index.d.ts +0 -0
  382. /package/{dist/library → library}/models/angularComponentOutput.interface.d.ts +0 -0
  383. /package/{dist/library → library}/models/angularGridInstance.interface.d.ts +0 -0
  384. /package/{dist/library → library}/models/externalTestingDependencies.interface.d.ts +0 -0
  385. /package/{dist/library → library}/models/gridOption.interface.d.ts +0 -0
  386. /package/{dist/library → library}/models/index.d.ts +0 -0
  387. /package/{dist/library → library}/models/rowDetailView.interface.d.ts +0 -0
  388. /package/{dist/library → library}/modules/angular-slickgrid.module.d.ts +0 -0
  389. /package/{dist/library → library}/services/angularUtil.service.d.ts +0 -0
  390. /package/{dist/library → library}/services/container.service.d.ts +0 -0
  391. /package/{dist/library → library}/services/index.d.ts +0 -0
  392. /package/{dist/library → library}/services/translater.service.d.ts +0 -0
  393. /package/{dist/library → library}/services/utilities.d.ts +0 -0
  394. /package/{dist/library → library}/slickgrid-config.d.ts +0 -0
  395. /package/{dist/public_api.d.ts → public_api.d.ts} +0 -0
@@ -1,1261 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for library/extensions/slickRowDetailView.ts</title>
7
- <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../../prettify.css" />
9
- <link rel="stylesheet" href="../../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
11
- <meta name="viewport" content="width=device-width, initial-scale=1" />
12
- <style type='text/css'>
13
- .coverage-summary .sorter {
14
- background-image: url(../../sort-arrow-sprite.png);
15
- }
16
- </style>
17
- </head>
18
-
19
- <body>
20
- <div class='wrapper'>
21
- <div class='pad1'>
22
- <h1><a href="../../index.html">All files</a> / <a href="index.html">library/extensions</a> slickRowDetailView.ts</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">100% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>247/247</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">77.77% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>70/90</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">100% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>23/23</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">100% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>247/247</span>
50
- </div>
51
-
52
-
53
- </div>
54
- <p class="quiet">
55
- Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
- </p>
57
- <template id="filterTemplate">
58
- <div class="quiet">
59
- Filter:
60
- <input type="search" id="fileSearch">
61
- </div>
62
- </template>
63
- </div>
64
- <div class='status-line high'></div>
65
- <pre><table class="coverage">
66
- <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
- <a name='L2'></a><a href='#L2'>2</a>
68
- <a name='L3'></a><a href='#L3'>3</a>
69
- <a name='L4'></a><a href='#L4'>4</a>
70
- <a name='L5'></a><a href='#L5'>5</a>
71
- <a name='L6'></a><a href='#L6'>6</a>
72
- <a name='L7'></a><a href='#L7'>7</a>
73
- <a name='L8'></a><a href='#L8'>8</a>
74
- <a name='L9'></a><a href='#L9'>9</a>
75
- <a name='L10'></a><a href='#L10'>10</a>
76
- <a name='L11'></a><a href='#L11'>11</a>
77
- <a name='L12'></a><a href='#L12'>12</a>
78
- <a name='L13'></a><a href='#L13'>13</a>
79
- <a name='L14'></a><a href='#L14'>14</a>
80
- <a name='L15'></a><a href='#L15'>15</a>
81
- <a name='L16'></a><a href='#L16'>16</a>
82
- <a name='L17'></a><a href='#L17'>17</a>
83
- <a name='L18'></a><a href='#L18'>18</a>
84
- <a name='L19'></a><a href='#L19'>19</a>
85
- <a name='L20'></a><a href='#L20'>20</a>
86
- <a name='L21'></a><a href='#L21'>21</a>
87
- <a name='L22'></a><a href='#L22'>22</a>
88
- <a name='L23'></a><a href='#L23'>23</a>
89
- <a name='L24'></a><a href='#L24'>24</a>
90
- <a name='L25'></a><a href='#L25'>25</a>
91
- <a name='L26'></a><a href='#L26'>26</a>
92
- <a name='L27'></a><a href='#L27'>27</a>
93
- <a name='L28'></a><a href='#L28'>28</a>
94
- <a name='L29'></a><a href='#L29'>29</a>
95
- <a name='L30'></a><a href='#L30'>30</a>
96
- <a name='L31'></a><a href='#L31'>31</a>
97
- <a name='L32'></a><a href='#L32'>32</a>
98
- <a name='L33'></a><a href='#L33'>33</a>
99
- <a name='L34'></a><a href='#L34'>34</a>
100
- <a name='L35'></a><a href='#L35'>35</a>
101
- <a name='L36'></a><a href='#L36'>36</a>
102
- <a name='L37'></a><a href='#L37'>37</a>
103
- <a name='L38'></a><a href='#L38'>38</a>
104
- <a name='L39'></a><a href='#L39'>39</a>
105
- <a name='L40'></a><a href='#L40'>40</a>
106
- <a name='L41'></a><a href='#L41'>41</a>
107
- <a name='L42'></a><a href='#L42'>42</a>
108
- <a name='L43'></a><a href='#L43'>43</a>
109
- <a name='L44'></a><a href='#L44'>44</a>
110
- <a name='L45'></a><a href='#L45'>45</a>
111
- <a name='L46'></a><a href='#L46'>46</a>
112
- <a name='L47'></a><a href='#L47'>47</a>
113
- <a name='L48'></a><a href='#L48'>48</a>
114
- <a name='L49'></a><a href='#L49'>49</a>
115
- <a name='L50'></a><a href='#L50'>50</a>
116
- <a name='L51'></a><a href='#L51'>51</a>
117
- <a name='L52'></a><a href='#L52'>52</a>
118
- <a name='L53'></a><a href='#L53'>53</a>
119
- <a name='L54'></a><a href='#L54'>54</a>
120
- <a name='L55'></a><a href='#L55'>55</a>
121
- <a name='L56'></a><a href='#L56'>56</a>
122
- <a name='L57'></a><a href='#L57'>57</a>
123
- <a name='L58'></a><a href='#L58'>58</a>
124
- <a name='L59'></a><a href='#L59'>59</a>
125
- <a name='L60'></a><a href='#L60'>60</a>
126
- <a name='L61'></a><a href='#L61'>61</a>
127
- <a name='L62'></a><a href='#L62'>62</a>
128
- <a name='L63'></a><a href='#L63'>63</a>
129
- <a name='L64'></a><a href='#L64'>64</a>
130
- <a name='L65'></a><a href='#L65'>65</a>
131
- <a name='L66'></a><a href='#L66'>66</a>
132
- <a name='L67'></a><a href='#L67'>67</a>
133
- <a name='L68'></a><a href='#L68'>68</a>
134
- <a name='L69'></a><a href='#L69'>69</a>
135
- <a name='L70'></a><a href='#L70'>70</a>
136
- <a name='L71'></a><a href='#L71'>71</a>
137
- <a name='L72'></a><a href='#L72'>72</a>
138
- <a name='L73'></a><a href='#L73'>73</a>
139
- <a name='L74'></a><a href='#L74'>74</a>
140
- <a name='L75'></a><a href='#L75'>75</a>
141
- <a name='L76'></a><a href='#L76'>76</a>
142
- <a name='L77'></a><a href='#L77'>77</a>
143
- <a name='L78'></a><a href='#L78'>78</a>
144
- <a name='L79'></a><a href='#L79'>79</a>
145
- <a name='L80'></a><a href='#L80'>80</a>
146
- <a name='L81'></a><a href='#L81'>81</a>
147
- <a name='L82'></a><a href='#L82'>82</a>
148
- <a name='L83'></a><a href='#L83'>83</a>
149
- <a name='L84'></a><a href='#L84'>84</a>
150
- <a name='L85'></a><a href='#L85'>85</a>
151
- <a name='L86'></a><a href='#L86'>86</a>
152
- <a name='L87'></a><a href='#L87'>87</a>
153
- <a name='L88'></a><a href='#L88'>88</a>
154
- <a name='L89'></a><a href='#L89'>89</a>
155
- <a name='L90'></a><a href='#L90'>90</a>
156
- <a name='L91'></a><a href='#L91'>91</a>
157
- <a name='L92'></a><a href='#L92'>92</a>
158
- <a name='L93'></a><a href='#L93'>93</a>
159
- <a name='L94'></a><a href='#L94'>94</a>
160
- <a name='L95'></a><a href='#L95'>95</a>
161
- <a name='L96'></a><a href='#L96'>96</a>
162
- <a name='L97'></a><a href='#L97'>97</a>
163
- <a name='L98'></a><a href='#L98'>98</a>
164
- <a name='L99'></a><a href='#L99'>99</a>
165
- <a name='L100'></a><a href='#L100'>100</a>
166
- <a name='L101'></a><a href='#L101'>101</a>
167
- <a name='L102'></a><a href='#L102'>102</a>
168
- <a name='L103'></a><a href='#L103'>103</a>
169
- <a name='L104'></a><a href='#L104'>104</a>
170
- <a name='L105'></a><a href='#L105'>105</a>
171
- <a name='L106'></a><a href='#L106'>106</a>
172
- <a name='L107'></a><a href='#L107'>107</a>
173
- <a name='L108'></a><a href='#L108'>108</a>
174
- <a name='L109'></a><a href='#L109'>109</a>
175
- <a name='L110'></a><a href='#L110'>110</a>
176
- <a name='L111'></a><a href='#L111'>111</a>
177
- <a name='L112'></a><a href='#L112'>112</a>
178
- <a name='L113'></a><a href='#L113'>113</a>
179
- <a name='L114'></a><a href='#L114'>114</a>
180
- <a name='L115'></a><a href='#L115'>115</a>
181
- <a name='L116'></a><a href='#L116'>116</a>
182
- <a name='L117'></a><a href='#L117'>117</a>
183
- <a name='L118'></a><a href='#L118'>118</a>
184
- <a name='L119'></a><a href='#L119'>119</a>
185
- <a name='L120'></a><a href='#L120'>120</a>
186
- <a name='L121'></a><a href='#L121'>121</a>
187
- <a name='L122'></a><a href='#L122'>122</a>
188
- <a name='L123'></a><a href='#L123'>123</a>
189
- <a name='L124'></a><a href='#L124'>124</a>
190
- <a name='L125'></a><a href='#L125'>125</a>
191
- <a name='L126'></a><a href='#L126'>126</a>
192
- <a name='L127'></a><a href='#L127'>127</a>
193
- <a name='L128'></a><a href='#L128'>128</a>
194
- <a name='L129'></a><a href='#L129'>129</a>
195
- <a name='L130'></a><a href='#L130'>130</a>
196
- <a name='L131'></a><a href='#L131'>131</a>
197
- <a name='L132'></a><a href='#L132'>132</a>
198
- <a name='L133'></a><a href='#L133'>133</a>
199
- <a name='L134'></a><a href='#L134'>134</a>
200
- <a name='L135'></a><a href='#L135'>135</a>
201
- <a name='L136'></a><a href='#L136'>136</a>
202
- <a name='L137'></a><a href='#L137'>137</a>
203
- <a name='L138'></a><a href='#L138'>138</a>
204
- <a name='L139'></a><a href='#L139'>139</a>
205
- <a name='L140'></a><a href='#L140'>140</a>
206
- <a name='L141'></a><a href='#L141'>141</a>
207
- <a name='L142'></a><a href='#L142'>142</a>
208
- <a name='L143'></a><a href='#L143'>143</a>
209
- <a name='L144'></a><a href='#L144'>144</a>
210
- <a name='L145'></a><a href='#L145'>145</a>
211
- <a name='L146'></a><a href='#L146'>146</a>
212
- <a name='L147'></a><a href='#L147'>147</a>
213
- <a name='L148'></a><a href='#L148'>148</a>
214
- <a name='L149'></a><a href='#L149'>149</a>
215
- <a name='L150'></a><a href='#L150'>150</a>
216
- <a name='L151'></a><a href='#L151'>151</a>
217
- <a name='L152'></a><a href='#L152'>152</a>
218
- <a name='L153'></a><a href='#L153'>153</a>
219
- <a name='L154'></a><a href='#L154'>154</a>
220
- <a name='L155'></a><a href='#L155'>155</a>
221
- <a name='L156'></a><a href='#L156'>156</a>
222
- <a name='L157'></a><a href='#L157'>157</a>
223
- <a name='L158'></a><a href='#L158'>158</a>
224
- <a name='L159'></a><a href='#L159'>159</a>
225
- <a name='L160'></a><a href='#L160'>160</a>
226
- <a name='L161'></a><a href='#L161'>161</a>
227
- <a name='L162'></a><a href='#L162'>162</a>
228
- <a name='L163'></a><a href='#L163'>163</a>
229
- <a name='L164'></a><a href='#L164'>164</a>
230
- <a name='L165'></a><a href='#L165'>165</a>
231
- <a name='L166'></a><a href='#L166'>166</a>
232
- <a name='L167'></a><a href='#L167'>167</a>
233
- <a name='L168'></a><a href='#L168'>168</a>
234
- <a name='L169'></a><a href='#L169'>169</a>
235
- <a name='L170'></a><a href='#L170'>170</a>
236
- <a name='L171'></a><a href='#L171'>171</a>
237
- <a name='L172'></a><a href='#L172'>172</a>
238
- <a name='L173'></a><a href='#L173'>173</a>
239
- <a name='L174'></a><a href='#L174'>174</a>
240
- <a name='L175'></a><a href='#L175'>175</a>
241
- <a name='L176'></a><a href='#L176'>176</a>
242
- <a name='L177'></a><a href='#L177'>177</a>
243
- <a name='L178'></a><a href='#L178'>178</a>
244
- <a name='L179'></a><a href='#L179'>179</a>
245
- <a name='L180'></a><a href='#L180'>180</a>
246
- <a name='L181'></a><a href='#L181'>181</a>
247
- <a name='L182'></a><a href='#L182'>182</a>
248
- <a name='L183'></a><a href='#L183'>183</a>
249
- <a name='L184'></a><a href='#L184'>184</a>
250
- <a name='L185'></a><a href='#L185'>185</a>
251
- <a name='L186'></a><a href='#L186'>186</a>
252
- <a name='L187'></a><a href='#L187'>187</a>
253
- <a name='L188'></a><a href='#L188'>188</a>
254
- <a name='L189'></a><a href='#L189'>189</a>
255
- <a name='L190'></a><a href='#L190'>190</a>
256
- <a name='L191'></a><a href='#L191'>191</a>
257
- <a name='L192'></a><a href='#L192'>192</a>
258
- <a name='L193'></a><a href='#L193'>193</a>
259
- <a name='L194'></a><a href='#L194'>194</a>
260
- <a name='L195'></a><a href='#L195'>195</a>
261
- <a name='L196'></a><a href='#L196'>196</a>
262
- <a name='L197'></a><a href='#L197'>197</a>
263
- <a name='L198'></a><a href='#L198'>198</a>
264
- <a name='L199'></a><a href='#L199'>199</a>
265
- <a name='L200'></a><a href='#L200'>200</a>
266
- <a name='L201'></a><a href='#L201'>201</a>
267
- <a name='L202'></a><a href='#L202'>202</a>
268
- <a name='L203'></a><a href='#L203'>203</a>
269
- <a name='L204'></a><a href='#L204'>204</a>
270
- <a name='L205'></a><a href='#L205'>205</a>
271
- <a name='L206'></a><a href='#L206'>206</a>
272
- <a name='L207'></a><a href='#L207'>207</a>
273
- <a name='L208'></a><a href='#L208'>208</a>
274
- <a name='L209'></a><a href='#L209'>209</a>
275
- <a name='L210'></a><a href='#L210'>210</a>
276
- <a name='L211'></a><a href='#L211'>211</a>
277
- <a name='L212'></a><a href='#L212'>212</a>
278
- <a name='L213'></a><a href='#L213'>213</a>
279
- <a name='L214'></a><a href='#L214'>214</a>
280
- <a name='L215'></a><a href='#L215'>215</a>
281
- <a name='L216'></a><a href='#L216'>216</a>
282
- <a name='L217'></a><a href='#L217'>217</a>
283
- <a name='L218'></a><a href='#L218'>218</a>
284
- <a name='L219'></a><a href='#L219'>219</a>
285
- <a name='L220'></a><a href='#L220'>220</a>
286
- <a name='L221'></a><a href='#L221'>221</a>
287
- <a name='L222'></a><a href='#L222'>222</a>
288
- <a name='L223'></a><a href='#L223'>223</a>
289
- <a name='L224'></a><a href='#L224'>224</a>
290
- <a name='L225'></a><a href='#L225'>225</a>
291
- <a name='L226'></a><a href='#L226'>226</a>
292
- <a name='L227'></a><a href='#L227'>227</a>
293
- <a name='L228'></a><a href='#L228'>228</a>
294
- <a name='L229'></a><a href='#L229'>229</a>
295
- <a name='L230'></a><a href='#L230'>230</a>
296
- <a name='L231'></a><a href='#L231'>231</a>
297
- <a name='L232'></a><a href='#L232'>232</a>
298
- <a name='L233'></a><a href='#L233'>233</a>
299
- <a name='L234'></a><a href='#L234'>234</a>
300
- <a name='L235'></a><a href='#L235'>235</a>
301
- <a name='L236'></a><a href='#L236'>236</a>
302
- <a name='L237'></a><a href='#L237'>237</a>
303
- <a name='L238'></a><a href='#L238'>238</a>
304
- <a name='L239'></a><a href='#L239'>239</a>
305
- <a name='L240'></a><a href='#L240'>240</a>
306
- <a name='L241'></a><a href='#L241'>241</a>
307
- <a name='L242'></a><a href='#L242'>242</a>
308
- <a name='L243'></a><a href='#L243'>243</a>
309
- <a name='L244'></a><a href='#L244'>244</a>
310
- <a name='L245'></a><a href='#L245'>245</a>
311
- <a name='L246'></a><a href='#L246'>246</a>
312
- <a name='L247'></a><a href='#L247'>247</a>
313
- <a name='L248'></a><a href='#L248'>248</a>
314
- <a name='L249'></a><a href='#L249'>249</a>
315
- <a name='L250'></a><a href='#L250'>250</a>
316
- <a name='L251'></a><a href='#L251'>251</a>
317
- <a name='L252'></a><a href='#L252'>252</a>
318
- <a name='L253'></a><a href='#L253'>253</a>
319
- <a name='L254'></a><a href='#L254'>254</a>
320
- <a name='L255'></a><a href='#L255'>255</a>
321
- <a name='L256'></a><a href='#L256'>256</a>
322
- <a name='L257'></a><a href='#L257'>257</a>
323
- <a name='L258'></a><a href='#L258'>258</a>
324
- <a name='L259'></a><a href='#L259'>259</a>
325
- <a name='L260'></a><a href='#L260'>260</a>
326
- <a name='L261'></a><a href='#L261'>261</a>
327
- <a name='L262'></a><a href='#L262'>262</a>
328
- <a name='L263'></a><a href='#L263'>263</a>
329
- <a name='L264'></a><a href='#L264'>264</a>
330
- <a name='L265'></a><a href='#L265'>265</a>
331
- <a name='L266'></a><a href='#L266'>266</a>
332
- <a name='L267'></a><a href='#L267'>267</a>
333
- <a name='L268'></a><a href='#L268'>268</a>
334
- <a name='L269'></a><a href='#L269'>269</a>
335
- <a name='L270'></a><a href='#L270'>270</a>
336
- <a name='L271'></a><a href='#L271'>271</a>
337
- <a name='L272'></a><a href='#L272'>272</a>
338
- <a name='L273'></a><a href='#L273'>273</a>
339
- <a name='L274'></a><a href='#L274'>274</a>
340
- <a name='L275'></a><a href='#L275'>275</a>
341
- <a name='L276'></a><a href='#L276'>276</a>
342
- <a name='L277'></a><a href='#L277'>277</a>
343
- <a name='L278'></a><a href='#L278'>278</a>
344
- <a name='L279'></a><a href='#L279'>279</a>
345
- <a name='L280'></a><a href='#L280'>280</a>
346
- <a name='L281'></a><a href='#L281'>281</a>
347
- <a name='L282'></a><a href='#L282'>282</a>
348
- <a name='L283'></a><a href='#L283'>283</a>
349
- <a name='L284'></a><a href='#L284'>284</a>
350
- <a name='L285'></a><a href='#L285'>285</a>
351
- <a name='L286'></a><a href='#L286'>286</a>
352
- <a name='L287'></a><a href='#L287'>287</a>
353
- <a name='L288'></a><a href='#L288'>288</a>
354
- <a name='L289'></a><a href='#L289'>289</a>
355
- <a name='L290'></a><a href='#L290'>290</a>
356
- <a name='L291'></a><a href='#L291'>291</a>
357
- <a name='L292'></a><a href='#L292'>292</a>
358
- <a name='L293'></a><a href='#L293'>293</a>
359
- <a name='L294'></a><a href='#L294'>294</a>
360
- <a name='L295'></a><a href='#L295'>295</a>
361
- <a name='L296'></a><a href='#L296'>296</a>
362
- <a name='L297'></a><a href='#L297'>297</a>
363
- <a name='L298'></a><a href='#L298'>298</a>
364
- <a name='L299'></a><a href='#L299'>299</a>
365
- <a name='L300'></a><a href='#L300'>300</a>
366
- <a name='L301'></a><a href='#L301'>301</a>
367
- <a name='L302'></a><a href='#L302'>302</a>
368
- <a name='L303'></a><a href='#L303'>303</a>
369
- <a name='L304'></a><a href='#L304'>304</a>
370
- <a name='L305'></a><a href='#L305'>305</a>
371
- <a name='L306'></a><a href='#L306'>306</a>
372
- <a name='L307'></a><a href='#L307'>307</a>
373
- <a name='L308'></a><a href='#L308'>308</a>
374
- <a name='L309'></a><a href='#L309'>309</a>
375
- <a name='L310'></a><a href='#L310'>310</a>
376
- <a name='L311'></a><a href='#L311'>311</a>
377
- <a name='L312'></a><a href='#L312'>312</a>
378
- <a name='L313'></a><a href='#L313'>313</a>
379
- <a name='L314'></a><a href='#L314'>314</a>
380
- <a name='L315'></a><a href='#L315'>315</a>
381
- <a name='L316'></a><a href='#L316'>316</a>
382
- <a name='L317'></a><a href='#L317'>317</a>
383
- <a name='L318'></a><a href='#L318'>318</a>
384
- <a name='L319'></a><a href='#L319'>319</a>
385
- <a name='L320'></a><a href='#L320'>320</a>
386
- <a name='L321'></a><a href='#L321'>321</a>
387
- <a name='L322'></a><a href='#L322'>322</a>
388
- <a name='L323'></a><a href='#L323'>323</a>
389
- <a name='L324'></a><a href='#L324'>324</a>
390
- <a name='L325'></a><a href='#L325'>325</a>
391
- <a name='L326'></a><a href='#L326'>326</a>
392
- <a name='L327'></a><a href='#L327'>327</a>
393
- <a name='L328'></a><a href='#L328'>328</a>
394
- <a name='L329'></a><a href='#L329'>329</a>
395
- <a name='L330'></a><a href='#L330'>330</a>
396
- <a name='L331'></a><a href='#L331'>331</a>
397
- <a name='L332'></a><a href='#L332'>332</a>
398
- <a name='L333'></a><a href='#L333'>333</a>
399
- <a name='L334'></a><a href='#L334'>334</a>
400
- <a name='L335'></a><a href='#L335'>335</a>
401
- <a name='L336'></a><a href='#L336'>336</a>
402
- <a name='L337'></a><a href='#L337'>337</a>
403
- <a name='L338'></a><a href='#L338'>338</a>
404
- <a name='L339'></a><a href='#L339'>339</a>
405
- <a name='L340'></a><a href='#L340'>340</a>
406
- <a name='L341'></a><a href='#L341'>341</a>
407
- <a name='L342'></a><a href='#L342'>342</a>
408
- <a name='L343'></a><a href='#L343'>343</a>
409
- <a name='L344'></a><a href='#L344'>344</a>
410
- <a name='L345'></a><a href='#L345'>345</a>
411
- <a name='L346'></a><a href='#L346'>346</a>
412
- <a name='L347'></a><a href='#L347'>347</a>
413
- <a name='L348'></a><a href='#L348'>348</a>
414
- <a name='L349'></a><a href='#L349'>349</a>
415
- <a name='L350'></a><a href='#L350'>350</a>
416
- <a name='L351'></a><a href='#L351'>351</a>
417
- <a name='L352'></a><a href='#L352'>352</a>
418
- <a name='L353'></a><a href='#L353'>353</a>
419
- <a name='L354'></a><a href='#L354'>354</a>
420
- <a name='L355'></a><a href='#L355'>355</a>
421
- <a name='L356'></a><a href='#L356'>356</a>
422
- <a name='L357'></a><a href='#L357'>357</a>
423
- <a name='L358'></a><a href='#L358'>358</a>
424
- <a name='L359'></a><a href='#L359'>359</a>
425
- <a name='L360'></a><a href='#L360'>360</a>
426
- <a name='L361'></a><a href='#L361'>361</a>
427
- <a name='L362'></a><a href='#L362'>362</a>
428
- <a name='L363'></a><a href='#L363'>363</a>
429
- <a name='L364'></a><a href='#L364'>364</a>
430
- <a name='L365'></a><a href='#L365'>365</a>
431
- <a name='L366'></a><a href='#L366'>366</a>
432
- <a name='L367'></a><a href='#L367'>367</a>
433
- <a name='L368'></a><a href='#L368'>368</a>
434
- <a name='L369'></a><a href='#L369'>369</a>
435
- <a name='L370'></a><a href='#L370'>370</a>
436
- <a name='L371'></a><a href='#L371'>371</a>
437
- <a name='L372'></a><a href='#L372'>372</a>
438
- <a name='L373'></a><a href='#L373'>373</a>
439
- <a name='L374'></a><a href='#L374'>374</a>
440
- <a name='L375'></a><a href='#L375'>375</a>
441
- <a name='L376'></a><a href='#L376'>376</a>
442
- <a name='L377'></a><a href='#L377'>377</a>
443
- <a name='L378'></a><a href='#L378'>378</a>
444
- <a name='L379'></a><a href='#L379'>379</a>
445
- <a name='L380'></a><a href='#L380'>380</a>
446
- <a name='L381'></a><a href='#L381'>381</a>
447
- <a name='L382'></a><a href='#L382'>382</a>
448
- <a name='L383'></a><a href='#L383'>383</a>
449
- <a name='L384'></a><a href='#L384'>384</a>
450
- <a name='L385'></a><a href='#L385'>385</a>
451
- <a name='L386'></a><a href='#L386'>386</a>
452
- <a name='L387'></a><a href='#L387'>387</a>
453
- <a name='L388'></a><a href='#L388'>388</a>
454
- <a name='L389'></a><a href='#L389'>389</a>
455
- <a name='L390'></a><a href='#L390'>390</a>
456
- <a name='L391'></a><a href='#L391'>391</a>
457
- <a name='L392'></a><a href='#L392'>392</a>
458
- <a name='L393'></a><a href='#L393'>393</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
459
- <span class="cline-any cline-neutral">&nbsp;</span>
460
- <span class="cline-any cline-neutral">&nbsp;</span>
461
- <span class="cline-any cline-neutral">&nbsp;</span>
462
- <span class="cline-any cline-neutral">&nbsp;</span>
463
- <span class="cline-any cline-neutral">&nbsp;</span>
464
- <span class="cline-any cline-neutral">&nbsp;</span>
465
- <span class="cline-any cline-neutral">&nbsp;</span>
466
- <span class="cline-any cline-yes">1x</span>
467
- <span class="cline-any cline-neutral">&nbsp;</span>
468
- <span class="cline-any cline-neutral">&nbsp;</span>
469
- <span class="cline-any cline-neutral">&nbsp;</span>
470
- <span class="cline-any cline-neutral">&nbsp;</span>
471
- <span class="cline-any cline-neutral">&nbsp;</span>
472
- <span class="cline-any cline-neutral">&nbsp;</span>
473
- <span class="cline-any cline-neutral">&nbsp;</span>
474
- <span class="cline-any cline-neutral">&nbsp;</span>
475
- <span class="cline-any cline-yes">1x</span>
476
- <span class="cline-any cline-yes">1x</span>
477
- <span class="cline-any cline-neutral">&nbsp;</span>
478
- <span class="cline-any cline-neutral">&nbsp;</span>
479
- <span class="cline-any cline-neutral">&nbsp;</span>
480
- <span class="cline-any cline-neutral">&nbsp;</span>
481
- <span class="cline-any cline-yes">1x</span>
482
- <span class="cline-any cline-yes">1x</span>
483
- <span class="cline-any cline-neutral">&nbsp;</span>
484
- <span class="cline-any cline-neutral">&nbsp;</span>
485
- <span class="cline-any cline-neutral">&nbsp;</span>
486
- <span class="cline-any cline-neutral">&nbsp;</span>
487
- <span class="cline-any cline-neutral">&nbsp;</span>
488
- <span class="cline-any cline-neutral">&nbsp;</span>
489
- <span class="cline-any cline-neutral">&nbsp;</span>
490
- <span class="cline-any cline-neutral">&nbsp;</span>
491
- <span class="cline-any cline-yes">1x</span>
492
- <span class="cline-any cline-neutral">&nbsp;</span>
493
- <span class="cline-any cline-neutral">&nbsp;</span>
494
- <span class="cline-any cline-neutral">&nbsp;</span>
495
- <span class="cline-any cline-yes">1x</span>
496
- <span class="cline-any cline-neutral">&nbsp;</span>
497
- <span class="cline-any cline-yes">1x</span>
498
- <span class="cline-any cline-neutral">&nbsp;</span>
499
- <span class="cline-any cline-neutral">&nbsp;</span>
500
- <span class="cline-any cline-yes">1x</span>
501
- <span class="cline-any cline-yes">33x</span>
502
- <span class="cline-any cline-yes">33x</span>
503
- <span class="cline-any cline-yes">33x</span>
504
- <span class="cline-any cline-yes">33x</span>
505
- <span class="cline-any cline-yes">33x</span>
506
- <span class="cline-any cline-neutral">&nbsp;</span>
507
- <span class="cline-any cline-yes">33x</span>
508
- <span class="cline-any cline-yes">33x</span>
509
- <span class="cline-any cline-neutral">&nbsp;</span>
510
- <span class="cline-any cline-yes">1x</span>
511
- <span class="cline-any cline-yes">93x</span>
512
- <span class="cline-any cline-yes">93x</span>
513
- <span class="cline-any cline-neutral">&nbsp;</span>
514
- <span class="cline-any cline-yes">1x</span>
515
- <span class="cline-any cline-yes">47x</span>
516
- <span class="cline-any cline-yes">47x</span>
517
- <span class="cline-any cline-neutral">&nbsp;</span>
518
- <span class="cline-any cline-neutral">&nbsp;</span>
519
- <span class="cline-any cline-yes">1x</span>
520
- <span class="cline-any cline-yes">716x</span>
521
- <span class="cline-any cline-yes">716x</span>
522
- <span class="cline-any cline-neutral">&nbsp;</span>
523
- <span class="cline-any cline-yes">1x</span>
524
- <span class="cline-any cline-yes">203x</span>
525
- <span class="cline-any cline-yes">203x</span>
526
- <span class="cline-any cline-neutral">&nbsp;</span>
527
- <span class="cline-any cline-yes">1x</span>
528
- <span class="cline-any cline-yes">1x</span>
529
- <span class="cline-any cline-yes">1x</span>
530
- <span class="cline-any cline-neutral">&nbsp;</span>
531
- <span class="cline-any cline-neutral">&nbsp;</span>
532
- <span class="cline-any cline-yes">1x</span>
533
- <span class="cline-any cline-yes">25x</span>
534
- <span class="cline-any cline-yes">25x</span>
535
- <span class="cline-any cline-yes">25x</span>
536
- <span class="cline-any cline-yes">25x</span>
537
- <span class="cline-any cline-neutral">&nbsp;</span>
538
- <span class="cline-any cline-neutral">&nbsp;</span>
539
- <span class="cline-any cline-yes">1x</span>
540
- <span class="cline-any cline-yes">26x</span>
541
- <span class="cline-any cline-yes">26x</span>
542
- <span class="cline-any cline-yes">26x</span>
543
- <span class="cline-any cline-yes">2x</span>
544
- <span class="cline-any cline-yes">2x</span>
545
- <span class="cline-any cline-yes">26x</span>
546
- <span class="cline-any cline-yes">26x</span>
547
- <span class="cline-any cline-neutral">&nbsp;</span>
548
- <span class="cline-any cline-neutral">&nbsp;</span>
549
- <span class="cline-any cline-yes">1x</span>
550
- <span class="cline-any cline-yes">1x</span>
551
- <span class="cline-any cline-yes">1x</span>
552
- <span class="cline-any cline-neutral">&nbsp;</span>
553
- <span class="cline-any cline-yes">1x</span>
554
- <span class="cline-any cline-yes">26x</span>
555
- <span class="cline-any cline-yes">26x</span>
556
- <span class="cline-any cline-yes">26x</span>
557
- <span class="cline-any cline-yes">26x</span>
558
- <span class="cline-any cline-neutral">&nbsp;</span>
559
- <span class="cline-any cline-neutral">&nbsp;</span>
560
- <span class="cline-any cline-neutral">&nbsp;</span>
561
- <span class="cline-any cline-neutral">&nbsp;</span>
562
- <span class="cline-any cline-neutral">&nbsp;</span>
563
- <span class="cline-any cline-yes">1x</span>
564
- <span class="cline-any cline-yes">44x</span>
565
- <span class="cline-any cline-neutral">&nbsp;</span>
566
- <span class="cline-any cline-neutral">&nbsp;</span>
567
- <span class="cline-any cline-yes">42x</span>
568
- <span class="cline-any cline-yes">42x</span>
569
- <span class="cline-any cline-yes">44x</span>
570
- <span class="cline-any cline-yes">2x</span>
571
- <span class="cline-any cline-yes">2x</span>
572
- <span class="cline-any cline-neutral">&nbsp;</span>
573
- <span class="cline-any cline-yes">44x</span>
574
- <span class="cline-any cline-neutral">&nbsp;</span>
575
- <span class="cline-any cline-neutral">&nbsp;</span>
576
- <span class="cline-any cline-yes">42x</span>
577
- <span class="cline-any cline-yes">25x</span>
578
- <span class="cline-any cline-yes">25x</span>
579
- <span class="cline-any cline-yes">25x</span>
580
- <span class="cline-any cline-yes">42x</span>
581
- <span class="cline-any cline-yes">25x</span>
582
- <span class="cline-any cline-yes">25x</span>
583
- <span class="cline-any cline-yes">2x</span>
584
- <span class="cline-any cline-yes">25x</span>
585
- <span class="cline-any cline-neutral">&nbsp;</span>
586
- <span class="cline-any cline-neutral">&nbsp;</span>
587
- <span class="cline-any cline-yes">42x</span>
588
- <span class="cline-any cline-yes">42x</span>
589
- <span class="cline-any cline-yes">42x</span>
590
- <span class="cline-any cline-yes">42x</span>
591
- <span class="cline-any cline-neutral">&nbsp;</span>
592
- <span class="cline-any cline-neutral">&nbsp;</span>
593
- <span class="cline-any cline-yes">42x</span>
594
- <span class="cline-any cline-yes">42x</span>
595
- <span class="cline-any cline-yes">42x</span>
596
- <span class="cline-any cline-yes">42x</span>
597
- <span class="cline-any cline-neutral">&nbsp;</span>
598
- <span class="cline-any cline-yes">42x</span>
599
- <span class="cline-any cline-yes">1x</span>
600
- <span class="cline-any cline-yes">1x</span>
601
- <span class="cline-any cline-yes">1x</span>
602
- <span class="cline-any cline-yes">42x</span>
603
- <span class="cline-any cline-neutral">&nbsp;</span>
604
- <span class="cline-any cline-yes">42x</span>
605
- <span class="cline-any cline-neutral">&nbsp;</span>
606
- <span class="cline-any cline-yes">1x</span>
607
- <span class="cline-any cline-neutral">&nbsp;</span>
608
- <span class="cline-any cline-neutral">&nbsp;</span>
609
- <span class="cline-any cline-yes">1x</span>
610
- <span class="cline-any cline-neutral">&nbsp;</span>
611
- <span class="cline-any cline-yes">1x</span>
612
- <span class="cline-any cline-yes">1x</span>
613
- <span class="cline-any cline-yes">1x</span>
614
- <span class="cline-any cline-yes">42x</span>
615
- <span class="cline-any cline-neutral">&nbsp;</span>
616
- <span class="cline-any cline-yes">42x</span>
617
- <span class="cline-any cline-yes">42x</span>
618
- <span class="cline-any cline-yes">42x</span>
619
- <span class="cline-any cline-neutral">&nbsp;</span>
620
- <span class="cline-any cline-neutral">&nbsp;</span>
621
- <span class="cline-any cline-yes">1x</span>
622
- <span class="cline-any cline-neutral">&nbsp;</span>
623
- <span class="cline-any cline-yes">1x</span>
624
- <span class="cline-any cline-yes">1x</span>
625
- <span class="cline-any cline-yes">1x</span>
626
- <span class="cline-any cline-yes">1x</span>
627
- <span class="cline-any cline-neutral">&nbsp;</span>
628
- <span class="cline-any cline-neutral">&nbsp;</span>
629
- <span class="cline-any cline-yes">42x</span>
630
- <span class="cline-any cline-neutral">&nbsp;</span>
631
- <span class="cline-any cline-yes">17x</span>
632
- <span class="cline-any cline-neutral">&nbsp;</span>
633
- <span class="cline-any cline-yes">17x</span>
634
- <span class="cline-any cline-yes">16x</span>
635
- <span class="cline-any cline-yes">16x</span>
636
- <span class="cline-any cline-yes">1x</span>
637
- <span class="cline-any cline-yes">42x</span>
638
- <span class="cline-any cline-neutral">&nbsp;</span>
639
- <span class="cline-any cline-yes">42x</span>
640
- <span class="cline-any cline-neutral">&nbsp;</span>
641
- <span class="cline-any cline-yes">2x</span>
642
- <span class="cline-any cline-neutral">&nbsp;</span>
643
- <span class="cline-any cline-yes">2x</span>
644
- <span class="cline-any cline-yes">2x</span>
645
- <span class="cline-any cline-yes">2x</span>
646
- <span class="cline-any cline-yes">42x</span>
647
- <span class="cline-any cline-neutral">&nbsp;</span>
648
- <span class="cline-any cline-yes">42x</span>
649
- <span class="cline-any cline-yes">1x</span>
650
- <span class="cline-any cline-yes">1x</span>
651
- <span class="cline-any cline-yes">1x</span>
652
- <span class="cline-any cline-yes">1x</span>
653
- <span class="cline-any cline-yes">42x</span>
654
- <span class="cline-any cline-neutral">&nbsp;</span>
655
- <span class="cline-any cline-yes">42x</span>
656
- <span class="cline-any cline-yes">1x</span>
657
- <span class="cline-any cline-yes">1x</span>
658
- <span class="cline-any cline-yes">1x</span>
659
- <span class="cline-any cline-yes">42x</span>
660
- <span class="cline-any cline-neutral">&nbsp;</span>
661
- <span class="cline-any cline-neutral">&nbsp;</span>
662
- <span class="cline-any cline-neutral">&nbsp;</span>
663
- <span class="cline-any cline-neutral">&nbsp;</span>
664
- <span class="cline-any cline-neutral">&nbsp;</span>
665
- <span class="cline-any cline-yes">42x</span>
666
- <span class="cline-any cline-neutral">&nbsp;</span>
667
- <span class="cline-any cline-neutral">&nbsp;</span>
668
- <span class="cline-any cline-yes">42x</span>
669
- <span class="cline-any cline-yes">25x</span>
670
- <span class="cline-any cline-yes">25x</span>
671
- <span class="cline-any cline-neutral">&nbsp;</span>
672
- <span class="cline-any cline-neutral">&nbsp;</span>
673
- <span class="cline-any cline-yes">42x</span>
674
- <span class="cline-any cline-neutral">&nbsp;</span>
675
- <span class="cline-any cline-neutral">&nbsp;</span>
676
- <span class="cline-any cline-yes">42x</span>
677
- <span class="cline-any cline-yes">42x</span>
678
- <span class="cline-any cline-yes">42x</span>
679
- <span class="cline-any cline-yes">42x</span>
680
- <span class="cline-any cline-neutral">&nbsp;</span>
681
- <span class="cline-any cline-yes">42x</span>
682
- <span class="cline-any cline-yes">112x</span>
683
- <span class="cline-any cline-yes">42x</span>
684
- <span class="cline-any cline-neutral">&nbsp;</span>
685
- <span class="cline-any cline-yes">42x</span>
686
- <span class="cline-any cline-yes">42x</span>
687
- <span class="cline-any cline-yes">42x</span>
688
- <span class="cline-any cline-yes">42x</span>
689
- <span class="cline-any cline-neutral">&nbsp;</span>
690
- <span class="cline-any cline-neutral">&nbsp;</span>
691
- <span class="cline-any cline-yes">1x</span>
692
- <span class="cline-any cline-yes">256x</span>
693
- <span class="cline-any cline-yes">256x</span>
694
- <span class="cline-any cline-yes">10x</span>
695
- <span class="cline-any cline-yes">5x</span>
696
- <span class="cline-any cline-yes">5x</span>
697
- <span class="cline-any cline-yes">5x</span>
698
- <span class="cline-any cline-yes">256x</span>
699
- <span class="cline-any cline-yes">256x</span>
700
- <span class="cline-any cline-neutral">&nbsp;</span>
701
- <span class="cline-any cline-neutral">&nbsp;</span>
702
- <span class="cline-any cline-yes">1x</span>
703
- <span class="cline-any cline-yes">6x</span>
704
- <span class="cline-any cline-yes">6x</span>
705
- <span class="cline-any cline-yes">6x</span>
706
- <span class="cline-any cline-yes">6x</span>
707
- <span class="cline-any cline-yes">6x</span>
708
- <span class="cline-any cline-neutral">&nbsp;</span>
709
- <span class="cline-any cline-neutral">&nbsp;</span>
710
- <span class="cline-any cline-yes">1x</span>
711
- <span class="cline-any cline-yes">1x</span>
712
- <span class="cline-any cline-yes">1x</span>
713
- <span class="cline-any cline-yes">1x</span>
714
- <span class="cline-any cline-yes">1x</span>
715
- <span class="cline-any cline-yes">1x</span>
716
- <span class="cline-any cline-yes">1x</span>
717
- <span class="cline-any cline-yes">1x</span>
718
- <span class="cline-any cline-neutral">&nbsp;</span>
719
- <span class="cline-any cline-yes">1x</span>
720
- <span class="cline-any cline-yes">1x</span>
721
- <span class="cline-any cline-yes">1x</span>
722
- <span class="cline-any cline-neutral">&nbsp;</span>
723
- <span class="cline-any cline-neutral">&nbsp;</span>
724
- <span class="cline-any cline-yes">1x</span>
725
- <span class="cline-any cline-yes">7x</span>
726
- <span class="cline-any cline-yes">7x</span>
727
- <span class="cline-any cline-neutral">&nbsp;</span>
728
- <span class="cline-any cline-yes">7x</span>
729
- <span class="cline-any cline-yes">7x</span>
730
- <span class="cline-any cline-yes">7x</span>
731
- <span class="cline-any cline-yes">7x</span>
732
- <span class="cline-any cline-yes">7x</span>
733
- <span class="cline-any cline-yes">7x</span>
734
- <span class="cline-any cline-yes">7x</span>
735
- <span class="cline-any cline-yes">7x</span>
736
- <span class="cline-any cline-yes">7x</span>
737
- <span class="cline-any cline-neutral">&nbsp;</span>
738
- <span class="cline-any cline-yes">7x</span>
739
- <span class="cline-any cline-yes">7x</span>
740
- <span class="cline-any cline-yes">7x</span>
741
- <span class="cline-any cline-neutral">&nbsp;</span>
742
- <span class="cline-any cline-neutral">&nbsp;</span>
743
- <span class="cline-any cline-yes">7x</span>
744
- <span class="cline-any cline-yes">6x</span>
745
- <span class="cline-any cline-yes">6x</span>
746
- <span class="cline-any cline-yes">6x</span>
747
- <span class="cline-any cline-yes">6x</span>
748
- <span class="cline-any cline-yes">6x</span>
749
- <span class="cline-any cline-yes">6x</span>
750
- <span class="cline-any cline-yes">6x</span>
751
- <span class="cline-any cline-yes">7x</span>
752
- <span class="cline-any cline-yes">1x</span>
753
- <span class="cline-any cline-yes">1x</span>
754
- <span class="cline-any cline-neutral">&nbsp;</span>
755
- <span class="cline-any cline-neutral">&nbsp;</span>
756
- <span class="cline-any cline-neutral">&nbsp;</span>
757
- <span class="cline-any cline-neutral">&nbsp;</span>
758
- <span class="cline-any cline-neutral">&nbsp;</span>
759
- <span class="cline-any cline-yes">1x</span>
760
- <span class="cline-any cline-yes">10x</span>
761
- <span class="cline-any cline-yes">10x</span>
762
- <span class="cline-any cline-yes">6x</span>
763
- <span class="cline-any cline-yes">6x</span>
764
- <span class="cline-any cline-yes">6x</span>
765
- <span class="cline-any cline-yes">6x</span>
766
- <span class="cline-any cline-yes">6x</span>
767
- <span class="cline-any cline-yes">10x</span>
768
- <span class="cline-any cline-neutral">&nbsp;</span>
769
- <span class="cline-any cline-yes">1x</span>
770
- <span class="cline-any cline-yes">8x</span>
771
- <span class="cline-any cline-yes">8x</span>
772
- <span class="cline-any cline-yes">8x</span>
773
- <span class="cline-any cline-yes">6x</span>
774
- <span class="cline-any cline-yes">6x</span>
775
- <span class="cline-any cline-yes">6x</span>
776
- <span class="cline-any cline-yes">6x</span>
777
- <span class="cline-any cline-yes">6x</span>
778
- <span class="cline-any cline-yes">6x</span>
779
- <span class="cline-any cline-yes">8x</span>
780
- <span class="cline-any cline-neutral">&nbsp;</span>
781
- <span class="cline-any cline-neutral">&nbsp;</span>
782
- <span class="cline-any cline-neutral">&nbsp;</span>
783
- <span class="cline-any cline-neutral">&nbsp;</span>
784
- <span class="cline-any cline-neutral">&nbsp;</span>
785
- <span class="cline-any cline-neutral">&nbsp;</span>
786
- <span class="cline-any cline-yes">1x</span>
787
- <span class="cline-any cline-yes">3x</span>
788
- <span class="cline-any cline-yes">3x</span>
789
- <span class="cline-any cline-neutral">&nbsp;</span>
790
- <span class="cline-any cline-neutral">&nbsp;</span>
791
- <span class="cline-any cline-neutral">&nbsp;</span>
792
- <span class="cline-any cline-neutral">&nbsp;</span>
793
- <span class="cline-any cline-neutral">&nbsp;</span>
794
- <span class="cline-any cline-yes">1x</span>
795
- <span class="cline-any cline-yes">1x</span>
796
- <span class="cline-any cline-yes">1x</span>
797
- <span class="cline-any cline-yes">1x</span>
798
- <span class="cline-any cline-neutral">&nbsp;</span>
799
- <span class="cline-any cline-neutral">&nbsp;</span>
800
- <span class="cline-any cline-yes">1x</span>
801
- <span class="cline-any cline-neutral">&nbsp;</span>
802
- <span class="cline-any cline-yes">1x</span>
803
- <span class="cline-any cline-yes">1x</span>
804
- <span class="cline-any cline-yes">1x</span>
805
- <span class="cline-any cline-yes">2x</span>
806
- <span class="cline-any cline-yes">2x</span>
807
- <span class="cline-any cline-neutral">&nbsp;</span>
808
- <span class="cline-any cline-yes">1x</span>
809
- <span class="cline-any cline-yes">2x</span>
810
- <span class="cline-any cline-yes">2x</span>
811
- <span class="cline-any cline-yes">2x</span>
812
- <span class="cline-any cline-neutral">&nbsp;</span>
813
- <span class="cline-any cline-yes">2x</span>
814
- <span class="cline-any cline-neutral">&nbsp;</span>
815
- <span class="cline-any cline-neutral">&nbsp;</span>
816
- <span class="cline-any cline-yes">1x</span>
817
- <span class="cline-any cline-yes">1x</span>
818
- <span class="cline-any cline-yes">1x</span>
819
- <span class="cline-any cline-neutral">&nbsp;</span>
820
- <span class="cline-any cline-neutral">&nbsp;</span>
821
- <span class="cline-any cline-neutral">&nbsp;</span>
822
- <span class="cline-any cline-neutral">&nbsp;</span>
823
- <span class="cline-any cline-neutral">&nbsp;</span>
824
- <span class="cline-any cline-neutral">&nbsp;</span>
825
- <span class="cline-any cline-neutral">&nbsp;</span>
826
- <span class="cline-any cline-yes">1x</span>
827
- <span class="cline-any cline-neutral">&nbsp;</span>
828
- <span class="cline-any cline-yes">17x</span>
829
- <span class="cline-any cline-neutral">&nbsp;</span>
830
- <span class="cline-any cline-yes">8x</span>
831
- <span class="cline-any cline-yes">8x</span>
832
- <span class="cline-any cline-yes">8x</span>
833
- <span class="cline-any cline-yes">8x</span>
834
- <span class="cline-any cline-neutral">&nbsp;</span>
835
- <span class="cline-any cline-yes">8x</span>
836
- <span class="cline-any cline-yes">17x</span>
837
- <span class="cline-any cline-neutral">&nbsp;</span>
838
- <span class="cline-any cline-yes">9x</span>
839
- <span class="cline-any cline-yes">9x</span>
840
- <span class="cline-any cline-yes">17x</span>
841
- <span class="cline-any cline-neutral">&nbsp;</span>
842
- <span class="cline-any cline-neutral">&nbsp;</span>
843
- <span class="cline-any cline-yes">1x</span>
844
- <span class="cline-any cline-yes">2x</span>
845
- <span class="cline-any cline-yes">2x</span>
846
- <span class="cline-any cline-yes">1x</span>
847
- <span class="cline-any cline-yes">1x</span>
848
- <span class="cline-any cline-yes">2x</span>
849
- <span class="cline-any cline-neutral">&nbsp;</span>
850
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import type { ApplicationRef, ComponentRef, Type, ViewContainerRef } from '@angular/core';
851
- import type {
852
- EventSubscription,
853
- OnBeforeRowDetailToggleArgs,
854
- OnRowBackOrOutOfViewportRangeArgs,
855
- RxJsFacade,
856
- SlickGrid,
857
- } from '@slickgrid-universal/common';
858
- import {
859
- addToArrayWhenNotExists,
860
- castObservableToPromise,
861
- createDomElement,
862
- SlickEventData,
863
- SlickRowSelectionModel,
864
- unsubscribeAll,
865
- } from '@slickgrid-universal/common';
866
- import type { EventPubSubService } from '@slickgrid-universal/event-pub-sub';
867
- import { SlickRowDetailView as UniversalSlickRowDetailView } from '@slickgrid-universal/row-detail-view-plugin';
868
- import { Observable, type Subject } from 'rxjs';
869
- &nbsp;
870
- import type { GridOption, RowDetailView } from '../models/index.js';
871
- import type { AngularUtilService } from '../services/angularUtil.service.js';
872
- &nbsp;
873
- const ROW_DETAIL_CONTAINER_PREFIX = 'container_';
874
- const PRELOAD_CONTAINER_PREFIX = 'container_loading';
875
- &nbsp;
876
- export interface CreatedView {
877
- id: string | number;
878
- dataContext: any;
879
- componentRef?: ComponentRef&lt;any&gt;;
880
- rendered?: boolean;
881
- }
882
- &nbsp;
883
- export class SlickRowDetailView extends UniversalSlickRowDetailView {
884
- rowDetailContainer!: ViewContainerRef;
885
- protected _preloadComponent: Type&lt;object&gt; | undefined;
886
- protected _preloadCompRef?: ComponentRef&lt;any&gt;;
887
- protected _views: CreatedView[] = [];
888
- protected _viewComponent!: Type&lt;object&gt;;
889
- protected _subscriptions: EventSubscription[] = [];
890
- protected _userProcessFn!: (item: any) =&gt; Promise&lt;any&gt; | Observable&lt;any&gt; | Subject&lt;any&gt;;
891
- &nbsp;
892
- constructor(
893
- protected readonly angularUtilService: AngularUtilService,
894
- protected readonly appRef: ApplicationRef,
895
- protected readonly eventPubSubService: EventPubSubService,
896
- protected readonly gridContainerElement: HTMLDivElement,
897
- protected rxjs?: RxJsFacade
898
- ) {
899
- super(eventPubSubService);
900
- }
901
- &nbsp;
902
- get addonOptions() {
903
- return this.getOptions();
904
- }
905
- &nbsp;
906
- protected get datasetIdPropName(): string {
907
- return this.gridOptions.<span class="branch-0 cbranch-no" title="branch not covered" >datasetIdPropertyName || 'id';</span>
908
- }
909
- &nbsp;
910
- /** Getter for the Grid Options pulled through the Grid Object */
911
- get gridOptions(): GridOption {
912
- return (this._grid?.getOptions() || {}) as GridOption;
913
- }
914
- &nbsp;
915
- get rowDetailViewOptions(): RowDetailView | undefined {
916
- return this.gridOptions.rowDetailView;
917
- }
918
- &nbsp;
919
- addRxJsResource(rxjs: RxJsFacade) {
920
- this.rxjs = rxjs;
921
- }
922
- &nbsp;
923
- /** Dispose of the RowDetailView Extension */
924
- dispose() {
925
- this.disposeAllViewComponents();
926
- this._subscriptions = unsubscribeAll(this._subscriptions); // also unsubscribe all RxJS subscriptions
927
- super.dispose();
928
- }
929
- &nbsp;
930
- /** Dispose of all the opened Row Detail Panels Angular View Components */
931
- disposeAllViewComponents() {
932
- do {
933
- const view = this._views.pop();
934
- if (view) {
935
- this.disposeView(view);
936
- }
937
- } while (this._views.length &gt; 0);
938
- }
939
- &nbsp;
940
- /** Get the instance of the SlickGrid addon (control or plugin). */
941
- getAddonInstance(): SlickRowDetailView | null {
942
- return this;
943
- }
944
- &nbsp;
945
- init(grid: SlickGrid) {
946
- this._grid = grid;
947
- super.init(this._grid);
948
- this.register(grid<span class="branch-0 cbranch-no" title="branch not covered" >?.g</span>etSelectionModel() as SlickRowSelectionModel);
949
- }
950
- &nbsp;
951
- /**
952
- * Create the plugin before the Grid creation, else it will behave oddly.
953
- * Mostly because the column definitions might change after the grid creation
954
- */
955
- register(rowSelectionPlugin?: SlickRowSelectionModel) {
956
- if (typeof this.gridOptions.rowDetailView?.process === 'function') {
957
- // we need to keep the user "process" method and replace it with our own execution method
958
- // we do this because when we get the item detail, we need to call "onAsyncResponse.notify" for the plugin to work
959
- this._userProcessFn = this.gridOptions.rowDetailView.process as (item: any) =&gt; Promise&lt;any&gt;; // keep user's process method
960
- this.addonOptions.process = (item) =&gt; this.onProcessing(item); // replace process method &amp; run our internal one
961
- } else {
962
- throw new Error('[Angular-Slickgrid] You need to provide a "process" function for the Row Detail Extension to work properly');
963
- }
964
- &nbsp;
965
- if (this._grid &amp;&amp; this.gridOptions<span class="branch-0 cbranch-no" title="branch not covered" >?.r</span>owDetailView) {
966
- // load the Preload &amp; RowDetail Templates (could be straight HTML or Angular View/ViewModel)
967
- // when those are Angular View/ViewModel, we need to create View Component &amp; provide the html containers to the Plugin (preTemplate/postTemplate methods)
968
- if (!this.gridOptions.rowDetailView.preTemplate) {
969
- this._preloadComponent = this.gridOptions<span class="branch-0 cbranch-no" title="branch not covered" >?.r</span>owDetailView<span class="branch-0 cbranch-no" title="branch not covered" >?.p</span>reloadComponent;
970
- this.addonOptions.preTemplate = () =&gt; createDomElement('div', { className: `${PRELOAD_CONTAINER_PREFIX}` });
971
- }
972
- if (!this.gridOptions.rowDetailView.postTemplate) {
973
- this._viewComponent = this.gridOptions<span class="branch-0 cbranch-no" title="branch not covered" >?.r</span>owDetailView<span class="branch-0 cbranch-no" title="branch not covered" >?.v</span>iewComponent;
974
- this.addonOptions.postTemplate = (itemDetail: any) =&gt;
975
- createDomElement('div', { className: `${ROW_DETAIL_CONTAINER_PREFIX}${itemDetail[this.datasetIdPropName]}` });
976
- }
977
- &nbsp;
978
- // this also requires the Row Selection Model to be registered as well
979
- if (!<span class="branch-0 cbranch-no" title="branch not covered" >rowSelectionPlugin || !this._grid.getSelectionModel()) {</span>
980
- rowSelectionPlugin = new SlickRowSelectionModel(this.gridOptions.rowSelectionOptions || { selectActiveRow: true });
981
- this._grid.setSelectionModel(rowSelectionPlugin);
982
- }
983
- &nbsp;
984
- // hook all events
985
- if (this._grid &amp;&amp; this.rowDetailViewOptions) {
986
- if (this.rowDetailViewOptions.onExtensionRegistered) {
987
- this.rowDetailViewOptions.onExtensionRegistered(this);
988
- }
989
- &nbsp;
990
- this.eventHandler.subscribe(this.onAsyncResponse, (event, args) =&gt; {
991
- if (this.rowDetailViewOptions &amp;&amp; typeof this.rowDetailViewOptions.onAsyncResponse === 'function') {
992
- this.rowDetailViewOptions.onAsyncResponse(event, args);
993
- }
994
- });
995
- &nbsp;
996
- this.eventHandler.subscribe(this.onAsyncEndUpdate, (e, args) =&gt; {
997
- // destroy preload if exists
998
- this._preloadCompRef<span class="branch-0 cbranch-no" title="branch not covered" >?.destroy();</span>
999
- &nbsp;
1000
- // triggers after backend called "onAsyncResponse.notify()"
1001
- this.renderViewModel(args<span class="branch-0 cbranch-no" title="branch not covered" >?.i</span>tem);
1002
- &nbsp;
1003
- if (this.rowDetailViewOptions &amp;&amp; typeof this.rowDetailViewOptions.onAsyncEndUpdate === 'function') {
1004
- this.rowDetailViewOptions.onAsyncEndUpdate(e, args);
1005
- }
1006
- });
1007
- &nbsp;
1008
- this.eventHandler.subscribe(
1009
- this.onAfterRowDetailToggle,
1010
- (e: any, args: { grid: SlickGrid; item: any; expandedRows: Array&lt;number | string&gt; }) =&gt; {
1011
- // display preload template &amp; re-render all the other Detail Views after toggling
1012
- // the preload View will eventually go away once the data gets loaded after the "onAsyncEndUpdate" event
1013
- this.renderPreloadView();
1014
- &nbsp;
1015
- if (this.rowDetailViewOptions &amp;&amp; typeof this.rowDetailViewOptions.onAfterRowDetailToggle === 'function') {
1016
- this.rowDetailViewOptions.onAfterRowDetailToggle(e, args);
1017
- }
1018
- }
1019
- );
1020
- &nbsp;
1021
- this.eventHandler.subscribe(this.onBeforeRowDetailToggle, (e, args) =&gt; {
1022
- // before toggling row detail, we need to create View Component if it doesn't exist
1023
- this.handleOnBeforeRowDetailToggle(e, args);
1024
- &nbsp;
1025
- if (this.rowDetailViewOptions &amp;&amp; typeof this.rowDetailViewOptions.onBeforeRowDetailToggle === 'function') {
1026
- return this.rowDetailViewOptions.onBeforeRowDetailToggle(e, args);
1027
- }
1028
- return true;
1029
- });
1030
- &nbsp;
1031
- this.eventHandler.subscribe(this.onRowBackToViewportRange, (e, args) =&gt; {
1032
- // when row is back to viewport range, we will re-render the View Component(s)
1033
- this.handleOnRowBackToViewportRange(e, args);
1034
- &nbsp;
1035
- if (this.rowDetailViewOptions &amp;&amp; typeof this.rowDetailViewOptions.onRowBackToViewportRange === 'function') {
1036
- this.rowDetailViewOptions.onRowBackToViewportRange(e, args);
1037
- }
1038
- });
1039
- &nbsp;
1040
- this._eventHandler.subscribe(this.onBeforeRowOutOfViewportRange, (event, args) =&gt; {
1041
- if (typeof this.rowDetailViewOptions<span class="branch-0 cbranch-no" title="branch not covered" >?.o</span>nBeforeRowOutOfViewportRange === 'function') {
1042
- this.rowDetailViewOptions.onBeforeRowOutOfViewportRange(event, args);
1043
- }
1044
- this.disposeViewByItem(args.item);
1045
- });
1046
- &nbsp;
1047
- this.eventHandler.subscribe(this.onRowOutOfViewportRange, (e, args) =&gt; {
1048
- if (this.rowDetailViewOptions &amp;&amp; typeof this.rowDetailViewOptions.onRowOutOfViewportRange === 'function') {
1049
- this.rowDetailViewOptions.onRowOutOfViewportRange(e, args);
1050
- }
1051
- });
1052
- &nbsp;
1053
- // --
1054
- // hook some events needed by the Plugin itself
1055
- &nbsp;
1056
- // we need to redraw the open detail views if we change column position (column reorder)
1057
- this.eventHandler.subscribe(this._grid.onColumnsReordered, this.redrawAllViewComponents.bind(this, false));
1058
- &nbsp;
1059
- // on row selection changed, we also need to redraw
1060
- if (this.gridOptions.enableRowSelection || this.gridOptions.enableCheckboxSelector) {
1061
- this.eventHandler.subscribe(this._grid.onSelectedRowsChanged, this.redrawAllViewComponents.bind(this, false));
1062
- }
1063
- &nbsp;
1064
- // on sort, all row detail are collapsed so we can dispose of all the Views as well
1065
- this.eventHandler.subscribe(this._grid.onSort, this.disposeAllViewComponents.bind(this));
1066
- &nbsp;
1067
- // redraw all Views whenever certain events are triggered
1068
- this._subscriptions.push(
1069
- this.eventPubSubService<span class="branch-0 cbranch-no" title="branch not covered" >?.s</span>ubscribe(
1070
- ['onFilterChanged', 'onGridMenuColumnsChanged', 'onColumnPickerColumnsChanged'],
1071
- this.redrawAllViewComponents.bind(this, false)
1072
- ),
1073
- this.eventPubSubService<span class="branch-0 cbranch-no" title="branch not covered" >?.s</span>ubscribe(['onGridMenuClearAllFilters', 'onGridMenuClearAllSorting'], () =&gt;
1074
- window.setTimeout(() =&gt; this.redrawAllViewComponents())
1075
- )
1076
- );
1077
- }
1078
- }
1079
- return this;
1080
- }
1081
- &nbsp;
1082
- /** Redraw (re-render) all the expanded row detail View Components */
1083
- redrawAllViewComponents(forceRedraw = false) {
1084
- this.resetRenderedRows();
1085
- this._views.forEach((view) =&gt; {
1086
- if (!view.rendered || forceRedraw) {
1087
- <span class="branch-0 cbranch-no" title="branch not covered" > forceRedraw &amp;&amp; view.componentRef?.destroy();</span>
1088
- this.redrawViewComponent(view);
1089
- }
1090
- });
1091
- }
1092
- &nbsp;
1093
- /** Redraw the necessary View Component */
1094
- redrawViewComponent(createdView: CreatedView) {
1095
- const containerElement = this.gridContainerElement.querySelector(`.${ROW_DETAIL_CONTAINER_PREFIX}${createdView.id}`);
1096
- if (containerElement) {
1097
- this.renderViewModel(createdView.dataContext);
1098
- }
1099
- }
1100
- &nbsp;
1101
- /** Render (or re-render) the View Component (Row Detail) */
1102
- renderPreloadView() {
1103
- const containerElement = this.gridContainerElement.querySelector(`.${PRELOAD_CONTAINER_PREFIX}`);
1104
- if (this._preloadComponent &amp;&amp; containerElement) {
1105
- const preloadComp = this.angularUtilService.createAngularComponentAppendToDom(
1106
- this._preloadComponent,
1107
- containerElement,
1108
- {},
1109
- { sanitizer: this._grid.sanitizeHtmlString }
1110
- );
1111
- this._preloadCompRef = preloadComp.componentRef;
1112
- }
1113
- }
1114
- &nbsp;
1115
- /** Render (or re-render) the View Component (Row Detail) */
1116
- renderViewModel(item: any): CreatedView | undefined {
1117
- const containerElement = this.gridContainerElement.querySelector(`.${ROW_DETAIL_CONTAINER_PREFIX}${item[this.datasetIdPropName]}`);
1118
- if (this._viewComponent &amp;&amp; containerElement) {
1119
- // render row detail
1120
- const componentOutput = this.angularUtilService.createAngularComponentAppendToDom(
1121
- this._viewComponent,
1122
- containerElement,
1123
- {
1124
- model: item,
1125
- addon: this,
1126
- grid: this._grid,
1127
- dataView: this.dataView,
1128
- parentRef: this.rowDetailViewOptions<span class="branch-0 cbranch-no" title="branch not covered" >?.p</span>arentRef,
1129
- },
1130
- {
1131
- sanitizer: this._grid.sanitizeHtmlString,
1132
- }
1133
- );
1134
- &nbsp;
1135
- if (componentOutput?.componentRef) {
1136
- const viewObj = this._views.find((obj) =&gt; obj.id === item[this.datasetIdPropName]);
1137
- if (viewObj) {
1138
- viewObj.componentRef = componentOutput.componentRef;
1139
- viewObj.rendered = true;
1140
- }
1141
- return viewObj;
1142
- }
1143
- }
1144
- return undefined;
1145
- }
1146
- &nbsp;
1147
- // --
1148
- // protected functions
1149
- // ------------------
1150
- &nbsp;
1151
- protected disposeViewByItem(item: any, removeFromArray = false): void {
1152
- const foundViewIndex = this._views.findIndex((view: CreatedView) =&gt; view.id === item[this.datasetIdPropName]);
1153
- if (foundViewIndex &gt;= 0) {
1154
- this.disposeView(this._views[foundViewIndex]);
1155
- if (removeFromArray) {
1156
- this._views.splice(foundViewIndex, 1);
1157
- }
1158
- }
1159
- }
1160
- &nbsp;
1161
- protected disposeView(expandedView: CreatedView): CreatedView | void {
1162
- expandedView.rendered = false;
1163
- const compRef = expandedView<span class="branch-0 cbranch-no" title="branch not covered" >?.c</span>omponentRef;
1164
- if (compRef) {
1165
- this.appRef.detachView(compRef.hostView);
1166
- if (typeof compRef<span class="branch-0 cbranch-no" title="branch not covered" >?.d</span>estroy === 'function') {
1167
- compRef.destroy();
1168
- }
1169
- return expandedView;
1170
- }
1171
- }
1172
- &nbsp;
1173
- /**
1174
- * notify the onAsyncResponse with the "args.item" (required property)
1175
- * the plugin will then use item to populate the row detail panel with the "postTemplate"
1176
- * @param item
1177
- */
1178
- protected notifyTemplate(item: any) {
1179
- this.onAsyncResponse.notify({ item }, new SlickEventData(), this);
1180
- }
1181
- &nbsp;
1182
- /**
1183
- * On Processing, we will notify the plugin with the new item detail once backend server call completes
1184
- * @param item
1185
- */
1186
- protected async onProcessing(item: any) {
1187
- if (item &amp;&amp; typeof this._userProcessFn === 'function') {
1188
- let awaitedItemDetail: any;
1189
- const userProcessFn = this._userProcessFn(item);
1190
- &nbsp;
1191
- // wait for the "userProcessFn", once resolved we will save it into the "collection"
1192
- const response: any | any[] = await userProcessFn;
1193
- &nbsp;
1194
- if (this.datasetIdPropName in response) {
1195
- awaitedItemDetail = response; // from Promise
1196
- } else if ((response &amp;&amp; response instanceof Observable) || response instanceof Promise) {
1197
- awaitedItemDetail = await castObservableToPromise(this.rxjs as RxJsFacade, response); // from Angular-http-client
1198
- }
1199
- &nbsp;
1200
- if (!awaitedItemDetail || !(this.datasetIdPropName in awaitedItemDetail)) {
1201
- throw new Error(
1202
- '[Angular-Slickgrid] could not process the Row Detail, you must make sure that your "process" callback ' +
1203
- `returns an item object that has an "${this.datasetIdPropName}" property`
1204
- );
1205
- }
1206
- &nbsp;
1207
- // notify the plugin with the new item details
1208
- this.notifyTemplate(<span class="branch-0 cbranch-no" title="branch not covered" >awaitedItemDetail || {})</span>;
1209
- }
1210
- }
1211
- &nbsp;
1212
- /**
1213
- * Just before the row get expanded or collapsed we will do the following
1214
- * First determine if the row is expanding or collapsing,
1215
- * if it's expanding we will add it to our View Components reference array if we don't already have it
1216
- * or if it's collapsing we will remove it from our View Components reference array
1217
- */
1218
- protected handleOnBeforeRowDetailToggle(_e: SlickEventData&lt;OnBeforeRowDetailToggleArgs&gt;, args: { grid: SlickGrid; item: any }) {
1219
- // expanding
1220
- if (args<span class="branch-0 cbranch-no" title="branch not covered" >?.i</span>tem<span class="branch-0 cbranch-no" title="branch not covered" >?._</span>_collapsed) {
1221
- // expanding row detail
1222
- const viewInfo: CreatedView = {
1223
- id: args.item[this.datasetIdPropName],
1224
- dataContext: args.item,
1225
- rendered: false,
1226
- };
1227
- addToArrayWhenNotExists(this._views, viewInfo, this.datasetIdPropName);
1228
- } else {
1229
- // collapsing, so dispose of the View/Component
1230
- this.disposeViewByItem(args.item, true);
1231
- }
1232
- }
1233
- &nbsp;
1234
- /** When Row comes back to Viewport Range, we need to redraw the View */
1235
- protected handleOnRowBackToViewportRange(_e: SlickEventData&lt;OnRowBackOrOutOfViewportRangeArgs&gt;, args: OnRowBackOrOutOfViewportRangeArgs) {
1236
- const viewModel = this._views.find((x) =&gt; x.id === args.rowId);
1237
- if (viewModel &amp;&amp; !viewModel.rendered) {
1238
- this.redrawViewComponent(viewModel);
1239
- }
1240
- }
1241
- }
1242
- &nbsp;</pre></td></tr></table></pre>
1243
-
1244
- <div class='push'></div><!-- for sticky footer -->
1245
- </div><!-- /wrapper -->
1246
- <div class='footer quiet pad2 space-top1 center small'>
1247
- Code coverage generated by
1248
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1249
- at 2025-04-27T02:47:48.882Z
1250
- </div>
1251
- <script src="../../prettify.js"></script>
1252
- <script>
1253
- window.onload = function () {
1254
- prettyPrint();
1255
- };
1256
- </script>
1257
- <script src="../../sorter.js"></script>
1258
- <script src="../../block-navigation.js"></script>
1259
- </body>
1260
- </html>
1261
-