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,69 +0,0 @@
|
|
|
1
|
-
describe('Example 31 - Custom Backend Server Pagination', () => {
|
|
2
|
-
const fullTitles = ['Note', 'Status', 'Currency', 'Amount', 'Input Date', 'Input Time'];
|
|
3
|
-
|
|
4
|
-
it('should display Example title', () => {
|
|
5
|
-
cy.visit(`${Cypress.config('baseUrl')}/example31`);
|
|
6
|
-
cy.get('h2').should('contain', 'Example 31: Custom Backend Server Pagination');
|
|
7
|
-
});
|
|
8
|
-
|
|
9
|
-
it('should have exact column titles in grid', () => {
|
|
10
|
-
cy.get('#slickGridContainer-common-grid')
|
|
11
|
-
.find('.slick-header-columns')
|
|
12
|
-
.children()
|
|
13
|
-
.each(($child, index) => expect($child.text()).to.eq(fullTitles[index]));
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
it('should be on 1st page and have default query string', () => {
|
|
17
|
-
cy.get('.slick-pagination-nav input')
|
|
18
|
-
.invoke('val')
|
|
19
|
-
.then((pageNumber) => expect(pageNumber).to.eq('1'));
|
|
20
|
-
|
|
21
|
-
cy.get('[data-test="query-string"]').contains('http://127.0.0.1:8080/grid!display.do?¤tPage=1');
|
|
22
|
-
});
|
|
23
|
-
|
|
24
|
-
it('should go on next page and expect query to be updated accordingly', () => {
|
|
25
|
-
cy.get('.icon-seek-next').click();
|
|
26
|
-
|
|
27
|
-
cy.get('.page-spin').should('be.visible', true);
|
|
28
|
-
|
|
29
|
-
cy.get('.slick-pagination-nav input')
|
|
30
|
-
.invoke('val')
|
|
31
|
-
.then((pageNumber) => expect(pageNumber).to.eq('2'));
|
|
32
|
-
|
|
33
|
-
cy.get('[data-test="query-string"]').contains('http://127.0.0.1:8080/grid!display.do?¤tPage=2&selectedSort=&selectedFilter=');
|
|
34
|
-
|
|
35
|
-
cy.get('.page-spin').should('be.visible', false);
|
|
36
|
-
});
|
|
37
|
-
|
|
38
|
-
xit('should filter with "New" Status and expect query string to contains the search and the page to be back to Page 1', () => {
|
|
39
|
-
cy.get('input.search-filter.filter-status').type('New');
|
|
40
|
-
|
|
41
|
-
cy.get('.page-spin').should('be.visible', true);
|
|
42
|
-
|
|
43
|
-
cy.get('[data-test="query-string"]').contains(
|
|
44
|
-
'http://127.0.0.1:8080/grid!display.do?¤tPage=1&selectedSort=&selectedFilter=All|New|All|All|All|All|'
|
|
45
|
-
);
|
|
46
|
-
|
|
47
|
-
cy.get('.slick-pagination-nav input')
|
|
48
|
-
.invoke('val')
|
|
49
|
-
.then((pageNumber) => expect(pageNumber).to.eq('1'));
|
|
50
|
-
|
|
51
|
-
cy.get('.page-spin').should('be.visible', false);
|
|
52
|
-
});
|
|
53
|
-
|
|
54
|
-
xit('should go to last page 5 and expect query to be updated accordingly', () => {
|
|
55
|
-
cy.get('.icon-seek-end').click();
|
|
56
|
-
|
|
57
|
-
cy.get('.page-spin').should('be.visible', true);
|
|
58
|
-
|
|
59
|
-
cy.get('.slick-pagination-nav input')
|
|
60
|
-
.invoke('val')
|
|
61
|
-
.then((pageNumber) => expect(pageNumber).to.eq('5'));
|
|
62
|
-
|
|
63
|
-
cy.get('[data-test="query-string"]').contains(
|
|
64
|
-
'http://127.0.0.1:8080/grid!display.do?¤tPage=5&selectedSort=&selectedFilter=All|New|All|All|All|All|'
|
|
65
|
-
);
|
|
66
|
-
|
|
67
|
-
cy.get('.page-spin').should('be.visible', false);
|
|
68
|
-
});
|
|
69
|
-
});
|
|
@@ -1,272 +0,0 @@
|
|
|
1
|
-
describe('Example 32 - Columns Resize by Content', () => {
|
|
2
|
-
const GRID_ROW_HEIGHT = 33;
|
|
3
|
-
|
|
4
|
-
beforeEach(() => {
|
|
5
|
-
// create a console.log spy for later use
|
|
6
|
-
cy.window().then((win) => {
|
|
7
|
-
cy.spy(win.console, 'log');
|
|
8
|
-
});
|
|
9
|
-
});
|
|
10
|
-
|
|
11
|
-
describe('Main Tests', () => {
|
|
12
|
-
it('should display Example title', () => {
|
|
13
|
-
cy.visit(`${Cypress.config('baseUrl')}/example32`);
|
|
14
|
-
cy.get('h2').should('contain', 'Example 32: Columns Resize by Content');
|
|
15
|
-
});
|
|
16
|
-
|
|
17
|
-
it('should have cell that fit the text content', () => {
|
|
18
|
-
cy.get('.slick-row').find('.slick-cell:nth(1)').invoke('width').should('be.gt', 75);
|
|
19
|
-
cy.get('.slick-row').find('.slick-cell:nth(2)').invoke('width').should('be.gt', 67);
|
|
20
|
-
cy.get('.slick-row').find('.slick-cell:nth(3)').invoke('width').should('be.gt', 59);
|
|
21
|
-
cy.get('.slick-row').find('.slick-cell:nth(4)').invoke('width').should('be.gt', 102);
|
|
22
|
-
cy.get('.slick-row').find('.slick-cell:nth(5)').invoke('width').should('be.gt', 89);
|
|
23
|
-
cy.get('.slick-row').find('.slick-cell:nth(6)').invoke('width').should('be.gt', 72);
|
|
24
|
-
cy.get('.slick-row').find('.slick-cell:nth(7)').invoke('width').should('be.gt', 67);
|
|
25
|
-
cy.get('.slick-row').find('.slick-cell:nth(8)').invoke('width').should('be.gt', 72);
|
|
26
|
-
cy.get('.slick-row').find('.slick-cell:nth(9)').invoke('width').should('be.gt', 179);
|
|
27
|
-
cy.get('.slick-row').find('.slick-cell:nth(10)').invoke('width').should('be.gt', 94);
|
|
28
|
-
cy.get('.slick-row').find('.slick-cell:nth(11)').invoke('width').should('be.approximately', 58, 1);
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
it('should make the grid readonly and expect to fit the text by content and expect column width to be the same as earlier', () => {
|
|
32
|
-
cy.get('[data-test="toggle-readonly-btn"]').click();
|
|
33
|
-
|
|
34
|
-
cy.get('.slick-row').find('.slick-cell:nth(1)').invoke('width').should('be.gt', 75);
|
|
35
|
-
cy.get('.slick-row').find('.slick-cell:nth(2)').invoke('width').should('be.gt', 67);
|
|
36
|
-
cy.get('.slick-row').find('.slick-cell:nth(3)').invoke('width').should('be.gt', 59);
|
|
37
|
-
cy.get('.slick-row').find('.slick-cell:nth(4)').invoke('width').should('be.gt', 102);
|
|
38
|
-
cy.get('.slick-row').find('.slick-cell:nth(5)').invoke('width').should('be.gt', 89);
|
|
39
|
-
cy.get('.slick-row').find('.slick-cell:nth(6)').invoke('width').should('be.gt', 72);
|
|
40
|
-
cy.get('.slick-row').find('.slick-cell:nth(7)').invoke('width').should('be.gt', 67);
|
|
41
|
-
cy.get('.slick-row').find('.slick-cell:nth(8)').invoke('width').should('be.gt', 72);
|
|
42
|
-
cy.get('.slick-row').find('.slick-cell:nth(9)').invoke('width').should('be.gt', 179);
|
|
43
|
-
cy.get('.slick-row').find('.slick-cell:nth(10)').invoke('width').should('be.gt', 94);
|
|
44
|
-
cy.get('.slick-row').find('.slick-cell:nth(11)').invoke('width').should('be.approximately', 58, 1);
|
|
45
|
-
});
|
|
46
|
-
|
|
47
|
-
it('should click on (default resize "autosizeColumns") and expect column to be much thinner and fit all its column within the grid container', () => {
|
|
48
|
-
cy.get('[data-test="autosize-columns-btn"]').click();
|
|
49
|
-
|
|
50
|
-
cy.get('.slick-row').find('.slick-cell:nth(1)').invoke('width').should('be.lt', 75);
|
|
51
|
-
cy.get('.slick-row').find('.slick-cell:nth(2)').invoke('width').should('be.lt', 95);
|
|
52
|
-
cy.get('.slick-row').find('.slick-cell:nth(3)').invoke('width').should('be.lt', 70);
|
|
53
|
-
cy.get('.slick-row').find('.slick-cell:nth(4)').invoke('width').should('be.lt', 100);
|
|
54
|
-
cy.get('.slick-row').find('.slick-cell:nth(5)').invoke('width').should('be.lt', 100);
|
|
55
|
-
cy.get('.slick-row').find('.slick-cell:nth(6)').invoke('width').should('be.lt', 85);
|
|
56
|
-
cy.get('.slick-row').find('.slick-cell:nth(7)').invoke('width').should('be.lt', 70);
|
|
57
|
-
cy.get('.slick-row').find('.slick-cell:nth(8)').invoke('width').should('be.lt', 85);
|
|
58
|
-
cy.get('.slick-row').find('.slick-cell:nth(9)').invoke('width').should('be.lt', 120);
|
|
59
|
-
cy.get('.slick-row').find('.slick-cell:nth(10)').invoke('width').should('be.lt', 100);
|
|
60
|
-
cy.get('.slick-row').find('.slick-cell:nth(11)').invoke('width').should('be.approximately', 58, 1);
|
|
61
|
-
});
|
|
62
|
-
|
|
63
|
-
it('should double-click on the "Complexity" column resize handle and expect the column to become wider and show all text', () => {
|
|
64
|
-
cy.get('.slick-row').find('.slick-cell:nth(5)').invoke('width').should('be.lt', 80);
|
|
65
|
-
|
|
66
|
-
cy.get('.slick-header-column:nth-child(6) .slick-resizable-handle').dblclick();
|
|
67
|
-
|
|
68
|
-
cy.get('.slick-row').find('.slick-cell:nth(5)').invoke('width').should('be.gt', 95);
|
|
69
|
-
});
|
|
70
|
-
|
|
71
|
-
it('should open the "Product" header menu and click on "Resize by Content" and expect the column to become wider and show all text', () => {
|
|
72
|
-
cy.get('.slick-row').find('.slick-cell:nth(9)').invoke('width').should('be.lt', 120);
|
|
73
|
-
|
|
74
|
-
cy.get('#grid32')
|
|
75
|
-
.find('.slick-header-column:nth-child(10)')
|
|
76
|
-
.trigger('mouseover')
|
|
77
|
-
.children('.slick-header-menu-button')
|
|
78
|
-
.invoke('show')
|
|
79
|
-
.click();
|
|
80
|
-
|
|
81
|
-
cy.get('.slick-header-menu .slick-menu-command-list')
|
|
82
|
-
.should('be.visible')
|
|
83
|
-
.children('.slick-menu-item:nth-of-type(1)')
|
|
84
|
-
.children('.slick-menu-content')
|
|
85
|
-
.should('contain', 'Resize by Content')
|
|
86
|
-
.click();
|
|
87
|
-
|
|
88
|
-
cy.get('.slick-row').find('.slick-cell:nth(9)').invoke('width').should('be.gt', 120);
|
|
89
|
-
});
|
|
90
|
-
|
|
91
|
-
it('should change row selection across multiple pages, first page should have 2 selected', () => {
|
|
92
|
-
cy.get('[data-test="set-dynamic-rows-btn"]').click();
|
|
93
|
-
|
|
94
|
-
// Row index 3, 4 and 11 (last one will be on 2nd page)
|
|
95
|
-
cy.get('input[type="checkbox"]:checked').should('have.length', 2); // 2x in current page and 1x in next page
|
|
96
|
-
cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 3}px);"] > .slick-cell:nth(0) input[type="checkbox"]`).should('be.checked');
|
|
97
|
-
cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 4}px);"] > .slick-cell:nth(0) input[type="checkbox"]`).should('be.checked');
|
|
98
|
-
});
|
|
99
|
-
|
|
100
|
-
it('should go to next page and expect 1 row selected in that second page', () => {
|
|
101
|
-
cy.get('.icon-seek-next').click();
|
|
102
|
-
|
|
103
|
-
cy.get('input[type="checkbox"]:checked').should('have.length', 1); // only 1x row in page 2
|
|
104
|
-
cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 1}px);"] > .slick-cell:nth(0) input[type="checkbox"]`).should('be.checked');
|
|
105
|
-
});
|
|
106
|
-
|
|
107
|
-
it('should click on "Select All" checkbox and expect all rows selected in current page', () => {
|
|
108
|
-
const expectedRowIds = [11, 3, 4];
|
|
109
|
-
|
|
110
|
-
// go back to 1st page
|
|
111
|
-
cy.get('.icon-seek-prev').click();
|
|
112
|
-
|
|
113
|
-
cy.get('#filter-checkbox-selectall-container input[type=checkbox]').click({ force: true });
|
|
114
|
-
|
|
115
|
-
cy.window().then((win) => {
|
|
116
|
-
expect(win.console.log).to.have.callCount(3);
|
|
117
|
-
expect(win.console.log).to.be.calledWith('Selected Ids:', expectedRowIds);
|
|
118
|
-
});
|
|
119
|
-
});
|
|
120
|
-
|
|
121
|
-
it('should go to the next 2 pages and expect all rows selected in each page', () => {
|
|
122
|
-
cy.get('.icon-seek-next').click();
|
|
123
|
-
|
|
124
|
-
cy.get('.slick-cell-checkboxsel input:checked').should('have.length', 10);
|
|
125
|
-
|
|
126
|
-
cy.get('.icon-seek-next').click();
|
|
127
|
-
|
|
128
|
-
cy.get('.slick-cell-checkboxsel input:checked').should('have.length', 10);
|
|
129
|
-
});
|
|
130
|
-
|
|
131
|
-
it('should uncheck 1 row and expect current and next page to have "Select All" uncheck', () => {
|
|
132
|
-
cy.get('.slick-row:nth(0) .slick-cell:nth(0) input[type=checkbox]').click({ force: true });
|
|
133
|
-
|
|
134
|
-
cy.get('#filter-checkbox-selectall-container input[type=checkbox]').should('not.be.checked', true);
|
|
135
|
-
|
|
136
|
-
cy.get('.icon-seek-next').click();
|
|
137
|
-
|
|
138
|
-
cy.get('#filter-checkbox-selectall-container input[type=checkbox]').should('not.be.checked', true);
|
|
139
|
-
});
|
|
140
|
-
|
|
141
|
-
it('should go back to previous page, select the row that was unchecked and expect "Select All" to be selected again', () => {
|
|
142
|
-
cy.get('.icon-seek-prev').click();
|
|
143
|
-
|
|
144
|
-
cy.get('.slick-row:nth(0) .slick-cell:nth(0) input[type=checkbox]').click({ force: true });
|
|
145
|
-
|
|
146
|
-
cy.get('#filter-checkbox-selectall-container input[type=checkbox]').should('be.checked', true);
|
|
147
|
-
|
|
148
|
-
cy.get('.icon-seek-next').click();
|
|
149
|
-
|
|
150
|
-
cy.get('#filter-checkbox-selectall-container input[type=checkbox]').should('be.checked', true);
|
|
151
|
-
});
|
|
152
|
-
|
|
153
|
-
it('should Unselect All and expect all pages to no longer have any row selected', () => {
|
|
154
|
-
cy.get('#filter-checkbox-selectall-container input[type=checkbox]').click({ force: true });
|
|
155
|
-
|
|
156
|
-
cy.get('.slick-cell-checkboxsel input:checked').should('have.length', 0);
|
|
157
|
-
|
|
158
|
-
cy.get('.icon-seek-prev').click();
|
|
159
|
-
|
|
160
|
-
cy.get('.slick-cell-checkboxsel input:checked').should('have.length', 0);
|
|
161
|
-
|
|
162
|
-
cy.get('.icon-seek-prev').click();
|
|
163
|
-
|
|
164
|
-
cy.get('.slick-cell-checkboxsel input:checked').should('have.length', 0);
|
|
165
|
-
});
|
|
166
|
-
});
|
|
167
|
-
|
|
168
|
-
describe('Filter Predicate on "Title" column that act similarly to an SQL LIKE matcher', () => {
|
|
169
|
-
it('should return 4 rows using "%10" (ends with 10)', () => {
|
|
170
|
-
cy.get('.search-filter.filter-title').clear().type('%10');
|
|
171
|
-
|
|
172
|
-
cy.get('[data-test="total-items"]').should('have.text', 4);
|
|
173
|
-
|
|
174
|
-
cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 10');
|
|
175
|
-
cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 1}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 110');
|
|
176
|
-
cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 2}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 210');
|
|
177
|
-
cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 3}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 310');
|
|
178
|
-
});
|
|
179
|
-
|
|
180
|
-
it('should return 4 rows using "%ask%20" (contains "ask" + ends with 20)', () => {
|
|
181
|
-
cy.get('.search-filter.filter-title').clear().type('%ask%20');
|
|
182
|
-
|
|
183
|
-
cy.get('[data-test="total-items"]').should('have.text', 4);
|
|
184
|
-
|
|
185
|
-
cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 20');
|
|
186
|
-
cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 1}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 120');
|
|
187
|
-
cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 2}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 220');
|
|
188
|
-
cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 3}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 320');
|
|
189
|
-
});
|
|
190
|
-
|
|
191
|
-
it('should return all 400 rows using "%ask%" (contains "ask")', () => {
|
|
192
|
-
cy.get('.search-filter.filter-title').clear().type('%ask%');
|
|
193
|
-
|
|
194
|
-
cy.get('[data-test="total-items"]').should('have.text', 400);
|
|
195
|
-
|
|
196
|
-
cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 0');
|
|
197
|
-
cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 1}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 1');
|
|
198
|
-
cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 2}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 2');
|
|
199
|
-
cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 3}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 3');
|
|
200
|
-
});
|
|
201
|
-
|
|
202
|
-
it('should return 4 rows using "Ta%30" (starts with "Ta" + ends with 30)', () => {
|
|
203
|
-
cy.get('.search-filter.filter-title').clear().type('Ta%30');
|
|
204
|
-
|
|
205
|
-
cy.get('[data-test="total-items"]').should('have.text', 4);
|
|
206
|
-
|
|
207
|
-
cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 30');
|
|
208
|
-
cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 1}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 130');
|
|
209
|
-
cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 2}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 230');
|
|
210
|
-
cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 3}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 330');
|
|
211
|
-
});
|
|
212
|
-
|
|
213
|
-
it('should return 14 rows using "Ta%30%" (starts with "Ta" + ends with 30)', () => {
|
|
214
|
-
cy.get('.search-filter.filter-title').clear().type('Ta%30%');
|
|
215
|
-
|
|
216
|
-
cy.get('[data-test="total-items"]').should('have.text', 14);
|
|
217
|
-
|
|
218
|
-
cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 30');
|
|
219
|
-
cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 1}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 130');
|
|
220
|
-
cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 2}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 230');
|
|
221
|
-
cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 3}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 300');
|
|
222
|
-
cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 4}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 301');
|
|
223
|
-
cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 5}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 302');
|
|
224
|
-
});
|
|
225
|
-
|
|
226
|
-
it('should return all 400 rows using "Ta%" (starts with "Ta")', () => {
|
|
227
|
-
cy.get('.search-filter.filter-title').clear().type('Ta%');
|
|
228
|
-
|
|
229
|
-
cy.get('[data-test="total-items"]').should('have.text', 400);
|
|
230
|
-
|
|
231
|
-
cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 0');
|
|
232
|
-
cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 1}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 1');
|
|
233
|
-
cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 2}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 2');
|
|
234
|
-
cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 3}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 3');
|
|
235
|
-
});
|
|
236
|
-
|
|
237
|
-
it('should return 14 rows using "25" (contains 25)', () => {
|
|
238
|
-
cy.get('.search-filter.filter-title').clear().type('25');
|
|
239
|
-
|
|
240
|
-
cy.get('[data-test="total-items"]').should('have.text', 14);
|
|
241
|
-
|
|
242
|
-
cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 25');
|
|
243
|
-
cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 1}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 125');
|
|
244
|
-
cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 2}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 225');
|
|
245
|
-
cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 3}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 250');
|
|
246
|
-
cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 4}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 251');
|
|
247
|
-
cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 5}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 252');
|
|
248
|
-
});
|
|
249
|
-
|
|
250
|
-
it('should not return any row when filtering Title with "%%"', () => {
|
|
251
|
-
cy.get('.search-filter.filter-title').clear().type('%%');
|
|
252
|
-
|
|
253
|
-
cy.get('[data-test="total-items"]').should('have.text', 0);
|
|
254
|
-
});
|
|
255
|
-
|
|
256
|
-
it('return all 400 rows when filtering Title as "%ask%"', () => {
|
|
257
|
-
cy.get('.search-filter.filter-duration').clear();
|
|
258
|
-
cy.get('.search-filter.filter-title').clear().type('%ask%');
|
|
259
|
-
|
|
260
|
-
cy.get('[data-test="total-items"]').should('have.text', 400);
|
|
261
|
-
});
|
|
262
|
-
|
|
263
|
-
it('return some rows (not all 400) when filtering Title as "%ask%" AND a Duration ">50" to test few filters still working', () => {
|
|
264
|
-
cy.get('.search-filter.filter-title').clear();
|
|
265
|
-
cy.get('.search-filter.filter-duration').clear().type('>50');
|
|
266
|
-
|
|
267
|
-
cy.get('[data-test="total-items"]').should('not.have.text', 0);
|
|
268
|
-
|
|
269
|
-
cy.get('[data-test="total-items"]').should('not.have.text', 400);
|
|
270
|
-
});
|
|
271
|
-
});
|
|
272
|
-
});
|
|
@@ -1,278 +0,0 @@
|
|
|
1
|
-
describe('Example 33 - Regular & Custom Tooltips', () => {
|
|
2
|
-
const titles = [
|
|
3
|
-
'',
|
|
4
|
-
'Title',
|
|
5
|
-
'Duration',
|
|
6
|
-
'Description',
|
|
7
|
-
'Description 2',
|
|
8
|
-
'Cost',
|
|
9
|
-
'% Complete',
|
|
10
|
-
'Start',
|
|
11
|
-
'Finish',
|
|
12
|
-
'Effort Driven',
|
|
13
|
-
'Prerequisites',
|
|
14
|
-
'Action',
|
|
15
|
-
];
|
|
16
|
-
const GRID_ROW_HEIGHT = 33;
|
|
17
|
-
|
|
18
|
-
it('should display Example title', () => {
|
|
19
|
-
cy.visit(`${Cypress.config('baseUrl')}/example33`);
|
|
20
|
-
cy.get('h2').should('contain', 'Example 33: Regular & Custom Tooltips');
|
|
21
|
-
});
|
|
22
|
-
|
|
23
|
-
it('should have exact column titles on 1st grid', () => {
|
|
24
|
-
cy.get('#grid33')
|
|
25
|
-
.find('.slick-header-columns')
|
|
26
|
-
.children()
|
|
27
|
-
.each(($child, index) => expect($child.text()).to.eq(titles[index]));
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
it('should change server delay to 10ms for faster testing', () => {
|
|
31
|
-
cy.get('[data-test="server-delay"]').clear().type('50');
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
it('should mouse over 1st row checkbox column and NOT expect any tooltip to show since it is disabled on that column', () => {
|
|
35
|
-
cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] > .slick-cell:nth(0)`).as('checkbox0-cell');
|
|
36
|
-
cy.get('@checkbox0-cell').trigger('mouseover');
|
|
37
|
-
|
|
38
|
-
cy.get('.slick-custom-tooltip').should('not.exist');
|
|
39
|
-
cy.get('@checkbox0-cell').trigger('mouseout');
|
|
40
|
-
});
|
|
41
|
-
|
|
42
|
-
it('should mouse over Task 2 cell and expect async tooltip to show', () => {
|
|
43
|
-
cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] > .slick-cell:nth(1)`).as('task1-cell');
|
|
44
|
-
cy.get('@task1-cell').should('contain', 'Task 2');
|
|
45
|
-
cy.get('@task1-cell').trigger('mouseover');
|
|
46
|
-
cy.get('.slick-custom-tooltip').contains('loading...');
|
|
47
|
-
|
|
48
|
-
cy.wait(10);
|
|
49
|
-
cy.get('.slick-custom-tooltip').should('be.visible');
|
|
50
|
-
cy.get('.slick-custom-tooltip').contains('Task 2 - (async tooltip)');
|
|
51
|
-
|
|
52
|
-
cy.get('.tooltip-2cols-row:nth(0)').find('div:nth(0)').contains('Completion:');
|
|
53
|
-
cy.get('.tooltip-2cols-row:nth(0)').find('div').should('have.class', 'percent-complete-bar-with-text');
|
|
54
|
-
|
|
55
|
-
cy.get('.tooltip-2cols-row:nth(1)').find('div:nth(0)').contains('Lifespan:');
|
|
56
|
-
cy.get('.tooltip-2cols-row:nth(1)').find('div:nth(1)').contains(/\d+$/); // use regexp to make sure it's a number
|
|
57
|
-
|
|
58
|
-
cy.get('.tooltip-2cols-row:nth(2)').find('div:nth(0)').contains('Ratio:');
|
|
59
|
-
cy.get('.tooltip-2cols-row:nth(2)').find('div:nth(1)').contains(/\d+$/); // use regexp to make sure it's a number
|
|
60
|
-
|
|
61
|
-
cy.get('@task1-cell').trigger('mouseout');
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
it('should mouse over Task 6 cell and expect async tooltip to show', () => {
|
|
65
|
-
cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 2}px);"] > .slick-cell:nth(1)`).as('task6-cell');
|
|
66
|
-
cy.get('@task6-cell').should('contain', 'Task 6');
|
|
67
|
-
cy.get('@task6-cell').trigger('mouseover');
|
|
68
|
-
cy.get('.slick-custom-tooltip').contains('loading...');
|
|
69
|
-
|
|
70
|
-
cy.wait(10);
|
|
71
|
-
cy.get('.slick-custom-tooltip').should('be.visible');
|
|
72
|
-
cy.get('.slick-custom-tooltip').contains('Task 6 - (async tooltip)');
|
|
73
|
-
|
|
74
|
-
cy.get('.tooltip-2cols-row:nth(1)').find('div:nth(0)').contains('Lifespan:');
|
|
75
|
-
cy.get('.tooltip-2cols-row:nth(1)').find('div:nth(1)').contains(/\d+$/); // use regexp to make sure it's a number
|
|
76
|
-
|
|
77
|
-
cy.get('.tooltip-2cols-row:nth(2)').find('div:nth(0)').contains('Ratio:');
|
|
78
|
-
cy.get('.tooltip-2cols-row:nth(2)').find('div:nth(1)').contains(/\d+$/); // use regexp to make sure it's a number
|
|
79
|
-
|
|
80
|
-
cy.get('@task6-cell').trigger('mouseout');
|
|
81
|
-
});
|
|
82
|
-
|
|
83
|
-
it('should mouse over Task 6 cell on "Start" column and expect a delayed tooltip opening via async process', () => {
|
|
84
|
-
cy.get('.slick-custom-tooltip').should('not.exist');
|
|
85
|
-
cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 2}px);"] > .slick-cell:nth(7)`).as('start6-cell');
|
|
86
|
-
cy.get('@start6-cell').contains(/\d{4}-\d{2}-\d{2}$/); // use regexp to make sure it's a number
|
|
87
|
-
cy.get('@start6-cell').trigger('mouseover');
|
|
88
|
-
|
|
89
|
-
cy.wait(10);
|
|
90
|
-
cy.get('.slick-custom-tooltip').should('be.visible');
|
|
91
|
-
cy.get('.slick-custom-tooltip').contains('Custom Tooltip');
|
|
92
|
-
|
|
93
|
-
cy.get('.tooltip-2cols-row:nth(0)').find('div:nth(0)').contains('Id:');
|
|
94
|
-
cy.get('.tooltip-2cols-row:nth(0)').find('div:nth(1)').contains('6');
|
|
95
|
-
|
|
96
|
-
cy.get('.tooltip-2cols-row:nth(1)').find('div:nth(0)').contains('Title:');
|
|
97
|
-
cy.get('.tooltip-2cols-row:nth(1)').find('div:nth(1)').contains('Task 6');
|
|
98
|
-
|
|
99
|
-
cy.get('.tooltip-2cols-row:nth(2)').find('div:nth(0)').contains('Effort Driven:');
|
|
100
|
-
cy.get('.tooltip-2cols-row:nth(2)').find('div:nth(1)').should('be.empty');
|
|
101
|
-
|
|
102
|
-
cy.get('.tooltip-2cols-row:nth(3)').find('div:nth(0)').contains('Completion:');
|
|
103
|
-
cy.get('.tooltip-2cols-row:nth(3)').find('div:nth(1)').find('.mdi-check-circle-outline').should('exist');
|
|
104
|
-
|
|
105
|
-
cy.get('@start6-cell').trigger('mouseout');
|
|
106
|
-
});
|
|
107
|
-
|
|
108
|
-
it('should mouse over 6th row Description and expect full cell content to show in a tooltip because cell has ellipsis and is too long for the cell itself', () => {
|
|
109
|
-
cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 2}px);"] > .slick-cell:nth(3)`).as('desc6-cell');
|
|
110
|
-
cy.get('@desc6-cell').should('contain', 'This is a sample task description.');
|
|
111
|
-
cy.get('@desc6-cell').trigger('mouseover');
|
|
112
|
-
|
|
113
|
-
cy.get('.slick-custom-tooltip').should('be.visible');
|
|
114
|
-
cy.get('.slick-custom-tooltip').should(
|
|
115
|
-
'not.contain',
|
|
116
|
-
`regular tooltip (from title attribute)\nTask 6 cell value:\n\nThis is a sample task description.\nIt can be multiline\n\nAnother line...`
|
|
117
|
-
);
|
|
118
|
-
cy.get('.slick-custom-tooltip').should('contain', `This is a sample task description.\nIt can be multiline\n\nAnother line...`);
|
|
119
|
-
|
|
120
|
-
cy.get('@desc6-cell').trigger('mouseout');
|
|
121
|
-
});
|
|
122
|
-
|
|
123
|
-
it('should mouse over 6th row Description 2 and expect regular tooltip title + concatenated full cell content when using "useRegularTooltipFromFormatterOnly: true"', () => {
|
|
124
|
-
cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 2}px);"] > .slick-cell:nth(4)`).as('desc2-5-cell');
|
|
125
|
-
cy.get('@desc2-5-cell').should('contain', 'This is a sample task description.');
|
|
126
|
-
cy.get('@desc2-5-cell').trigger('mouseover');
|
|
127
|
-
|
|
128
|
-
cy.get('.slick-custom-tooltip').should('be.visible');
|
|
129
|
-
cy.get('.slick-custom-tooltip').should(
|
|
130
|
-
'contain',
|
|
131
|
-
`regular tooltip (from title attribute)\nTask 6 cell value:\n\nThis is a sample task description.\nIt can be multiline\n\nAnother line...`
|
|
132
|
-
);
|
|
133
|
-
|
|
134
|
-
cy.get('@desc2-5-cell').trigger('mouseout');
|
|
135
|
-
});
|
|
136
|
-
|
|
137
|
-
it('should mouse over 2nd row Duration and expect a custom tooltip shown with 4 label/value pairs displayed', () => {
|
|
138
|
-
cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 2}px);"] > .slick-cell:nth(2)`).as('duration2-cell');
|
|
139
|
-
cy.get('@duration2-cell').contains(/\d+\sday[s]?$/);
|
|
140
|
-
cy.get('@duration2-cell').trigger('mouseover');
|
|
141
|
-
|
|
142
|
-
cy.get('.slick-custom-tooltip').should('be.visible');
|
|
143
|
-
cy.get('.slick-custom-tooltip').contains('Custom Tooltip');
|
|
144
|
-
|
|
145
|
-
cy.get('.tooltip-2cols-row:nth(0)').find('div:nth(0)').contains('Id:');
|
|
146
|
-
cy.get('.tooltip-2cols-row:nth(0)').find('div:nth(1)').contains('6');
|
|
147
|
-
|
|
148
|
-
cy.get('.tooltip-2cols-row:nth(1)').find('div:nth(0)').contains('Title:');
|
|
149
|
-
cy.get('.tooltip-2cols-row:nth(1)').find('div:nth(1)').contains('Task 6');
|
|
150
|
-
|
|
151
|
-
cy.get('.tooltip-2cols-row:nth(2)').find('div:nth(0)').contains('Effort Driven:');
|
|
152
|
-
cy.get('.tooltip-2cols-row:nth(2)').find('div:nth(1)').should('be.empty');
|
|
153
|
-
|
|
154
|
-
cy.get('.tooltip-2cols-row:nth(3)').find('div:nth(0)').contains('Completion:');
|
|
155
|
-
cy.get('.tooltip-2cols-row:nth(3)').find('div:nth(1)').find('.mdi-check-circle-outline').should('exist');
|
|
156
|
-
|
|
157
|
-
cy.get('@duration2-cell').trigger('mouseout');
|
|
158
|
-
});
|
|
159
|
-
|
|
160
|
-
it('should mouse over % Complete cell of Task 6 and expect regular tooltip to show with content "x %" where x is a number', () => {
|
|
161
|
-
cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 2}px);"] > .slick-cell:nth(6)`).as('percentage-cell');
|
|
162
|
-
cy.get('@percentage-cell').find('.percent-complete-bar').should('exist');
|
|
163
|
-
cy.get('@percentage-cell').trigger('mouseover');
|
|
164
|
-
|
|
165
|
-
cy.get('.slick-custom-tooltip').should('be.visible');
|
|
166
|
-
cy.get('.slick-custom-tooltip').contains(/\d+%$/);
|
|
167
|
-
|
|
168
|
-
cy.get('@percentage-cell').trigger('mouseout');
|
|
169
|
-
});
|
|
170
|
-
|
|
171
|
-
it('should mouse over Prerequisite cell of Task 6 and expect regular tooltip to show with content "Task 6, Task 5"', () => {
|
|
172
|
-
cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 2}px);"] > .slick-cell:nth(10)`).as('prereq-cell');
|
|
173
|
-
cy.get('@prereq-cell').should('contain', 'Task 6, Task 5');
|
|
174
|
-
cy.get('@prereq-cell').trigger('mouseover');
|
|
175
|
-
|
|
176
|
-
cy.get('.slick-custom-tooltip').should('be.visible');
|
|
177
|
-
cy.get('.slick-custom-tooltip').should('contain', 'Task 6, Task 5');
|
|
178
|
-
|
|
179
|
-
cy.get('@prereq-cell').trigger('mouseout');
|
|
180
|
-
});
|
|
181
|
-
|
|
182
|
-
it('should mouse over header-row (filter) 1st column checkbox and NOT expect any tooltip to show since it is disabled on that column', () => {
|
|
183
|
-
cy.get(`.slick-headerrow-columns .slick-headerrow-column:nth(0)`).as('checkbox0-filter');
|
|
184
|
-
cy.get('@checkbox0-filter').trigger('mouseover');
|
|
185
|
-
|
|
186
|
-
cy.get('.slick-custom-tooltip').should('not.exist');
|
|
187
|
-
cy.get('@checkbox0-filter').trigger('mouseout');
|
|
188
|
-
});
|
|
189
|
-
|
|
190
|
-
it('should mouse over header-row (filter) 2nd column Title and expect a tooltip to show rendered from an headerRowFormatter', () => {
|
|
191
|
-
cy.get(`.slick-headerrow-columns .slick-headerrow-column:nth(1)`).as('checkbox0-filter');
|
|
192
|
-
cy.get('@checkbox0-filter').trigger('mouseover');
|
|
193
|
-
|
|
194
|
-
cy.get('.slick-custom-tooltip').should('be.visible');
|
|
195
|
-
cy.get('.slick-custom-tooltip').contains('Custom Tooltip - Header Row (filter)');
|
|
196
|
-
|
|
197
|
-
cy.get('.tooltip-2cols-row:nth(0)').find('div:nth(0)').contains('Column:');
|
|
198
|
-
cy.get('.tooltip-2cols-row:nth(0)').find('div:nth(1)').contains('title');
|
|
199
|
-
|
|
200
|
-
cy.get('@checkbox0-filter').trigger('mouseout');
|
|
201
|
-
});
|
|
202
|
-
|
|
203
|
-
it('should mouse over header-row (filter) Finish column and NOT expect any tooltip to show since it is disabled on that column', () => {
|
|
204
|
-
cy.get(`.slick-headerrow-columns .slick-headerrow-column:nth(8)`).as('finish-filter');
|
|
205
|
-
cy.get('@finish-filter').trigger('mouseover');
|
|
206
|
-
|
|
207
|
-
cy.get('.slick-custom-tooltip').should('not.exist');
|
|
208
|
-
cy.get('@finish-filter').trigger('mouseout');
|
|
209
|
-
});
|
|
210
|
-
|
|
211
|
-
it('should open PreRequisite dropdown and expect it be lazily loaded', () => {
|
|
212
|
-
cy.get('.slick-headerrow-columns .slick-headerrow-column:nth(10)').as('checkbox10-header');
|
|
213
|
-
cy.get('@checkbox10-header').click();
|
|
214
|
-
cy.get('[data-test="alert-lazy"]').should('be.visible');
|
|
215
|
-
cy.get('[data-name="filter-prerequisites"] .ms-loading span').contains('Loading...');
|
|
216
|
-
cy.wait(50);
|
|
217
|
-
cy.get('@checkbox10-header').click();
|
|
218
|
-
cy.get('[data-test="alert-lazy"]').should('not.be.visible');
|
|
219
|
-
cy.get('[data-name="filter-prerequisites"] .ms-loading').should('not.exist');
|
|
220
|
-
});
|
|
221
|
-
|
|
222
|
-
it('should mouse over header-row (filter) Prerequisite column and expect to see tooltip of selected filter options', () => {
|
|
223
|
-
cy.get('.slick-headerrow-columns .slick-headerrow-column:nth(10)').as('checkbox10-header');
|
|
224
|
-
cy.get('@checkbox10-header').trigger('mouseover');
|
|
225
|
-
|
|
226
|
-
cy.get('.filter-prerequisites .ms-choice span').contains('15 of 1000 selected');
|
|
227
|
-
cy.get('.slick-custom-tooltip').should('be.visible');
|
|
228
|
-
cy.get('.slick-custom-tooltip').contains(
|
|
229
|
-
'Task 1, Task 3, Task 5, Task 7, Task 9, Task 12, Task 15, Task 18, Task 21, Task 25, Task 28, Task 29, Task 30, Task 32, Task 34'
|
|
230
|
-
);
|
|
231
|
-
|
|
232
|
-
cy.get('@checkbox10-header').trigger('mouseout');
|
|
233
|
-
});
|
|
234
|
-
|
|
235
|
-
it('should mouse over header title on 1st column with checkbox and NOT expect any tooltip to show since it is disabled on that column', () => {
|
|
236
|
-
cy.get('.slick-header-columns .slick-header-column:nth(0)').as('checkbox-header');
|
|
237
|
-
cy.get('@checkbox-header').trigger('mouseover');
|
|
238
|
-
|
|
239
|
-
cy.get('.slick-custom-tooltip').should('not.exist');
|
|
240
|
-
cy.get('@checkbox-header').trigger('mouseout');
|
|
241
|
-
});
|
|
242
|
-
|
|
243
|
-
it('should mouse over header title on 2nd column with Title name and expect a tooltip to show rendered from an headerFormatter', () => {
|
|
244
|
-
cy.get('.slick-header-columns .slick-header-column:nth(1)').as('checkbox0-header');
|
|
245
|
-
cy.get('@checkbox0-header').trigger('mouseover');
|
|
246
|
-
|
|
247
|
-
cy.get('.slick-custom-tooltip').should('be.visible');
|
|
248
|
-
cy.get('.slick-custom-tooltip').contains('Custom Tooltip - Header');
|
|
249
|
-
|
|
250
|
-
cy.get('.tooltip-2cols-row:nth(0)').find('div:nth(0)').contains('Column:');
|
|
251
|
-
cy.get('.tooltip-2cols-row:nth(0)').find('div:nth(1)').contains('Title');
|
|
252
|
-
|
|
253
|
-
cy.get('@checkbox0-header').trigger('mouseout');
|
|
254
|
-
});
|
|
255
|
-
|
|
256
|
-
it('should mouse over header title on 2nd column with Finish name and NOT expect any tooltip to show since it is disabled on that column', () => {
|
|
257
|
-
cy.get('.slick-header-columns .slick-header-column:nth(8)').as('finish-header');
|
|
258
|
-
cy.get('@finish-header').trigger('mouseover');
|
|
259
|
-
|
|
260
|
-
cy.get('.slick-custom-tooltip').should('not.exist');
|
|
261
|
-
cy.get('@finish-header').trigger('mouseout');
|
|
262
|
-
});
|
|
263
|
-
|
|
264
|
-
it('should click Prerequisite editor of 1st row (Task 2) and expect Task1 & 2 to be selected in the multiple-select drop', () => {
|
|
265
|
-
cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] > .slick-cell:nth(10)`).as('prereq-cell');
|
|
266
|
-
cy.get('@prereq-cell').should('contain', 'Task 2, Task 1').click();
|
|
267
|
-
|
|
268
|
-
cy.get('div.ms-drop[data-name=editor-prerequisites]').find('li.selected').should('have.length', 2);
|
|
269
|
-
|
|
270
|
-
cy.get('div.ms-drop[data-name=editor-prerequisites]').find('li.selected:nth(0) span').should('contain', 'Task 1');
|
|
271
|
-
|
|
272
|
-
cy.get('div.ms-drop[data-name=editor-prerequisites]').find('li.selected:nth(1) span').should('contain', 'Task 2');
|
|
273
|
-
|
|
274
|
-
cy.get('div.ms-drop[data-name=editor-prerequisites]').find('.ms-ok-button').click();
|
|
275
|
-
|
|
276
|
-
cy.get('div.ms-drop[data-name=editor-prerequisites]').should('not.exist');
|
|
277
|
-
});
|
|
278
|
-
});
|