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.
- package/LICENSE +1 -1
- package/{dist/fesm2022 → fesm2022}/angular-slickgrid.mjs +16 -16
- package/package.json +27 -14
- package/.gitbook.yaml +0 -5
- package/CHANGELOG.md +0 -1691
- package/CONTRIBUTING.md +0 -17
- package/angular.json +0 -133
- package/coverage/base.css +0 -224
- package/coverage/block-navigation.js +0 -87
- package/coverage/clover.xml +0 -1620
- package/coverage/coverage-final.json +0 -9
- package/coverage/favicon.png +0 -0
- package/coverage/index.html +0 -176
- package/coverage/library/components/angular-slickgrid.component.ts.html +0 -5074
- package/coverage/library/components/index.html +0 -116
- package/coverage/library/constants.ts.html +0 -397
- package/coverage/library/extensions/index.html +0 -116
- package/coverage/library/extensions/slickRowDetailView.ts.html +0 -1261
- package/coverage/library/index.html +0 -116
- package/coverage/library/modules/angular-slickgrid.module.ts.html +0 -166
- package/coverage/library/modules/index.html +0 -116
- package/coverage/library/services/angularUtil.service.ts.html +0 -445
- package/coverage/library/services/container.service.ts.html +0 -163
- package/coverage/library/services/index.html +0 -161
- package/coverage/library/services/translater.service.ts.html +0 -199
- package/coverage/library/services/utilities.ts.html +0 -142
- package/coverage/prettify.css +0 -1
- package/coverage/prettify.js +0 -2
- package/coverage/sort-arrow-sprite.png +0 -0
- package/coverage/sorter.js +0 -196
- package/dist/LICENSE +0 -21
- package/dist/README.md +0 -142
- package/docs/README.md +0 -5
- package/docs/TOC.md +0 -105
- package/docs/backend-services/Custom-Backend-Service.md +0 -50
- package/docs/backend-services/GraphQL.md +0 -276
- package/docs/backend-services/OData.md +0 -245
- package/docs/backend-services/graphql/GraphQL-Filtering.md +0 -156
- package/docs/backend-services/graphql/GraphQL-JSON-Result.md +0 -85
- package/docs/backend-services/graphql/GraphQL-Pagination.md +0 -77
- package/docs/backend-services/graphql/GraphQL-Sorting.md +0 -78
- package/docs/column-functionalities/cell-menu.md +0 -212
- package/docs/column-functionalities/editors/autocomplete-editor.md +0 -466
- package/docs/column-functionalities/editors/date-editor-flatpickr.md +0 -71
- package/docs/column-functionalities/editors/date-editor-vanilla-calendar.md +0 -91
- package/docs/column-functionalities/editors/longtext-editor-textarea.md +0 -80
- package/docs/column-functionalities/editors/select-dropdown-editor.md +0 -227
- package/docs/column-functionalities/editors.md +0 -604
- package/docs/column-functionalities/filters/autocomplete-filter.md +0 -183
- package/docs/column-functionalities/filters/compound-filters.md +0 -234
- package/docs/column-functionalities/filters/custom-filter.md +0 -117
- package/docs/column-functionalities/filters/filter-intro.md +0 -81
- package/docs/column-functionalities/filters/input-filter.md +0 -260
- package/docs/column-functionalities/filters/range-filters.md +0 -188
- package/docs/column-functionalities/filters/select-filter.md +0 -695
- package/docs/column-functionalities/filters/single-search-filter.md +0 -77
- package/docs/column-functionalities/filters/styling-filled-filters.md +0 -45
- package/docs/column-functionalities/formatters.md +0 -325
- package/docs/column-functionalities/sorting.md +0 -200
- package/docs/developer-guides/csp-compliance.md +0 -64
- package/docs/events/Available-Events.md +0 -223
- package/docs/events/Grid-&-DataView-Events.md +0 -211
- package/docs/getting-started/quick-start.md +0 -230
- package/docs/getting-started/troubleshooting.md +0 -80
- package/docs/grid-functionalities/Column-Picker.md +0 -22
- package/docs/grid-functionalities/Composite-Editor-Modal.md +0 -627
- package/docs/grid-functionalities/Context-Menu.md +0 -226
- package/docs/grid-functionalities/Custom-Footer.md +0 -80
- package/docs/grid-functionalities/Custom-Tooltip-(plugin).md +0 -258
- package/docs/grid-functionalities/Export-to-Excel.md +0 -457
- package/docs/grid-functionalities/Export-to-Text-File.md +0 -165
- package/docs/grid-functionalities/FAQ.md +0 -53
- package/docs/grid-functionalities/Global-Options.md +0 -29
- package/docs/grid-functionalities/Grid-Auto-Resize.md +0 -218
- package/docs/grid-functionalities/Grid-Menu.md +0 -134
- package/docs/grid-functionalities/Grid-State-&-Preset.md +0 -245
- package/docs/grid-functionalities/Header-Menu-&-Header-Buttons.md +0 -125
- package/docs/grid-functionalities/Resize-by-Cell-Content.md +0 -138
- package/docs/grid-functionalities/Row-Selection.md +0 -247
- package/docs/grid-functionalities/Row-based-edit.md +0 -71
- package/docs/grid-functionalities/add-update-highlight.md +0 -258
- package/docs/grid-functionalities/column-row-spanning.md +0 -74
- package/docs/grid-functionalities/dynamic-item-metadata.md +0 -124
- package/docs/grid-functionalities/excel-copy-buffer.md +0 -145
- package/docs/grid-functionalities/frozen-columns-rows.md +0 -164
- package/docs/grid-functionalities/grouping-and-aggregators.md +0 -269
- package/docs/grid-functionalities/header-footer-slots.md +0 -22
- package/docs/grid-functionalities/infinite-scroll.md +0 -150
- package/docs/grid-functionalities/providing-grid-data.md +0 -61
- package/docs/grid-functionalities/row-detail.md +0 -530
- package/docs/grid-functionalities/tree-data-grid.md +0 -391
- package/docs/localization/Localization---Component-Sample.md +0 -87
- package/docs/localization/Localization-with-Custom-Locales.md +0 -66
- package/docs/localization/Localization-with-ngx-translate.md +0 -148
- package/docs/migrations/migration-to-2.x.md +0 -304
- package/docs/migrations/migration-to-3.x.md +0 -295
- package/docs/migrations/migration-to-4.x.md +0 -83
- package/docs/migrations/migration-to-5.x.md +0 -160
- package/docs/migrations/migration-to-6.x.md +0 -128
- package/docs/migrations/migration-to-7.x.md +0 -294
- package/docs/migrations/migration-to-8.x.md +0 -316
- package/docs/migrations/migration-to-9.x.md +0 -219
- package/docs/slick-grid-dataview-objects/slickgrid-dataview-objects.md +0 -79
- package/docs/styling/dark-mode.md +0 -100
- package/docs/styling/styling.md +0 -250
- package/docs/testing/testing-patterns.md +0 -73
- package/eslint.config.mjs +0 -60
- package/ng-package.json +0 -10
- package/src/assets/angular-logo.png +0 -0
- package/src/assets/angular-logo2.png +0 -0
- package/src/assets/data/collection_100_numbers.json +0 -12
- package/src/assets/data/collection_500_numbers.json +0 -52
- package/src/assets/data/countries.json +0 -245
- package/src/assets/data/country_names.json +0 -245
- package/src/assets/data/customers_100.json +0 -102
- package/src/assets/data/users.csv +0 -5
- package/src/assets/i18n/en.json +0 -102
- package/src/assets/i18n/fr.json +0 -103
- package/src/demos/app-routing.module.ts +0 -108
- package/src/demos/app.component.html +0 -187
- package/src/demos/app.component.scss +0 -79
- package/src/demos/app.component.ts +0 -11
- package/src/demos/app.module.ts +0 -196
- package/src/demos/environments/environment.dev.ts +0 -3
- package/src/demos/environments/environment.prod.ts +0 -3
- package/src/demos/environments/environment.ts +0 -8
- package/src/demos/examples/custom-angularComponentEditor.ts +0 -187
- package/src/demos/examples/custom-angularComponentFilter.ts +0 -123
- package/src/demos/examples/custom-buttonFormatter.component.ts +0 -13
- package/src/demos/examples/custom-inputEditor.ts +0 -132
- package/src/demos/examples/custom-inputFilter.ts +0 -134
- package/src/demos/examples/custom-titleFormatter.component.ts +0 -9
- package/src/demos/examples/data/collection_100_numbers.json +0 -12
- package/src/demos/examples/data/collection_500_numbers.json +0 -52
- package/src/demos/examples/data/countries.json +0 -245
- package/src/demos/examples/data/country_names.json +0 -245
- package/src/demos/examples/data/customers_100.json +0 -102
- package/src/demos/examples/data/users.csv +0 -5
- package/src/demos/examples/editor-ng-select.component.ts +0 -38
- package/src/demos/examples/example01.component.html +0 -48
- package/src/demos/examples/example01.component.ts +0 -109
- package/src/demos/examples/example02.component.html +0 -45
- package/src/demos/examples/example02.component.ts +0 -218
- package/src/demos/examples/example03.component.html +0 -118
- package/src/demos/examples/example03.component.ts +0 -694
- package/src/demos/examples/example04.component.html +0 -87
- package/src/demos/examples/example04.component.ts +0 -326
- package/src/demos/examples/example05.component.html +0 -151
- package/src/demos/examples/example05.component.ts +0 -474
- package/src/demos/examples/example06.component.html +0 -163
- package/src/demos/examples/example06.component.ts +0 -446
- package/src/demos/examples/example07.component.html +0 -56
- package/src/demos/examples/example07.component.scss +0 -10
- package/src/demos/examples/example07.component.ts +0 -216
- package/src/demos/examples/example08.component.html +0 -51
- package/src/demos/examples/example08.component.scss +0 -23
- package/src/demos/examples/example08.component.ts +0 -195
- package/src/demos/examples/example09.component.html +0 -55
- package/src/demos/examples/example09.component.scss +0 -22
- package/src/demos/examples/example09.component.ts +0 -302
- package/src/demos/examples/example10.component.html +0 -103
- package/src/demos/examples/example10.component.ts +0 -309
- package/src/demos/examples/example11.component.html +0 -91
- package/src/demos/examples/example11.component.ts +0 -276
- package/src/demos/examples/example12.component.html +0 -98
- package/src/demos/examples/example12.component.ts +0 -317
- package/src/demos/examples/example13.component.html +0 -96
- package/src/demos/examples/example13.component.ts +0 -370
- package/src/demos/examples/example14.component.html +0 -50
- package/src/demos/examples/example14.component.scss +0 -11
- package/src/demos/examples/example14.component.ts +0 -156
- package/src/demos/examples/example15.component.html +0 -56
- package/src/demos/examples/example15.component.ts +0 -304
- package/src/demos/examples/example16.component.html +0 -77
- package/src/demos/examples/example16.component.ts +0 -277
- package/src/demos/examples/example17.component.html +0 -50
- package/src/demos/examples/example17.component.ts +0 -109
- package/src/demos/examples/example18.component.html +0 -132
- package/src/demos/examples/example18.component.ts +0 -445
- package/src/demos/examples/example19-rowdetail.component.html +0 -40
- package/src/demos/examples/example19-rowdetail.component.ts +0 -54
- package/src/demos/examples/example19.component.html +0 -79
- package/src/demos/examples/example19.component.ts +0 -316
- package/src/demos/examples/example20.component.html +0 -76
- package/src/demos/examples/example20.component.scss +0 -11
- package/src/demos/examples/example20.component.ts +0 -341
- package/src/demos/examples/example21.component.html +0 -86
- package/src/demos/examples/example21.component.scss +0 -16
- package/src/demos/examples/example21.component.ts +0 -140
- package/src/demos/examples/example22.component.html +0 -41
- package/src/demos/examples/example22.component.ts +0 -117
- package/src/demos/examples/example23.component.html +0 -111
- package/src/demos/examples/example23.component.ts +0 -323
- package/src/demos/examples/example24.component.html +0 -120
- package/src/demos/examples/example24.component.scss +0 -62
- package/src/demos/examples/example24.component.ts +0 -641
- package/src/demos/examples/example25.component.html +0 -60
- package/src/demos/examples/example25.component.scss +0 -8
- package/src/demos/examples/example25.component.ts +0 -255
- package/src/demos/examples/example26.component.html +0 -98
- package/src/demos/examples/example26.component.scss +0 -42
- package/src/demos/examples/example26.component.ts +0 -383
- package/src/demos/examples/example27.component.html +0 -138
- package/src/demos/examples/example27.component.scss +0 -10
- package/src/demos/examples/example27.component.ts +0 -369
- package/src/demos/examples/example28.component.html +0 -143
- package/src/demos/examples/example28.component.scss +0 -54
- package/src/demos/examples/example28.component.ts +0 -453
- package/src/demos/examples/example29.component.html +0 -30
- package/src/demos/examples/example29.component.ts +0 -70
- package/src/demos/examples/example30.component.html +0 -116
- package/src/demos/examples/example30.component.scss +0 -20
- package/src/demos/examples/example30.component.ts +0 -1070
- package/src/demos/examples/example32.component.html +0 -77
- package/src/demos/examples/example32.component.scss +0 -8
- package/src/demos/examples/example32.component.ts +0 -905
- package/src/demos/examples/example33.component.html +0 -50
- package/src/demos/examples/example33.component.scss +0 -46
- package/src/demos/examples/example33.component.ts +0 -571
- package/src/demos/examples/example34.component.html +0 -82
- package/src/demos/examples/example34.component.scss +0 -77
- package/src/demos/examples/example34.component.ts +0 -434
- package/src/demos/examples/example35.component.html +0 -77
- package/src/demos/examples/example35.component.scss +0 -18
- package/src/demos/examples/example35.component.ts +0 -264
- package/src/demos/examples/example36.component.html +0 -56
- package/src/demos/examples/example36.component.scss +0 -26
- package/src/demos/examples/example36.component.ts +0 -504
- package/src/demos/examples/example37.component.html +0 -30
- package/src/demos/examples/example37.component.ts +0 -123
- package/src/demos/examples/example38.component.html +0 -104
- package/src/demos/examples/example38.component.scss +0 -8
- package/src/demos/examples/example38.component.ts +0 -420
- package/src/demos/examples/example39.component.html +0 -112
- package/src/demos/examples/example39.component.scss +0 -8
- package/src/demos/examples/example39.component.ts +0 -371
- package/src/demos/examples/example40.component.html +0 -76
- package/src/demos/examples/example40.component.ts +0 -226
- package/src/demos/examples/example41.component.html +0 -50
- package/src/demos/examples/example41.component.scss +0 -42
- package/src/demos/examples/example41.component.ts +0 -229
- package/src/demos/examples/example42.component.html +0 -47
- package/src/demos/examples/example42.component.ts +0 -203
- package/src/demos/examples/example43.component.html +0 -94
- package/src/demos/examples/example43.component.scss +0 -30
- package/src/demos/examples/example43.component.ts +0 -449
- package/src/demos/examples/example44.component.html +0 -78
- package/src/demos/examples/example44.component.scss +0 -50
- package/src/demos/examples/example44.component.ts +0 -375
- package/src/demos/examples/example45-detail.component.html +0 -15
- package/src/demos/examples/example45-detail.component.ts +0 -97
- package/src/demos/examples/example45.component.html +0 -110
- package/src/demos/examples/example45.component.scss +0 -50
- package/src/demos/examples/example45.component.ts +0 -243
- package/src/demos/examples/filter-ng-select.component.ts +0 -33
- package/src/demos/examples/grid-custom-pager.component.html +0 -60
- package/src/demos/examples/grid-custom-pager.component.scss +0 -57
- package/src/demos/examples/grid-custom-pager.component.ts +0 -107
- package/src/demos/examples/grid-remote.component.html +0 -44
- package/src/demos/examples/grid-remote.component.ts +0 -164
- package/src/demos/examples/home.component.html +0 -39
- package/src/demos/examples/home.component.ts +0 -10
- package/src/demos/examples/jsonp.ts +0 -89
- package/src/demos/examples/rowdetail-preload.component.ts +0 -10
- package/src/demos/examples/swt-common-grid-pagination.component.ts +0 -160
- package/src/demos/examples/swt-common-grid-test.component.html +0 -37
- package/src/demos/examples/swt-common-grid-test.component.ts +0 -214
- package/src/demos/examples/swt-common-grid.component.ts +0 -436
- package/src/demos/examples/swt-logger.service.ts +0 -173
- package/src/demos/examples/utilities.ts +0 -9
- package/src/favicon.ico +0 -0
- package/src/index.html +0 -17
- package/src/library/components/__tests__/angular-slickgrid.component.spec.ts +0 -2638
- package/src/library/components/angular-slickgrid.component.html +0 -5
- package/src/library/components/angular-slickgrid.component.ts +0 -1662
- package/src/library/constants.ts +0 -105
- package/src/library/extensions/__tests__/slickRowDetailView.spec.ts +0 -751
- package/src/library/extensions/index.ts +0 -1
- package/src/library/extensions/slickRowDetailView.ts +0 -395
- package/src/library/global-grid-options.ts +0 -273
- package/src/library/index.ts +0 -11
- package/src/library/models/angularComponentOutput.interface.ts +0 -6
- package/src/library/models/angularGridInstance.interface.ts +0 -76
- package/src/library/models/externalTestingDependencies.interface.ts +0 -37
- package/src/library/models/gridOption.interface.ts +0 -15
- package/src/library/models/index.ts +0 -5
- package/src/library/models/rowDetailView.interface.ts +0 -16
- package/src/library/modules/angular-slickgrid.module.spec.ts +0 -25
- package/src/library/modules/angular-slickgrid.module.ts +0 -27
- package/src/library/services/__tests__/angularUtilService.spec.ts +0 -156
- package/src/library/services/__tests__/container.service.spec.ts +0 -25
- package/src/library/services/__tests__/translater.service.spec.ts +0 -43
- package/src/library/services/__tests__/utilities.spec.ts +0 -22
- package/src/library/services/angularUtil.service.ts +0 -120
- package/src/library/services/container.service.ts +0 -26
- package/src/library/services/index.ts +0 -4
- package/src/library/services/translater.service.ts +0 -38
- package/src/library/services/utilities.ts +0 -19
- package/src/library/slickgrid-config.ts +0 -10
- package/src/main.ts +0 -13
- package/src/public_api.ts +0 -1
- package/src/styles.scss +0 -178
- package/test/cypress/e2e/example01.cy.ts +0 -367
- package/test/cypress/e2e/example02.cy.ts +0 -60
- package/test/cypress/e2e/example03.cy.ts +0 -268
- package/test/cypress/e2e/example04.cy.ts +0 -254
- package/test/cypress/e2e/example05.cy.ts +0 -804
- package/test/cypress/e2e/example06.cy.ts +0 -890
- package/test/cypress/e2e/example07.cy.ts +0 -384
- package/test/cypress/e2e/example08.cy.ts +0 -190
- package/test/cypress/e2e/example09.cy.ts +0 -392
- package/test/cypress/e2e/example10.cy.ts +0 -650
- package/test/cypress/e2e/example11.cy.ts +0 -86
- package/test/cypress/e2e/example12.cy.ts +0 -269
- package/test/cypress/e2e/example13.cy.ts +0 -246
- package/test/cypress/e2e/example14.cy.ts +0 -122
- package/test/cypress/e2e/example15.cy.ts +0 -598
- package/test/cypress/e2e/example16.cy.ts +0 -427
- package/test/cypress/e2e/example17.cy.ts +0 -83
- package/test/cypress/e2e/example18.cy.ts +0 -431
- package/test/cypress/e2e/example19.cy.ts +0 -263
- package/test/cypress/e2e/example20.cy.ts +0 -264
- package/test/cypress/e2e/example21.cy.ts +0 -77
- package/test/cypress/e2e/example22.cy.ts +0 -94
- package/test/cypress/e2e/example23.cy.ts +0 -259
- package/test/cypress/e2e/example24.cy.ts +0 -707
- package/test/cypress/e2e/example25.cy.ts +0 -193
- package/test/cypress/e2e/example26.cy.ts +0 -111
- package/test/cypress/e2e/example27.cy.ts +0 -261
- package/test/cypress/e2e/example28.cy.ts +0 -740
- package/test/cypress/e2e/example29.cy.ts +0 -30
- package/test/cypress/e2e/example30.cy.ts +0 -757
- package/test/cypress/e2e/example31.cy.ts +0 -69
- package/test/cypress/e2e/example32.cy.ts +0 -272
- package/test/cypress/e2e/example33.cy.ts +0 -278
- package/test/cypress/e2e/example34.cy.ts +0 -84
- package/test/cypress/e2e/example35.cy.ts +0 -178
- package/test/cypress/e2e/example36.cy.ts +0 -219
- package/test/cypress/e2e/example37.cy.ts +0 -52
- package/test/cypress/e2e/example38.cy.ts +0 -160
- package/test/cypress/e2e/example39.cy.ts +0 -150
- package/test/cypress/e2e/example40.cy.ts +0 -126
- package/test/cypress/e2e/example41.cy.ts +0 -90
- package/test/cypress/e2e/example42.cy.ts +0 -82
- package/test/cypress/e2e/example43.cy.ts +0 -482
- package/test/cypress/e2e/example44.cy.ts +0 -458
- package/test/cypress/e2e/example45.cy.ts +0 -455
- package/test/cypress/e2e/home.cy.ts +0 -7
- package/test/cypress/fixtures/example.json +0 -5
- package/test/cypress/plugins/index.ts +0 -17
- package/test/cypress/plugins/utilities.ts +0 -28
- package/test/cypress/support/commands.ts +0 -88
- package/test/cypress/support/common.ts +0 -47
- package/test/cypress/support/drag.ts +0 -101
- package/test/cypress/support/index.ts +0 -20
- package/test/cypress/tsconfig.json +0 -9
- package/test/cypress.config.ts +0 -34
- package/test/mockSlickEvent.ts +0 -77
- package/test/rxjsResourceStub.ts +0 -69
- package/test/test-setup.ts +0 -6
- package/test/translateServiceStub.ts +0 -230
- package/test/translaterServiceStub.ts +0 -239
- package/test/tsconfig.json +0 -17
- package/test/vitest-global-mocks.ts +0 -41
- package/test/vitest-global-setup.ts +0 -3
- package/test/vitest-pretest.ts +0 -5
- package/tsconfig.app.json +0 -14
- package/tsconfig.json +0 -31
- package/tsconfig.spec.json +0 -11
- package/types/sortablejs.d.ts +0 -4
- package/vite.config.mts +0 -51
- /package/{dist/fesm2022 → fesm2022}/angular-slickgrid.mjs.map +0 -0
- /package/{dist/i18n → i18n}/en.json +0 -0
- /package/{dist/i18n → i18n}/fr.json +0 -0
- /package/{dist/index.d.ts → index.d.ts} +0 -0
- /package/{dist/library → library}/components/angular-slickgrid.component.d.ts +0 -0
- /package/{dist/library → library}/constants.d.ts +0 -0
- /package/{dist/library → library}/extensions/index.d.ts +0 -0
- /package/{dist/library → library}/extensions/slickRowDetailView.d.ts +0 -0
- /package/{dist/library → library}/global-grid-options.d.ts +0 -0
- /package/{dist/library → library}/index.d.ts +0 -0
- /package/{dist/library → library}/models/angularComponentOutput.interface.d.ts +0 -0
- /package/{dist/library → library}/models/angularGridInstance.interface.d.ts +0 -0
- /package/{dist/library → library}/models/externalTestingDependencies.interface.d.ts +0 -0
- /package/{dist/library → library}/models/gridOption.interface.d.ts +0 -0
- /package/{dist/library → library}/models/index.d.ts +0 -0
- /package/{dist/library → library}/models/rowDetailView.interface.d.ts +0 -0
- /package/{dist/library → library}/modules/angular-slickgrid.module.d.ts +0 -0
- /package/{dist/library → library}/services/angularUtil.service.d.ts +0 -0
- /package/{dist/library → library}/services/container.service.d.ts +0 -0
- /package/{dist/library → library}/services/index.d.ts +0 -0
- /package/{dist/library → library}/services/translater.service.d.ts +0 -0
- /package/{dist/library → library}/services/utilities.d.ts +0 -0
- /package/{dist/library → library}/slickgrid-config.d.ts +0 -0
- /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"> </span>
|
|
459
|
-
<span class="cline-any cline-neutral"> </span>
|
|
460
|
-
<span class="cline-any cline-neutral"> </span>
|
|
461
|
-
<span class="cline-any cline-neutral"> </span>
|
|
462
|
-
<span class="cline-any cline-neutral"> </span>
|
|
463
|
-
<span class="cline-any cline-neutral"> </span>
|
|
464
|
-
<span class="cline-any cline-neutral"> </span>
|
|
465
|
-
<span class="cline-any cline-neutral"> </span>
|
|
466
|
-
<span class="cline-any cline-yes">1x</span>
|
|
467
|
-
<span class="cline-any cline-neutral"> </span>
|
|
468
|
-
<span class="cline-any cline-neutral"> </span>
|
|
469
|
-
<span class="cline-any cline-neutral"> </span>
|
|
470
|
-
<span class="cline-any cline-neutral"> </span>
|
|
471
|
-
<span class="cline-any cline-neutral"> </span>
|
|
472
|
-
<span class="cline-any cline-neutral"> </span>
|
|
473
|
-
<span class="cline-any cline-neutral"> </span>
|
|
474
|
-
<span class="cline-any cline-neutral"> </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"> </span>
|
|
478
|
-
<span class="cline-any cline-neutral"> </span>
|
|
479
|
-
<span class="cline-any cline-neutral"> </span>
|
|
480
|
-
<span class="cline-any cline-neutral"> </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"> </span>
|
|
484
|
-
<span class="cline-any cline-neutral"> </span>
|
|
485
|
-
<span class="cline-any cline-neutral"> </span>
|
|
486
|
-
<span class="cline-any cline-neutral"> </span>
|
|
487
|
-
<span class="cline-any cline-neutral"> </span>
|
|
488
|
-
<span class="cline-any cline-neutral"> </span>
|
|
489
|
-
<span class="cline-any cline-neutral"> </span>
|
|
490
|
-
<span class="cline-any cline-neutral"> </span>
|
|
491
|
-
<span class="cline-any cline-yes">1x</span>
|
|
492
|
-
<span class="cline-any cline-neutral"> </span>
|
|
493
|
-
<span class="cline-any cline-neutral"> </span>
|
|
494
|
-
<span class="cline-any cline-neutral"> </span>
|
|
495
|
-
<span class="cline-any cline-yes">1x</span>
|
|
496
|
-
<span class="cline-any cline-neutral"> </span>
|
|
497
|
-
<span class="cline-any cline-yes">1x</span>
|
|
498
|
-
<span class="cline-any cline-neutral"> </span>
|
|
499
|
-
<span class="cline-any cline-neutral"> </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"> </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"> </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"> </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"> </span>
|
|
518
|
-
<span class="cline-any cline-neutral"> </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"> </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"> </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"> </span>
|
|
531
|
-
<span class="cline-any cline-neutral"> </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"> </span>
|
|
538
|
-
<span class="cline-any cline-neutral"> </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"> </span>
|
|
548
|
-
<span class="cline-any cline-neutral"> </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"> </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"> </span>
|
|
559
|
-
<span class="cline-any cline-neutral"> </span>
|
|
560
|
-
<span class="cline-any cline-neutral"> </span>
|
|
561
|
-
<span class="cline-any cline-neutral"> </span>
|
|
562
|
-
<span class="cline-any cline-neutral"> </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"> </span>
|
|
566
|
-
<span class="cline-any cline-neutral"> </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"> </span>
|
|
573
|
-
<span class="cline-any cline-yes">44x</span>
|
|
574
|
-
<span class="cline-any cline-neutral"> </span>
|
|
575
|
-
<span class="cline-any cline-neutral"> </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"> </span>
|
|
586
|
-
<span class="cline-any cline-neutral"> </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"> </span>
|
|
592
|
-
<span class="cline-any cline-neutral"> </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"> </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"> </span>
|
|
604
|
-
<span class="cline-any cline-yes">42x</span>
|
|
605
|
-
<span class="cline-any cline-neutral"> </span>
|
|
606
|
-
<span class="cline-any cline-yes">1x</span>
|
|
607
|
-
<span class="cline-any cline-neutral"> </span>
|
|
608
|
-
<span class="cline-any cline-neutral"> </span>
|
|
609
|
-
<span class="cline-any cline-yes">1x</span>
|
|
610
|
-
<span class="cline-any cline-neutral"> </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"> </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"> </span>
|
|
620
|
-
<span class="cline-any cline-neutral"> </span>
|
|
621
|
-
<span class="cline-any cline-yes">1x</span>
|
|
622
|
-
<span class="cline-any cline-neutral"> </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"> </span>
|
|
628
|
-
<span class="cline-any cline-neutral"> </span>
|
|
629
|
-
<span class="cline-any cline-yes">42x</span>
|
|
630
|
-
<span class="cline-any cline-neutral"> </span>
|
|
631
|
-
<span class="cline-any cline-yes">17x</span>
|
|
632
|
-
<span class="cline-any cline-neutral"> </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"> </span>
|
|
639
|
-
<span class="cline-any cline-yes">42x</span>
|
|
640
|
-
<span class="cline-any cline-neutral"> </span>
|
|
641
|
-
<span class="cline-any cline-yes">2x</span>
|
|
642
|
-
<span class="cline-any cline-neutral"> </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"> </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"> </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"> </span>
|
|
661
|
-
<span class="cline-any cline-neutral"> </span>
|
|
662
|
-
<span class="cline-any cline-neutral"> </span>
|
|
663
|
-
<span class="cline-any cline-neutral"> </span>
|
|
664
|
-
<span class="cline-any cline-neutral"> </span>
|
|
665
|
-
<span class="cline-any cline-yes">42x</span>
|
|
666
|
-
<span class="cline-any cline-neutral"> </span>
|
|
667
|
-
<span class="cline-any cline-neutral"> </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"> </span>
|
|
672
|
-
<span class="cline-any cline-neutral"> </span>
|
|
673
|
-
<span class="cline-any cline-yes">42x</span>
|
|
674
|
-
<span class="cline-any cline-neutral"> </span>
|
|
675
|
-
<span class="cline-any cline-neutral"> </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"> </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"> </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"> </span>
|
|
690
|
-
<span class="cline-any cline-neutral"> </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"> </span>
|
|
701
|
-
<span class="cline-any cline-neutral"> </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"> </span>
|
|
709
|
-
<span class="cline-any cline-neutral"> </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"> </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"> </span>
|
|
723
|
-
<span class="cline-any cline-neutral"> </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"> </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"> </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"> </span>
|
|
742
|
-
<span class="cline-any cline-neutral"> </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"> </span>
|
|
755
|
-
<span class="cline-any cline-neutral"> </span>
|
|
756
|
-
<span class="cline-any cline-neutral"> </span>
|
|
757
|
-
<span class="cline-any cline-neutral"> </span>
|
|
758
|
-
<span class="cline-any cline-neutral"> </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"> </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"> </span>
|
|
781
|
-
<span class="cline-any cline-neutral"> </span>
|
|
782
|
-
<span class="cline-any cline-neutral"> </span>
|
|
783
|
-
<span class="cline-any cline-neutral"> </span>
|
|
784
|
-
<span class="cline-any cline-neutral"> </span>
|
|
785
|
-
<span class="cline-any cline-neutral"> </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"> </span>
|
|
790
|
-
<span class="cline-any cline-neutral"> </span>
|
|
791
|
-
<span class="cline-any cline-neutral"> </span>
|
|
792
|
-
<span class="cline-any cline-neutral"> </span>
|
|
793
|
-
<span class="cline-any cline-neutral"> </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"> </span>
|
|
799
|
-
<span class="cline-any cline-neutral"> </span>
|
|
800
|
-
<span class="cline-any cline-yes">1x</span>
|
|
801
|
-
<span class="cline-any cline-neutral"> </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"> </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"> </span>
|
|
813
|
-
<span class="cline-any cline-yes">2x</span>
|
|
814
|
-
<span class="cline-any cline-neutral"> </span>
|
|
815
|
-
<span class="cline-any cline-neutral"> </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"> </span>
|
|
820
|
-
<span class="cline-any cline-neutral"> </span>
|
|
821
|
-
<span class="cline-any cline-neutral"> </span>
|
|
822
|
-
<span class="cline-any cline-neutral"> </span>
|
|
823
|
-
<span class="cline-any cline-neutral"> </span>
|
|
824
|
-
<span class="cline-any cline-neutral"> </span>
|
|
825
|
-
<span class="cline-any cline-neutral"> </span>
|
|
826
|
-
<span class="cline-any cline-yes">1x</span>
|
|
827
|
-
<span class="cline-any cline-neutral"> </span>
|
|
828
|
-
<span class="cline-any cline-yes">17x</span>
|
|
829
|
-
<span class="cline-any cline-neutral"> </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"> </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"> </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"> </span>
|
|
842
|
-
<span class="cline-any cline-neutral"> </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"> </span>
|
|
850
|
-
<span class="cline-any cline-neutral"> </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
|
-
|
|
870
|
-
import type { GridOption, RowDetailView } from '../models/index.js';
|
|
871
|
-
import type { AngularUtilService } from '../services/angularUtil.service.js';
|
|
872
|
-
|
|
873
|
-
const ROW_DETAIL_CONTAINER_PREFIX = 'container_';
|
|
874
|
-
const PRELOAD_CONTAINER_PREFIX = 'container_loading';
|
|
875
|
-
|
|
876
|
-
export interface CreatedView {
|
|
877
|
-
id: string | number;
|
|
878
|
-
dataContext: any;
|
|
879
|
-
componentRef?: ComponentRef<any>;
|
|
880
|
-
rendered?: boolean;
|
|
881
|
-
}
|
|
882
|
-
|
|
883
|
-
export class SlickRowDetailView extends UniversalSlickRowDetailView {
|
|
884
|
-
rowDetailContainer!: ViewContainerRef;
|
|
885
|
-
protected _preloadComponent: Type<object> | undefined;
|
|
886
|
-
protected _preloadCompRef?: ComponentRef<any>;
|
|
887
|
-
protected _views: CreatedView[] = [];
|
|
888
|
-
protected _viewComponent!: Type<object>;
|
|
889
|
-
protected _subscriptions: EventSubscription[] = [];
|
|
890
|
-
protected _userProcessFn!: (item: any) => Promise<any> | Observable<any> | Subject<any>;
|
|
891
|
-
|
|
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
|
-
|
|
902
|
-
get addonOptions() {
|
|
903
|
-
return this.getOptions();
|
|
904
|
-
}
|
|
905
|
-
|
|
906
|
-
protected get datasetIdPropName(): string {
|
|
907
|
-
return this.gridOptions.<span class="branch-0 cbranch-no" title="branch not covered" >datasetIdPropertyName || 'id';</span>
|
|
908
|
-
}
|
|
909
|
-
|
|
910
|
-
/** Getter for the Grid Options pulled through the Grid Object */
|
|
911
|
-
get gridOptions(): GridOption {
|
|
912
|
-
return (this._grid?.getOptions() || {}) as GridOption;
|
|
913
|
-
}
|
|
914
|
-
|
|
915
|
-
get rowDetailViewOptions(): RowDetailView | undefined {
|
|
916
|
-
return this.gridOptions.rowDetailView;
|
|
917
|
-
}
|
|
918
|
-
|
|
919
|
-
addRxJsResource(rxjs: RxJsFacade) {
|
|
920
|
-
this.rxjs = rxjs;
|
|
921
|
-
}
|
|
922
|
-
|
|
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
|
-
|
|
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 > 0);
|
|
938
|
-
}
|
|
939
|
-
|
|
940
|
-
/** Get the instance of the SlickGrid addon (control or plugin). */
|
|
941
|
-
getAddonInstance(): SlickRowDetailView | null {
|
|
942
|
-
return this;
|
|
943
|
-
}
|
|
944
|
-
|
|
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
|
-
|
|
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) => Promise<any>; // keep user's process method
|
|
960
|
-
this.addonOptions.process = (item) => this.onProcessing(item); // replace process method & 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
|
-
|
|
965
|
-
if (this._grid && this.gridOptions<span class="branch-0 cbranch-no" title="branch not covered" >?.r</span>owDetailView) {
|
|
966
|
-
// load the Preload & RowDetail Templates (could be straight HTML or Angular View/ViewModel)
|
|
967
|
-
// when those are Angular View/ViewModel, we need to create View Component & 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 = () => 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) =>
|
|
975
|
-
createDomElement('div', { className: `${ROW_DETAIL_CONTAINER_PREFIX}${itemDetail[this.datasetIdPropName]}` });
|
|
976
|
-
}
|
|
977
|
-
|
|
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
|
-
|
|
984
|
-
// hook all events
|
|
985
|
-
if (this._grid && this.rowDetailViewOptions) {
|
|
986
|
-
if (this.rowDetailViewOptions.onExtensionRegistered) {
|
|
987
|
-
this.rowDetailViewOptions.onExtensionRegistered(this);
|
|
988
|
-
}
|
|
989
|
-
|
|
990
|
-
this.eventHandler.subscribe(this.onAsyncResponse, (event, args) => {
|
|
991
|
-
if (this.rowDetailViewOptions && typeof this.rowDetailViewOptions.onAsyncResponse === 'function') {
|
|
992
|
-
this.rowDetailViewOptions.onAsyncResponse(event, args);
|
|
993
|
-
}
|
|
994
|
-
});
|
|
995
|
-
|
|
996
|
-
this.eventHandler.subscribe(this.onAsyncEndUpdate, (e, args) => {
|
|
997
|
-
// destroy preload if exists
|
|
998
|
-
this._preloadCompRef<span class="branch-0 cbranch-no" title="branch not covered" >?.destroy();</span>
|
|
999
|
-
|
|
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
|
-
|
|
1003
|
-
if (this.rowDetailViewOptions && typeof this.rowDetailViewOptions.onAsyncEndUpdate === 'function') {
|
|
1004
|
-
this.rowDetailViewOptions.onAsyncEndUpdate(e, args);
|
|
1005
|
-
}
|
|
1006
|
-
});
|
|
1007
|
-
|
|
1008
|
-
this.eventHandler.subscribe(
|
|
1009
|
-
this.onAfterRowDetailToggle,
|
|
1010
|
-
(e: any, args: { grid: SlickGrid; item: any; expandedRows: Array<number | string> }) => {
|
|
1011
|
-
// display preload template & 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
|
-
|
|
1015
|
-
if (this.rowDetailViewOptions && typeof this.rowDetailViewOptions.onAfterRowDetailToggle === 'function') {
|
|
1016
|
-
this.rowDetailViewOptions.onAfterRowDetailToggle(e, args);
|
|
1017
|
-
}
|
|
1018
|
-
}
|
|
1019
|
-
);
|
|
1020
|
-
|
|
1021
|
-
this.eventHandler.subscribe(this.onBeforeRowDetailToggle, (e, args) => {
|
|
1022
|
-
// before toggling row detail, we need to create View Component if it doesn't exist
|
|
1023
|
-
this.handleOnBeforeRowDetailToggle(e, args);
|
|
1024
|
-
|
|
1025
|
-
if (this.rowDetailViewOptions && typeof this.rowDetailViewOptions.onBeforeRowDetailToggle === 'function') {
|
|
1026
|
-
return this.rowDetailViewOptions.onBeforeRowDetailToggle(e, args);
|
|
1027
|
-
}
|
|
1028
|
-
return true;
|
|
1029
|
-
});
|
|
1030
|
-
|
|
1031
|
-
this.eventHandler.subscribe(this.onRowBackToViewportRange, (e, args) => {
|
|
1032
|
-
// when row is back to viewport range, we will re-render the View Component(s)
|
|
1033
|
-
this.handleOnRowBackToViewportRange(e, args);
|
|
1034
|
-
|
|
1035
|
-
if (this.rowDetailViewOptions && typeof this.rowDetailViewOptions.onRowBackToViewportRange === 'function') {
|
|
1036
|
-
this.rowDetailViewOptions.onRowBackToViewportRange(e, args);
|
|
1037
|
-
}
|
|
1038
|
-
});
|
|
1039
|
-
|
|
1040
|
-
this._eventHandler.subscribe(this.onBeforeRowOutOfViewportRange, (event, args) => {
|
|
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
|
-
|
|
1047
|
-
this.eventHandler.subscribe(this.onRowOutOfViewportRange, (e, args) => {
|
|
1048
|
-
if (this.rowDetailViewOptions && typeof this.rowDetailViewOptions.onRowOutOfViewportRange === 'function') {
|
|
1049
|
-
this.rowDetailViewOptions.onRowOutOfViewportRange(e, args);
|
|
1050
|
-
}
|
|
1051
|
-
});
|
|
1052
|
-
|
|
1053
|
-
// --
|
|
1054
|
-
// hook some events needed by the Plugin itself
|
|
1055
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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'], () =>
|
|
1074
|
-
window.setTimeout(() => this.redrawAllViewComponents())
|
|
1075
|
-
)
|
|
1076
|
-
);
|
|
1077
|
-
}
|
|
1078
|
-
}
|
|
1079
|
-
return this;
|
|
1080
|
-
}
|
|
1081
|
-
|
|
1082
|
-
/** Redraw (re-render) all the expanded row detail View Components */
|
|
1083
|
-
redrawAllViewComponents(forceRedraw = false) {
|
|
1084
|
-
this.resetRenderedRows();
|
|
1085
|
-
this._views.forEach((view) => {
|
|
1086
|
-
if (!view.rendered || forceRedraw) {
|
|
1087
|
-
<span class="branch-0 cbranch-no" title="branch not covered" > forceRedraw && view.componentRef?.destroy();</span>
|
|
1088
|
-
this.redrawViewComponent(view);
|
|
1089
|
-
}
|
|
1090
|
-
});
|
|
1091
|
-
}
|
|
1092
|
-
|
|
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
|
-
|
|
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 && 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
|
-
|
|
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 && 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
|
-
|
|
1135
|
-
if (componentOutput?.componentRef) {
|
|
1136
|
-
const viewObj = this._views.find((obj) => 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
|
-
|
|
1147
|
-
// --
|
|
1148
|
-
// protected functions
|
|
1149
|
-
// ------------------
|
|
1150
|
-
|
|
1151
|
-
protected disposeViewByItem(item: any, removeFromArray = false): void {
|
|
1152
|
-
const foundViewIndex = this._views.findIndex((view: CreatedView) => view.id === item[this.datasetIdPropName]);
|
|
1153
|
-
if (foundViewIndex >= 0) {
|
|
1154
|
-
this.disposeView(this._views[foundViewIndex]);
|
|
1155
|
-
if (removeFromArray) {
|
|
1156
|
-
this._views.splice(foundViewIndex, 1);
|
|
1157
|
-
}
|
|
1158
|
-
}
|
|
1159
|
-
}
|
|
1160
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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 && typeof this._userProcessFn === 'function') {
|
|
1188
|
-
let awaitedItemDetail: any;
|
|
1189
|
-
const userProcessFn = this._userProcessFn(item);
|
|
1190
|
-
|
|
1191
|
-
// wait for the "userProcessFn", once resolved we will save it into the "collection"
|
|
1192
|
-
const response: any | any[] = await userProcessFn;
|
|
1193
|
-
|
|
1194
|
-
if (this.datasetIdPropName in response) {
|
|
1195
|
-
awaitedItemDetail = response; // from Promise
|
|
1196
|
-
} else if ((response && response instanceof Observable) || response instanceof Promise) {
|
|
1197
|
-
awaitedItemDetail = await castObservableToPromise(this.rxjs as RxJsFacade, response); // from Angular-http-client
|
|
1198
|
-
}
|
|
1199
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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<OnBeforeRowDetailToggleArgs>, 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
|
-
|
|
1234
|
-
/** When Row comes back to Viewport Range, we need to redraw the View */
|
|
1235
|
-
protected handleOnRowBackToViewportRange(_e: SlickEventData<OnRowBackOrOutOfViewportRangeArgs>, args: OnRowBackOrOutOfViewportRangeArgs) {
|
|
1236
|
-
const viewModel = this._views.find((x) => x.id === args.rowId);
|
|
1237
|
-
if (viewModel && !viewModel.rendered) {
|
|
1238
|
-
this.redrawViewComponent(viewModel);
|
|
1239
|
-
}
|
|
1240
|
-
}
|
|
1241
|
-
}
|
|
1242
|
-
</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
|
-
|