From 913642579939c34f064518ec41c9aa7b0514f2e1 Mon Sep 17 00:00:00 2001 From: ghiscoding Date: Thu, 2 Nov 2023 03:03:58 -0400 Subject: [PATCH 1/2] feat: update GraphQL demo with cursor pagination --- package.json | 24 +++--- src/examples/slickgrid/example6.html | 18 ++++ src/examples/slickgrid/example6.ts | 83 ++++++++++++++++-- test/cypress/e2e/example06.cy.ts | 123 ++++++++++++++++++++++++++- yarn.lock | 118 ++++++++++++------------- 5 files changed, 289 insertions(+), 77 deletions(-) diff --git a/package.json b/package.json index 017ca8166..d5b9eb535 100644 --- a/package.json +++ b/package.json @@ -58,12 +58,12 @@ "new-release": "npm run release, note that yarn is not supported with release-it and will throw an error" }, "dependencies": { - "@slickgrid-universal/common": "~3.4.0", - "@slickgrid-universal/custom-footer-component": "~3.4.0", - "@slickgrid-universal/empty-warning-component": "~3.4.0", + "@slickgrid-universal/common": "~3.4.1", + "@slickgrid-universal/custom-footer-component": "~3.4.1", + "@slickgrid-universal/empty-warning-component": "~3.4.1", "@slickgrid-universal/event-pub-sub": "~3.4.0", - "@slickgrid-universal/pagination-component": "~3.4.0", - "@slickgrid-universal/row-detail-view-plugin": "~3.4.0", + "@slickgrid-universal/pagination-component": "~3.4.1", + "@slickgrid-universal/row-detail-view-plugin": "~3.4.1", "aurelia-event-aggregator": "^1.0.3", "aurelia-framework": "^1.4.1", "aurelia-i18n": "^4.0.4", @@ -77,13 +77,13 @@ "@fnando/sparkline": "^0.3.10", "@popperjs/core": "^2.11.8", "@release-it/conventional-changelog": "^7.0.2", - "@slickgrid-universal/composite-editor-component": "~3.4.0", - "@slickgrid-universal/custom-tooltip-plugin": "~3.4.0", - "@slickgrid-universal/excel-export": "~3.4.0", - "@slickgrid-universal/graphql": "~3.4.0", - "@slickgrid-universal/odata": "~3.4.0", - "@slickgrid-universal/rxjs-observable": "~3.4.0", - "@slickgrid-universal/text-export": "~3.4.0", + "@slickgrid-universal/composite-editor-component": "~3.4.1", + "@slickgrid-universal/custom-tooltip-plugin": "~3.4.1", + "@slickgrid-universal/excel-export": "~3.4.1", + "@slickgrid-universal/graphql": "~3.4.1", + "@slickgrid-universal/odata": "~3.4.1", + "@slickgrid-universal/rxjs-observable": "~3.4.1", + "@slickgrid-universal/text-export": "~3.4.1", "@types/bluebird": "^3.5.41", "@types/dompurify": "^3.0.4", "@types/fnando__sparkline": "^0.3.6", diff --git a/src/examples/slickgrid/example6.html b/src/examples/slickgrid/example6.html index 0cc437efa..cae708436 100644 --- a/src/examples/slickgrid/example6.html +++ b/src/examples/slickgrid/example6.html @@ -35,6 +35,10 @@

click.delegate="setSortingDynamically()"> Set Sorting Dynamically + @@ -52,6 +56,20 @@

${selectedLanguage + '.json'} + + + + + + + +
diff --git a/src/examples/slickgrid/example6.ts b/src/examples/slickgrid/example6.ts index dce77efb0..145500b2e 100644 --- a/src/examples/slickgrid/example6.ts +++ b/src/examples/slickgrid/example6.ts @@ -1,10 +1,11 @@ -import { GraphqlService, GraphqlPaginatedResult, GraphqlServiceApi, } from '@slickgrid-universal/graphql'; +import { GraphqlService, GraphqlPaginatedResult, GraphqlServiceApi, GraphqlServiceOption, } from '@slickgrid-universal/graphql'; import { autoinject } from 'aurelia-framework'; import { I18N } from 'aurelia-i18n'; import * as moment from 'moment-mini'; import { AureliaGridInstance, Column, + CursorPageInfo, FieldType, Filters, Formatters, @@ -36,7 +37,7 @@ export class Example6 {
  • You can also preload a grid with certain "presets" like Filters / Sorters / Pagination Wiki - Grid Preset `; - + isWithCursor = false; aureliaGrid!: AureliaGridInstance; columnDefinitions: Column[] = []; gridOptions!: GridOption; @@ -44,7 +45,6 @@ export class Example6 { metrics!: Metrics; graphqlService = new GraphqlService(); - isWithCursor = false; graphqlQuery = ''; processing = false; selectedLanguage: string; @@ -168,7 +168,7 @@ export class Example6 { { columnId: 'name', direction: 'asc' }, { columnId: 'company', direction: SortDirection.DESC } ], - pagination: { pageNumber: 2, pageSize: 20 } + pagination: { pageNumber: this.isWithCursor ? 1 : 2, pageSize: 20 } // if cursor based, start at page 1 }, backendServiceApi: { service: this.graphqlService, @@ -179,6 +179,7 @@ export class Example6 { field: 'userId', value: 123 }], + isWithCursor: this.isWithCursor, // sets pagination strategy, if true requires a call to setPageInfo() when graphql call returns // when dealing with complex objects, we want to keep our field name with double quotes // example with gender: query { users (orderBy:[{field:"gender",direction:ASC}]) {} keepArgumentFieldDoubleQuotes: true @@ -215,6 +216,35 @@ export class Example6 { */ // eslint-disable-next-line @typescript-eslint/no-unused-vars getCustomerApiCall(_query: string): Promise { + let pageInfo: CursorPageInfo; + if (this.aureliaGrid?.paginationService) { + const { paginationService } = this.aureliaGrid; + // there seems to a timing issue where when you click "cursor" it requests the data before the pagination-service is initialized... + const pageNumber = (paginationService as any)._initialized ? paginationService.getCurrentPageNumber() : 1; + // In the real world, each node item would be A,B,C...AA,AB,AC, etc and so each page would actually be something like A-T, T-AN + // but for this mock data it's easier to represent each page as + // Page1: A-B + // Page2: B-C + // Page3: C-D + // Page4: D-E + // Page5: E-F + const startCursor = String.fromCharCode('A'.charCodeAt(0) + pageNumber - 1); + const endCursor = String.fromCharCode(startCursor.charCodeAt(0) + 1); + pageInfo = { + hasPreviousPage: paginationService.dataFrom === 0, + hasNextPage: paginationService.dataTo === 100, + startCursor, + endCursor + }; + } else { + pageInfo = { + hasPreviousPage: false, + hasNextPage: true, + startCursor: 'A', + endCursor: 'B' + }; + } + // in your case, you will call your WebAPI function (wich needs to return a Promise) // for the demo purpose, we will call a mock WebAPI function const mockedResult = { @@ -223,7 +253,8 @@ export class Example6 { data: { [GRAPHQL_QUERY_DATASET_NAME]: { nodes: [], - totalCount: 100 + totalCount: 100, + pageInfo } } }; @@ -231,6 +262,13 @@ export class Example6 { return new Promise(resolve => { setTimeout(() => { this.graphqlQuery = this.graphqlService.buildQuery(); + // this.graphqlQuery = this.gridOptions.backendServiceApi!.service.buildQuery(); + if (this.isWithCursor) { + // When using cursor pagination, the pagination service needs to updated with the PageInfo data from the latest request + // This might be done automatically if using a framework specific slickgrid library + // Note because of this timeout, this may cause race conditions with rapid clicks! + this.aureliaGrid?.paginationService?.setCursorPageInfo(mockedResult.data[GRAPHQL_QUERY_DATASET_NAME].pageInfo); + } resolve(mockedResult); }, 150); }); @@ -275,6 +313,41 @@ export class Example6 { ]); } + resetToOriginalPreset() { + const presetLowestDay = moment().add(-2, 'days').format('YYYY-MM-DD'); + const presetHighestDay = moment().add(20, 'days').format('YYYY-MM-DD'); + + this.aureliaGrid.filterService.updateFilters([ + // you can use OperatorType or type them as string, e.g.: operator: 'EQ' + { columnId: 'gender', searchTerms: ['male'], operator: OperatorType.equal }, + { columnId: 'name', searchTerms: ['John Doe'], operator: OperatorType.contains }, + { columnId: 'company', searchTerms: ['xyz'], operator: 'IN' }, + + // use a date range with 2 searchTerms values + { columnId: 'finish', searchTerms: [presetLowestDay, presetHighestDay], operator: OperatorType.rangeInclusive }, + ]); + this.aureliaGrid.sortService.updateSorting([ + // direction can written as 'asc' (uppercase or lowercase) and/or use the SortDirection type + { columnId: 'name', direction: 'asc' }, + { columnId: 'company', direction: SortDirection.DESC } + ]); + setTimeout(() => this.aureliaGrid.paginationService?.goToPageNumber(2)); + } + + setIsWithCursor(isWithCursor: boolean) { + this.isWithCursor = isWithCursor; + this.resetOptions({ isWithCursor: this.isWithCursor }); + return true; + } + + private resetOptions(options: Partial) { + const graphqlService = this.gridOptions.backendServiceApi!.service as GraphqlService; + this.aureliaGrid.paginationService!.setCursorBased(options.isWithCursor!); + this.aureliaGrid.paginationService?.goToFirstPage(); + graphqlService.updateOptions(options); + this.gridOptions = { ...this.gridOptions }; + } + async switchLanguage() { const nextLanguage = (this.selectedLanguage === 'en') ? 'fr' : 'en'; await this.i18n.setLocale(nextLanguage); diff --git a/test/cypress/e2e/example06.cy.ts b/test/cypress/e2e/example06.cy.ts index 293cfda0e..c7c511ba7 100644 --- a/test/cypress/e2e/example06.cy.ts +++ b/test/cypress/e2e/example06.cy.ts @@ -4,7 +4,7 @@ import { removeWhitespaces } from '../plugins/utilities'; const presetLowestDay = moment().add(-2, 'days').format('YYYY-MM-DD'); const presetHighestDay = moment().add(20, 'days').format('YYYY-MM-DD'); -describe('Example 6 - GraphQL Grid', { retries: 1 }, () => { +describe('Example 6 - GraphQL Grid', { retries: 0 }, () => { it('should display Example title', () => { cy.visit(`${Cypress.config('baseUrl')}/slickgrid/example6`); cy.get('h2').should('contain', 'Example 6: Grid with Backend GraphQL Service'); @@ -654,6 +654,127 @@ describe('Example 6 - GraphQL Grid', { retries: 1 }, () => { cy.get('.flatpickr-input') .should('contain.value', 'au'); // date range will contains (y to z) or in French (y au z) }); + + it('should switch locale to English', () => { + cy.get('[data-test=language-button]') + .click(); + + cy.get('[data-test=selected-locale]') + .should('contain', 'en.json'); + }); + }); + + describe('Cursor Pagination', () => { + it('should re-initialize grid for cursor pagination', () => { + cy.reload().wait(250); + // cy.get('[data-test="reset-presets"]').click(); + cy.get('[data-test=cursor]').click(); + + // the page number input should be a label now + // cy.get('[data-test=page-number-label]').should('exist').should('have.text', '1'); + cy.get('[data-test=page-number-input]') + .invoke('val') + .then(text => expect(text).to.eq('1')); + }); + + it('should change Pagination to the last page', () => { + // Go to first page (if not already there) + cy.get('[data-test=goto-first-page').click(); + + cy.get('.icon-seek-end').click(); + + // wait for the query to finish + cy.get('[data-test=status]').should('contain', 'finished'); + cy.get('[data-test=graphql-query-result]') + .should(($span) => { + const text = removeWhitespaces($span.text()); // remove all white spaces + expect(text).to.eq(removeWhitespaces(`query{users(last:20, + orderBy:[{field:"name",direction:ASC},{field:"company",direction:DESC}], + filterBy:[ + {field:"gender",operator:EQ,value:"male"},{field:"name",operator:Contains,value:"JohnDoe"}, + {field:"company",operator:IN,value:"xyz"},{field:"finish",operator:GE,value:"${presetLowestDay}"},{field:"finish",operator:LE,value:"${presetHighestDay}"} + ],locale:"en",userId:123){totalCount,nodes{id,name,gender,company,billing{address{street,zip}},finish},pageInfo{hasNextPage,hasPreviousPage,endCursor,startCursor},edges{cursor}}}`)); + }); + }); + + it('should change Pagination to the first page', () => { + // Go to first page (if not already there) + cy.get('[data-test=goto-last-page').click(); + + cy.get('.icon-seek-first').click(); + + // wait for the query to finish + cy.get('[data-test=status]').should('contain', 'finished'); + cy.get('[data-test=graphql-query-result]') + .should(($span) => { + const text = removeWhitespaces($span.text()); // remove all white spaces + expect(text).to.eq(removeWhitespaces(`query{users(first:20, + orderBy:[{field:"name",direction:ASC},{field:"company",direction:DESC}], + filterBy:[ + {field:"gender",operator:EQ,value:"male"},{field:"name",operator:Contains,value:"JohnDoe"}, + {field:"company",operator:IN,value:"xyz"},{field:"finish",operator:GE,value:"${presetLowestDay}"},{field:"finish",operator:LE,value:"${presetHighestDay}"} + ],locale:"en",userId:123){totalCount,nodes{id,name,gender,company,billing{address{street,zip}},finish},pageInfo{hasNextPage,hasPreviousPage,endCursor,startCursor},edges{cursor}}}`)); + }); + }); + + it('should change Pagination to next page and all the way to the last', () => { + // Go to first page (if not already there) + cy.get('[data-test=goto-first-page').click(); + cy.get('[data-test=status]').should('contain', 'finished'); + + // on page 1, click 4 times to get to page 5 (the last page) + cy.wrap([0, 1, 2, 3]).each((el, i) => { + cy.wait(200); // Avoid clicking too fast and hitting race conditions because of the setTimeout in the example page (this timeout should be greater than in the page) + cy.get('.icon-seek-next').click().then(() => { + // wait for the query to finish + cy.get('[data-test=status]').should('contain', 'finished'); + cy.get('[data-test=graphql-query-result]') + .should(($span) => { + // First page is A-B + // first click is to get page after A-B + // => get first 20 after 'B' + const afterCursor = String.fromCharCode('B'.charCodeAt(0) + i); + + const text = removeWhitespaces($span.text()); // remove all white spaces + expect(text).to.eq(removeWhitespaces(`query{users(first:20,after:"${afterCursor}", + orderBy:[{field:"name",direction:ASC},{field:"company",direction:DESC}], + filterBy:[ + {field:"gender",operator:EQ,value:"male"},{field:"name",operator:Contains,value:"JohnDoe"}, + {field:"company",operator:IN,value:"xyz"},{field:"finish",operator:GE,value:"${presetLowestDay}"},{field:"finish",operator:LE,value:"${presetHighestDay}"} + ],locale:"en",userId:123){totalCount,nodes{id,name,gender,company,billing{address{street,zip}},finish},pageInfo{hasNextPage,hasPreviousPage,endCursor,startCursor},edges{cursor}}}`)); + }); + }); + }); + }); + + it('should change Pagination from the last page all the way to the first', () => { + // Go to last page (if not already there) + cy.get('[data-test=goto-last-page').click(); + + // on page 5 (last page), click 4 times to go to page 1 + cy.wrap([0, 1, 2, 3]).each((el, i) => { + cy.wait(200); // Avoid clicking too fast and hitting race conditions because of the setTimeout in the example page (this timeout should be greater than in the page) + cy.get('.icon-seek-prev').click().then(() => { + // wait for the query to finish + cy.get('[data-test=status]').should('contain', 'finished'); + cy.get('[data-test=graphql-query-result]') + .should(($span) => { + // Last page is E-F + // first click is to get page before E-F + // => get last 20 before 'E' + const beforeCursor = String.fromCharCode('E'.charCodeAt(0) - i); + + const text = removeWhitespaces($span.text()); // remove all white spaces + expect(text).to.eq(removeWhitespaces(`query{users(last:20,before:"${beforeCursor}", + orderBy:[{field:"name",direction:ASC},{field:"company",direction:DESC}], + filterBy:[ + {field:"gender",operator:EQ,value:"male"},{field:"name",operator:Contains,value:"JohnDoe"}, + {field:"company",operator:IN,value:"xyz"},{field:"finish",operator:GE,value:"${presetLowestDay}"},{field:"finish",operator:LE,value:"${presetHighestDay}"} + ],locale:"en",userId:123){totalCount,nodes{id,name,gender,company,billing{address{street,zip}},finish},pageInfo{hasNextPage,hasPreviousPage,endCursor,startCursor},edges{cursor}}}`)); + }); + }); + }); + }); }); }); diff --git a/yarn.lock b/yarn.lock index a08f042a7..cc4e98d29 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1158,10 +1158,10 @@ resolved "https://registry.yarnpkg.com/@slickgrid-universal/binding/-/binding-3.4.0.tgz#241207fd036fcd7dfc803e05352c4bd94078abba" integrity sha512-tzyMdx/sGcDXrjIiC0W7e0eFRtTrlPPq14Q4ZSxK61tUJ26rySQ5dTJ7vYcGQNauUQ+maeRJms0aFJAMiHfK9w== -"@slickgrid-universal/common@~3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@slickgrid-universal/common/-/common-3.4.0.tgz#52b5534b6f81448e4198fe72cf2faeacc0572972" - integrity sha512-P4LG+9SNQaubGfLDzl++Z8MTCNz1LZHpRqp0BOJv7wGRojFqqTQh8ufDyvRAT/wpBjK3SvmbxHGO++Zb6tBfcg== +"@slickgrid-universal/common@~3.4.1": + version "3.4.1" + resolved "https://registry.yarnpkg.com/@slickgrid-universal/common/-/common-3.4.1.tgz#93d696a98ccec802946bd9063dd894554cbe34ff" + integrity sha512-tcO9TjVWVngUWCaJ13S0WvBEzgBJo2Vt5dmL4WjAfZmZV8MHHdFsogyoEZ2jcct41qpQpJLeHqULbqhbl3q49w== dependencies: "@slickgrid-universal/event-pub-sub" "~3.4.0" "@slickgrid-universal/utils" "~3.4.0" @@ -1175,37 +1175,37 @@ sortablejs "^1.15.0" un-flatten-tree "^2.0.12" -"@slickgrid-universal/composite-editor-component@~3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@slickgrid-universal/composite-editor-component/-/composite-editor-component-3.4.0.tgz#3d440605f0b3d420ffe62f337dd93769bf982196" - integrity sha512-rJooCc4XitSZ5oQoToH5+7HEY30qikTjbxBVEeiRdX0mYLRWU3JOv5M0tx5PItMRT6YLGIftPoTnvQwZ8qHWnA== +"@slickgrid-universal/composite-editor-component@~3.4.1": + version "3.4.1" + resolved "https://registry.yarnpkg.com/@slickgrid-universal/composite-editor-component/-/composite-editor-component-3.4.1.tgz#94719e36cb62e09c379bbe7274a1551743bf6292" + integrity sha512-+6yMGZxUWowgo3QsmQLoyVZ217cqeFJXGvmOQrX6uLeLqpdqJMeiokg2BT5sZu/91pbdRsXOpFklqVnem+qrpw== dependencies: - "@slickgrid-universal/common" "~3.4.0" + "@slickgrid-universal/common" "~3.4.1" "@slickgrid-universal/utils" "~3.4.0" -"@slickgrid-universal/custom-footer-component@~3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@slickgrid-universal/custom-footer-component/-/custom-footer-component-3.4.0.tgz#5fac3fa24856dadd43e358960ab6cb297bf2d80c" - integrity sha512-zQul8lDUVsz2AUhTwSYtCxbGt2cyHIPg4TorpZNgpz+6Yn+7Wy0fAneDUtodNmsph9TLrGiizF5gxUP1avjaJA== +"@slickgrid-universal/custom-footer-component@~3.4.1": + version "3.4.1" + resolved "https://registry.yarnpkg.com/@slickgrid-universal/custom-footer-component/-/custom-footer-component-3.4.1.tgz#ee3bec96c141c7615f3a8ad67ff365ae08162deb" + integrity sha512-QqjCXdms2+zOp7yE+hqxpykT7mBIePdQ5McNLtsewymDqFuxbPEwy/xR77eF+YDK5svAlFWzipoRcU0VjJ8OjA== dependencies: "@slickgrid-universal/binding" "~3.4.0" - "@slickgrid-universal/common" "~3.4.0" + "@slickgrid-universal/common" "~3.4.1" moment-mini "^2.29.4" -"@slickgrid-universal/custom-tooltip-plugin@~3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@slickgrid-universal/custom-tooltip-plugin/-/custom-tooltip-plugin-3.4.0.tgz#6ce33a5f2ee7bddd3d2831760f978f00760cf0fe" - integrity sha512-XO7yQwMu6gCD0T/9lgaOdhU52schAmJSu3JEQRyUAN45umyIshDHfKRyKPBPhx/jkjJgd/xO5sd6h/zz2uHQwg== +"@slickgrid-universal/custom-tooltip-plugin@~3.4.1": + version "3.4.1" + resolved "https://registry.yarnpkg.com/@slickgrid-universal/custom-tooltip-plugin/-/custom-tooltip-plugin-3.4.1.tgz#96048fbdd06cf961aad797cb093c319ae948da6a" + integrity sha512-ODlogPkjc1c8PLFKLJzr+H/M0xc6VDkH9PKx5IOvBg7U0JQlYMIK7IkwRWtfJBfI4LDm6ZzMn83grD57vAvg+w== dependencies: - "@slickgrid-universal/common" "~3.4.0" + "@slickgrid-universal/common" "~3.4.1" dompurify "^3.0.6" -"@slickgrid-universal/empty-warning-component@~3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@slickgrid-universal/empty-warning-component/-/empty-warning-component-3.4.0.tgz#f436ec68380a13093933a0220b30e11021d4bb4e" - integrity sha512-TC5WNRrJQ4zLvnMSoV0jOXKDJQCVygq2yKf+QUV+5xcvtjICOfxFStkMo+KyVq9O7T0T+Zc43X7DCjMs/RqE3A== +"@slickgrid-universal/empty-warning-component@~3.4.1": + version "3.4.1" + resolved "https://registry.yarnpkg.com/@slickgrid-universal/empty-warning-component/-/empty-warning-component-3.4.1.tgz#62dd0104df99e5139d46270fa8beddfb34ffa3f5" + integrity sha512-7d7ESE7FLogKLbvtkiVIu4eeZQyZYPCsKa1NbbVNbAR1gGRpYskAAfdbBBX9La7R+EmouIFkbE1w5k9f/2HgcA== dependencies: - "@slickgrid-universal/common" "~3.4.0" + "@slickgrid-universal/common" "~3.4.1" "@slickgrid-universal/event-pub-sub@~3.4.0": version "3.4.0" @@ -1214,61 +1214,61 @@ dependencies: "@slickgrid-universal/utils" "~3.4.0" -"@slickgrid-universal/excel-export@~3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@slickgrid-universal/excel-export/-/excel-export-3.4.0.tgz#34ca67e45423d511533b70637d2e3569fb779ced" - integrity sha512-/5LviCJKT538Kl/AeUal2wmcewjdODQbl5I8pU9oBXHdsGxj+olZSVWXvlf+4PaaEbkJ2extytQuQg0VccLIXg== +"@slickgrid-universal/excel-export@~3.4.1": + version "3.4.1" + resolved "https://registry.yarnpkg.com/@slickgrid-universal/excel-export/-/excel-export-3.4.1.tgz#fda66a491d7a51185c7cc2dcc416b07f5bbe2148" + integrity sha512-TedyH8tcNDo4M+y+sMgZDNfA4wVoq3VjXaAuyZBAh0EE+XiziaivFw/w8pezBEjkt0SkCYfRy2gDLyS8h5SnRA== dependencies: - "@slickgrid-universal/common" "~3.4.0" + "@slickgrid-universal/common" "~3.4.1" "@slickgrid-universal/utils" "~3.4.0" excel-builder-webpacker "^2.1.8" moment-mini "^2.29.4" -"@slickgrid-universal/graphql@~3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@slickgrid-universal/graphql/-/graphql-3.4.0.tgz#f6a8d8bec0df98519366a6b876714894ef30a75c" - integrity sha512-qoqQhjN9IZJvRf2P2vgKsdQeKGmQtECH1QCgTgQytQoDVwfbwRBw8zr8RNrK4v/dsDP4G+ClGjOYSCLa0B0GrA== +"@slickgrid-universal/graphql@~3.4.1": + version "3.4.1" + resolved "https://registry.yarnpkg.com/@slickgrid-universal/graphql/-/graphql-3.4.1.tgz#25c6bc795facce6ae12c906bf268de799e3f481a" + integrity sha512-B3KXWaHXoQzPz4tTKMquLb/rmwadN59sfHSf7ta/YaeWwTVGl0iOwM8XMCPkCKMN36AQz4MZdvWhaY46jUd5uQ== dependencies: - "@slickgrid-universal/common" "~3.4.0" + "@slickgrid-universal/common" "~3.4.1" -"@slickgrid-universal/odata@~3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@slickgrid-universal/odata/-/odata-3.4.0.tgz#3eedcd40a131ac8b04c43eb3c8d4c223788716fb" - integrity sha512-EPdfwLm7/WYeUqESMrNo+Z1IZkByu8KAFyCuMCx7ipntnPBm0y/Oipmh9TIYc+iQjm2bwMWyAzE3SK7sSYeD1Q== +"@slickgrid-universal/odata@~3.4.1": + version "3.4.1" + resolved "https://registry.yarnpkg.com/@slickgrid-universal/odata/-/odata-3.4.1.tgz#94e1d2dc998f0ed4406baf7341c76caf76a66673" + integrity sha512-qbCZUbV+jseY0AqENlbRMyR9hAcMcmJPrCl5HPvaqn4RPRf6HZtjtfZ0UbybvPkUdNvxQyV7qu60WluoZck7Pg== dependencies: - "@slickgrid-universal/common" "~3.4.0" + "@slickgrid-universal/common" "~3.4.1" "@slickgrid-universal/utils" "~3.4.0" -"@slickgrid-universal/pagination-component@~3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@slickgrid-universal/pagination-component/-/pagination-component-3.4.0.tgz#cf543034cbc40036585f1dd81038e34069a940d2" - integrity sha512-OfsC+yH/Vm6ujq8liFTL47m6NJT44xrhNeWYdSmOXR/zIvV/4M5WJLtt8heiIZrfXrJVntr+q01N3nXDYBER2A== +"@slickgrid-universal/pagination-component@~3.4.1": + version "3.4.1" + resolved "https://registry.yarnpkg.com/@slickgrid-universal/pagination-component/-/pagination-component-3.4.1.tgz#e8514e35c67070975e7e879d8df741d4a8ce1ed6" + integrity sha512-btjTjQBIHJ55W1Zl+clAmULDBE5G0rxuo6C/dJStRUMgfWTT4xGDJg1n1u8Fu6gKO18kzc2SPNdaWTv6tBBPFg== dependencies: "@slickgrid-universal/binding" "~3.4.0" - "@slickgrid-universal/common" "~3.4.0" + "@slickgrid-universal/common" "~3.4.1" -"@slickgrid-universal/row-detail-view-plugin@~3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@slickgrid-universal/row-detail-view-plugin/-/row-detail-view-plugin-3.4.0.tgz#4d3da10b6e1a04eca47f813fa646211d70666b61" - integrity sha512-VIcVNTeA/ZZB4fQVNLHc6Yf6CP8Ad2LH1TkwQl2AvHyhxGL9HIVkcku8HSdoD33p62LH6Fvh3OGMQYnEcSXAsQ== +"@slickgrid-universal/row-detail-view-plugin@~3.4.1": + version "3.4.1" + resolved "https://registry.yarnpkg.com/@slickgrid-universal/row-detail-view-plugin/-/row-detail-view-plugin-3.4.1.tgz#d1133c7b37470748c5ffd935f967c8c9517e797c" + integrity sha512-voPYZerdI10U+p8GnNmiM9ggGfogJDuM2+d5swAaHkO1hGVcJyRjeiVLcukuy35Ub/7JMVozJBpj5Ox6ri+JGg== dependencies: - "@slickgrid-universal/common" "~3.4.0" + "@slickgrid-universal/common" "~3.4.1" "@slickgrid-universal/utils" "~3.4.0" -"@slickgrid-universal/rxjs-observable@~3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@slickgrid-universal/rxjs-observable/-/rxjs-observable-3.4.0.tgz#349d3686d38fd98ce61e4a98c04b2e33a6b47fef" - integrity sha512-cLpAs9gqdNWLUiuKSk5eWJ0Hs9QiF8lUro33yyx9ZuJbBPLKvNJWcT1qVoPualvp2DBOrYaB/KC4mMs3T7NUdw== +"@slickgrid-universal/rxjs-observable@~3.4.1": + version "3.4.1" + resolved "https://registry.yarnpkg.com/@slickgrid-universal/rxjs-observable/-/rxjs-observable-3.4.1.tgz#7be3404befb14dcc913ac01e948c34f6b85e7298" + integrity sha512-+hs13qeUJGm4Jj4GjZJf1iutoElOcLNMfc38GFtnFjSbz4vmgYusorfMM7FZA5DwzA3uDkxG+KZYjJV9AxeuLg== dependencies: - "@slickgrid-universal/common" "~3.4.0" + "@slickgrid-universal/common" "~3.4.1" rxjs "^7.8.1" -"@slickgrid-universal/text-export@~3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@slickgrid-universal/text-export/-/text-export-3.4.0.tgz#8aacc9bb08d17c135c93e4aca6e936fcde2cf407" - integrity sha512-Xg9Fc0Dz2micvag7eI6s+PKa0cPAgcnVpHbAMj6ym6kgpVoegi6VyNomnKWTr4GQUmVbg2hQ3l4iB3Rc8VHhIg== +"@slickgrid-universal/text-export@~3.4.1": + version "3.4.1" + resolved "https://registry.yarnpkg.com/@slickgrid-universal/text-export/-/text-export-3.4.1.tgz#580e972470a030cc726e278084ff1dbd79866f32" + integrity sha512-t0niSU9rVh5sFYPM520VHmF5rX37hIuaPn6VE5WMDrBOW1lAjamlMqEb5mYc39PekanTHlOQ5K0HNIJzCpNVWA== dependencies: - "@slickgrid-universal/common" "~3.4.0" + "@slickgrid-universal/common" "~3.4.1" "@slickgrid-universal/utils" "~3.4.0" text-encoding-utf-8 "^1.0.2" From 5cf3e6aee6da5779a7f3215ea0b479be671257fc Mon Sep 17 00:00:00 2001 From: ghiscoding Date: Thu, 2 Nov 2023 11:58:51 -0400 Subject: [PATCH 2/2] chore: update to latest slickgrid-universal --- package.json | 24 ++--- src/examples/slickgrid/example6.html | 2 +- src/examples/slickgrid/example6.ts | 7 +- test/cypress/e2e/example06.cy.ts | 3 +- yarn.lock | 128 +++++++++++++-------------- 5 files changed, 83 insertions(+), 81 deletions(-) diff --git a/package.json b/package.json index d5b9eb535..d4649c743 100644 --- a/package.json +++ b/package.json @@ -58,12 +58,12 @@ "new-release": "npm run release, note that yarn is not supported with release-it and will throw an error" }, "dependencies": { - "@slickgrid-universal/common": "~3.4.1", - "@slickgrid-universal/custom-footer-component": "~3.4.1", - "@slickgrid-universal/empty-warning-component": "~3.4.1", + "@slickgrid-universal/common": "~3.4.2", + "@slickgrid-universal/custom-footer-component": "~3.4.2", + "@slickgrid-universal/empty-warning-component": "~3.4.2", "@slickgrid-universal/event-pub-sub": "~3.4.0", - "@slickgrid-universal/pagination-component": "~3.4.1", - "@slickgrid-universal/row-detail-view-plugin": "~3.4.1", + "@slickgrid-universal/pagination-component": "~3.4.2", + "@slickgrid-universal/row-detail-view-plugin": "~3.4.2", "aurelia-event-aggregator": "^1.0.3", "aurelia-framework": "^1.4.1", "aurelia-i18n": "^4.0.4", @@ -77,13 +77,13 @@ "@fnando/sparkline": "^0.3.10", "@popperjs/core": "^2.11.8", "@release-it/conventional-changelog": "^7.0.2", - "@slickgrid-universal/composite-editor-component": "~3.4.1", - "@slickgrid-universal/custom-tooltip-plugin": "~3.4.1", - "@slickgrid-universal/excel-export": "~3.4.1", - "@slickgrid-universal/graphql": "~3.4.1", - "@slickgrid-universal/odata": "~3.4.1", - "@slickgrid-universal/rxjs-observable": "~3.4.1", - "@slickgrid-universal/text-export": "~3.4.1", + "@slickgrid-universal/composite-editor-component": "~3.4.2", + "@slickgrid-universal/custom-tooltip-plugin": "~3.4.2", + "@slickgrid-universal/excel-export": "~3.4.2", + "@slickgrid-universal/graphql": "~3.4.2", + "@slickgrid-universal/odata": "~3.4.2", + "@slickgrid-universal/rxjs-observable": "~3.4.2", + "@slickgrid-universal/text-export": "~3.4.2", "@types/bluebird": "^3.5.41", "@types/dompurify": "^3.0.4", "@types/fnando__sparkline": "^0.3.6", diff --git a/src/examples/slickgrid/example6.html b/src/examples/slickgrid/example6.html index cae708436..121513482 100644 --- a/src/examples/slickgrid/example6.html +++ b/src/examples/slickgrid/example6.html @@ -36,7 +36,7 @@

    Set Sorting Dynamically

  • diff --git a/src/examples/slickgrid/example6.ts b/src/examples/slickgrid/example6.ts index 145500b2e..c9db468e9 100644 --- a/src/examples/slickgrid/example6.ts +++ b/src/examples/slickgrid/example6.ts @@ -313,7 +313,7 @@ export class Example6 { ]); } - resetToOriginalPreset() { + resetToOriginalPresets() { const presetLowestDay = moment().add(-2, 'days').format('YYYY-MM-DD'); const presetHighestDay = moment().add(20, 'days').format('YYYY-MM-DD'); @@ -331,7 +331,10 @@ export class Example6 { { columnId: 'name', direction: 'asc' }, { columnId: 'company', direction: SortDirection.DESC } ]); - setTimeout(() => this.aureliaGrid.paginationService?.goToPageNumber(2)); + setTimeout(() => { + this.aureliaGrid.paginationService?.changeItemPerPage(20); + this.aureliaGrid.paginationService?.goToPageNumber(2); + }); } setIsWithCursor(isWithCursor: boolean) { diff --git a/test/cypress/e2e/example06.cy.ts b/test/cypress/e2e/example06.cy.ts index c7c511ba7..cfb4385c0 100644 --- a/test/cypress/e2e/example06.cy.ts +++ b/test/cypress/e2e/example06.cy.ts @@ -666,8 +666,7 @@ describe('Example 6 - GraphQL Grid', { retries: 0 }, () => { describe('Cursor Pagination', () => { it('should re-initialize grid for cursor pagination', () => { - cy.reload().wait(250); - // cy.get('[data-test="reset-presets"]').click(); + cy.get('[data-test="reset-presets"]').click(); // reset to same original presets cy.get('[data-test=cursor]').click(); // the page number input should be a label now diff --git a/yarn.lock b/yarn.lock index cc4e98d29..4e374fe81 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1158,10 +1158,10 @@ resolved "https://registry.yarnpkg.com/@slickgrid-universal/binding/-/binding-3.4.0.tgz#241207fd036fcd7dfc803e05352c4bd94078abba" integrity sha512-tzyMdx/sGcDXrjIiC0W7e0eFRtTrlPPq14Q4ZSxK61tUJ26rySQ5dTJ7vYcGQNauUQ+maeRJms0aFJAMiHfK9w== -"@slickgrid-universal/common@~3.4.1": - version "3.4.1" - resolved "https://registry.yarnpkg.com/@slickgrid-universal/common/-/common-3.4.1.tgz#93d696a98ccec802946bd9063dd894554cbe34ff" - integrity sha512-tcO9TjVWVngUWCaJ13S0WvBEzgBJo2Vt5dmL4WjAfZmZV8MHHdFsogyoEZ2jcct41qpQpJLeHqULbqhbl3q49w== +"@slickgrid-universal/common@~3.4.2": + version "3.4.2" + resolved "https://registry.yarnpkg.com/@slickgrid-universal/common/-/common-3.4.2.tgz#f3e287f82396c34708add3a3c1f913fd31423243" + integrity sha512-v02Gd0b7CFHhEbSjJWFxCfEnFmE0DGaEGpzhRWhmDSk3xdKRx0EUR9+CqhUi96UuFWj37FT2ZwsmkgIHzhr/3Q== dependencies: "@slickgrid-universal/event-pub-sub" "~3.4.0" "@slickgrid-universal/utils" "~3.4.0" @@ -1171,41 +1171,41 @@ flatpickr "^4.6.13" moment-mini "^2.29.4" multiple-select-vanilla "^0.5.0" - slickgrid "^4.1.2" + slickgrid "^4.1.3" sortablejs "^1.15.0" un-flatten-tree "^2.0.12" -"@slickgrid-universal/composite-editor-component@~3.4.1": - version "3.4.1" - resolved "https://registry.yarnpkg.com/@slickgrid-universal/composite-editor-component/-/composite-editor-component-3.4.1.tgz#94719e36cb62e09c379bbe7274a1551743bf6292" - integrity sha512-+6yMGZxUWowgo3QsmQLoyVZ217cqeFJXGvmOQrX6uLeLqpdqJMeiokg2BT5sZu/91pbdRsXOpFklqVnem+qrpw== +"@slickgrid-universal/composite-editor-component@~3.4.2": + version "3.4.2" + resolved "https://registry.yarnpkg.com/@slickgrid-universal/composite-editor-component/-/composite-editor-component-3.4.2.tgz#f0862b97a7eb743c1700e974a4d7386820f1c01a" + integrity sha512-6I8OUhR9TerfGCJqFjQ/B8F+3AbA2mcQakiLQrHPrd/eaNgcagkmsli+DRMYiJgM4DB9OqW/qSf3vLEqmiwiiQ== dependencies: - "@slickgrid-universal/common" "~3.4.1" + "@slickgrid-universal/common" "~3.4.2" "@slickgrid-universal/utils" "~3.4.0" -"@slickgrid-universal/custom-footer-component@~3.4.1": - version "3.4.1" - resolved "https://registry.yarnpkg.com/@slickgrid-universal/custom-footer-component/-/custom-footer-component-3.4.1.tgz#ee3bec96c141c7615f3a8ad67ff365ae08162deb" - integrity sha512-QqjCXdms2+zOp7yE+hqxpykT7mBIePdQ5McNLtsewymDqFuxbPEwy/xR77eF+YDK5svAlFWzipoRcU0VjJ8OjA== +"@slickgrid-universal/custom-footer-component@~3.4.2": + version "3.4.2" + resolved "https://registry.yarnpkg.com/@slickgrid-universal/custom-footer-component/-/custom-footer-component-3.4.2.tgz#5beca4b816dece58712e6c3c935c9c9c5ec570fe" + integrity sha512-wVUMEzz2DSJZU9uofEreSwxH3sweJEaUku8rduh4JaoECUwxZTM35Ic0NQ4v+UppNA7Axs06DNxiSHasDkxjjw== dependencies: "@slickgrid-universal/binding" "~3.4.0" - "@slickgrid-universal/common" "~3.4.1" + "@slickgrid-universal/common" "~3.4.2" moment-mini "^2.29.4" -"@slickgrid-universal/custom-tooltip-plugin@~3.4.1": - version "3.4.1" - resolved "https://registry.yarnpkg.com/@slickgrid-universal/custom-tooltip-plugin/-/custom-tooltip-plugin-3.4.1.tgz#96048fbdd06cf961aad797cb093c319ae948da6a" - integrity sha512-ODlogPkjc1c8PLFKLJzr+H/M0xc6VDkH9PKx5IOvBg7U0JQlYMIK7IkwRWtfJBfI4LDm6ZzMn83grD57vAvg+w== +"@slickgrid-universal/custom-tooltip-plugin@~3.4.2": + version "3.4.2" + resolved "https://registry.yarnpkg.com/@slickgrid-universal/custom-tooltip-plugin/-/custom-tooltip-plugin-3.4.2.tgz#801d5892d4fff81d1bbdc0d3d725244e910b5594" + integrity sha512-LQuzuX9xmD2WkAHxIQ7qtPfppB2DQwbCKYME0VTL9ZwLm4HKlFkKrOxSP1A0dAiUz2Si6Dw48bFkJEipK3sEmw== dependencies: - "@slickgrid-universal/common" "~3.4.1" + "@slickgrid-universal/common" "~3.4.2" dompurify "^3.0.6" -"@slickgrid-universal/empty-warning-component@~3.4.1": - version "3.4.1" - resolved "https://registry.yarnpkg.com/@slickgrid-universal/empty-warning-component/-/empty-warning-component-3.4.1.tgz#62dd0104df99e5139d46270fa8beddfb34ffa3f5" - integrity sha512-7d7ESE7FLogKLbvtkiVIu4eeZQyZYPCsKa1NbbVNbAR1gGRpYskAAfdbBBX9La7R+EmouIFkbE1w5k9f/2HgcA== +"@slickgrid-universal/empty-warning-component@~3.4.2": + version "3.4.2" + resolved "https://registry.yarnpkg.com/@slickgrid-universal/empty-warning-component/-/empty-warning-component-3.4.2.tgz#8662f37a122e1c556667c64674afcea20349a6e8" + integrity sha512-6swScEGh2svmTDYm45W7+E4WEkbA9oJWD2/CIBtFjxaOY+JwW+2L/cEZbbveU/VYjszrlvZrr9eSSYei6gAsMw== dependencies: - "@slickgrid-universal/common" "~3.4.1" + "@slickgrid-universal/common" "~3.4.2" "@slickgrid-universal/event-pub-sub@~3.4.0": version "3.4.0" @@ -1214,61 +1214,61 @@ dependencies: "@slickgrid-universal/utils" "~3.4.0" -"@slickgrid-universal/excel-export@~3.4.1": - version "3.4.1" - resolved "https://registry.yarnpkg.com/@slickgrid-universal/excel-export/-/excel-export-3.4.1.tgz#fda66a491d7a51185c7cc2dcc416b07f5bbe2148" - integrity sha512-TedyH8tcNDo4M+y+sMgZDNfA4wVoq3VjXaAuyZBAh0EE+XiziaivFw/w8pezBEjkt0SkCYfRy2gDLyS8h5SnRA== +"@slickgrid-universal/excel-export@~3.4.2": + version "3.4.2" + resolved "https://registry.yarnpkg.com/@slickgrid-universal/excel-export/-/excel-export-3.4.2.tgz#f832ca2e1f9949d9138ea37d532280d11297f95c" + integrity sha512-4558fjpGzsFh/ydvN4D4YDdtCwh6IVTjpKlY9NME86fU2MYF9WWKhLyp7KGPJB5VCsS13HYnx36aSsi5iKzFbQ== dependencies: - "@slickgrid-universal/common" "~3.4.1" + "@slickgrid-universal/common" "~3.4.2" "@slickgrid-universal/utils" "~3.4.0" excel-builder-webpacker "^2.1.8" moment-mini "^2.29.4" -"@slickgrid-universal/graphql@~3.4.1": - version "3.4.1" - resolved "https://registry.yarnpkg.com/@slickgrid-universal/graphql/-/graphql-3.4.1.tgz#25c6bc795facce6ae12c906bf268de799e3f481a" - integrity sha512-B3KXWaHXoQzPz4tTKMquLb/rmwadN59sfHSf7ta/YaeWwTVGl0iOwM8XMCPkCKMN36AQz4MZdvWhaY46jUd5uQ== +"@slickgrid-universal/graphql@~3.4.2": + version "3.4.2" + resolved "https://registry.yarnpkg.com/@slickgrid-universal/graphql/-/graphql-3.4.2.tgz#d2a0a62ac922c795644c6ac7361fcfec55dc34e1" + integrity sha512-pJfInMvc0aAc1KfNA1fOjxJlNdIBkRpjSVjJjGXKfdL77GL+Pos7xjcVjyN/rvYj+9HBKB2ms3rgf/Aem2xgFw== dependencies: - "@slickgrid-universal/common" "~3.4.1" + "@slickgrid-universal/common" "~3.4.2" -"@slickgrid-universal/odata@~3.4.1": - version "3.4.1" - resolved "https://registry.yarnpkg.com/@slickgrid-universal/odata/-/odata-3.4.1.tgz#94e1d2dc998f0ed4406baf7341c76caf76a66673" - integrity sha512-qbCZUbV+jseY0AqENlbRMyR9hAcMcmJPrCl5HPvaqn4RPRf6HZtjtfZ0UbybvPkUdNvxQyV7qu60WluoZck7Pg== +"@slickgrid-universal/odata@~3.4.2": + version "3.4.2" + resolved "https://registry.yarnpkg.com/@slickgrid-universal/odata/-/odata-3.4.2.tgz#4568a5564d786fdbeb9a427abb1487f0cf8dc519" + integrity sha512-gZdplns2PhaB6cqig4V5YdOg84hNIbJ9QP7sKNMsbfCktoupfx6DKuBB/u/40tc6iXBHWLFqLeK4gkMFKxnmmQ== dependencies: - "@slickgrid-universal/common" "~3.4.1" + "@slickgrid-universal/common" "~3.4.2" "@slickgrid-universal/utils" "~3.4.0" -"@slickgrid-universal/pagination-component@~3.4.1": - version "3.4.1" - resolved "https://registry.yarnpkg.com/@slickgrid-universal/pagination-component/-/pagination-component-3.4.1.tgz#e8514e35c67070975e7e879d8df741d4a8ce1ed6" - integrity sha512-btjTjQBIHJ55W1Zl+clAmULDBE5G0rxuo6C/dJStRUMgfWTT4xGDJg1n1u8Fu6gKO18kzc2SPNdaWTv6tBBPFg== +"@slickgrid-universal/pagination-component@~3.4.2": + version "3.4.2" + resolved "https://registry.yarnpkg.com/@slickgrid-universal/pagination-component/-/pagination-component-3.4.2.tgz#f81a24cd5a0f926dc83838d4958df0864d27bf6f" + integrity sha512-qoGkUYcATHh8fH91JfnTqkQO0uxG8RNBAgZeGcJ6i6fAUuAsSRzBfrim7eWXSP1xa4KPl1sC+jLtuVjTciKf2Q== dependencies: "@slickgrid-universal/binding" "~3.4.0" - "@slickgrid-universal/common" "~3.4.1" + "@slickgrid-universal/common" "~3.4.2" -"@slickgrid-universal/row-detail-view-plugin@~3.4.1": - version "3.4.1" - resolved "https://registry.yarnpkg.com/@slickgrid-universal/row-detail-view-plugin/-/row-detail-view-plugin-3.4.1.tgz#d1133c7b37470748c5ffd935f967c8c9517e797c" - integrity sha512-voPYZerdI10U+p8GnNmiM9ggGfogJDuM2+d5swAaHkO1hGVcJyRjeiVLcukuy35Ub/7JMVozJBpj5Ox6ri+JGg== +"@slickgrid-universal/row-detail-view-plugin@~3.4.2": + version "3.4.2" + resolved "https://registry.yarnpkg.com/@slickgrid-universal/row-detail-view-plugin/-/row-detail-view-plugin-3.4.2.tgz#b765c9a2c7ae89ad85db98c9bd7821cd470a25c4" + integrity sha512-Ozm68omoncdvIfSbepQetYu3cGiwwV/xbh6j2g/T+zu671mJ3btDrnADAA9DbhMDBCClJQ2ntbsVuZgINPS6bg== dependencies: - "@slickgrid-universal/common" "~3.4.1" + "@slickgrid-universal/common" "~3.4.2" "@slickgrid-universal/utils" "~3.4.0" -"@slickgrid-universal/rxjs-observable@~3.4.1": - version "3.4.1" - resolved "https://registry.yarnpkg.com/@slickgrid-universal/rxjs-observable/-/rxjs-observable-3.4.1.tgz#7be3404befb14dcc913ac01e948c34f6b85e7298" - integrity sha512-+hs13qeUJGm4Jj4GjZJf1iutoElOcLNMfc38GFtnFjSbz4vmgYusorfMM7FZA5DwzA3uDkxG+KZYjJV9AxeuLg== +"@slickgrid-universal/rxjs-observable@~3.4.2": + version "3.4.2" + resolved "https://registry.yarnpkg.com/@slickgrid-universal/rxjs-observable/-/rxjs-observable-3.4.2.tgz#f32e84d52504b3c900ea21050021e52ebbf994b1" + integrity sha512-GZ1g9R8DiwrxPFlj1jV8T5Dz68K+rQHzJzVWffLNCUL7fxa34hIJxAmQgqc4V+9X2GYs8IGEVG5p1JE9tbAhPQ== dependencies: - "@slickgrid-universal/common" "~3.4.1" + "@slickgrid-universal/common" "~3.4.2" rxjs "^7.8.1" -"@slickgrid-universal/text-export@~3.4.1": - version "3.4.1" - resolved "https://registry.yarnpkg.com/@slickgrid-universal/text-export/-/text-export-3.4.1.tgz#580e972470a030cc726e278084ff1dbd79866f32" - integrity sha512-t0niSU9rVh5sFYPM520VHmF5rX37hIuaPn6VE5WMDrBOW1lAjamlMqEb5mYc39PekanTHlOQ5K0HNIJzCpNVWA== +"@slickgrid-universal/text-export@~3.4.2": + version "3.4.2" + resolved "https://registry.yarnpkg.com/@slickgrid-universal/text-export/-/text-export-3.4.2.tgz#9ce7c16135ae7cee42ec31b12897377b8a98ee8d" + integrity sha512-RjvoovoqJ5yEiLdXhJXSiFybB8zW/eg0xvFVpK1sSSJUPyYB/tdZnFCay02KFMMLP9sY+UrFIoFiuLBpqISqyw== dependencies: - "@slickgrid-universal/common" "~3.4.1" + "@slickgrid-universal/common" "~3.4.2" "@slickgrid-universal/utils" "~3.4.0" text-encoding-utf-8 "^1.0.2" @@ -10494,10 +10494,10 @@ slash@^4.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== -slickgrid@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/slickgrid/-/slickgrid-4.1.2.tgz#f8e60a4b9102118b2dd1ccc68686f0b5fc1ca104" - integrity sha512-yXS/4k6SVpI4FacpzbAQ7GXFQGSKT3w8kn64y9YQ2by2D9kOqDigXub+LNurunPkh3BEOYxBx0kkPjy/I8BYPg== +slickgrid@^4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/slickgrid/-/slickgrid-4.1.3.tgz#fd49dbbceabf43628c7bea9865af4b2fdad2379e" + integrity sha512-mAJFYk4XNfGnNP3TQ/Rq/rEWRPaXOF7nqpQkgcTgOcz9RXXJ0jxgjx4L+iwLXJoZZnI9MxVZzdtp7NBHOu33gQ== dependencies: sortablejs "^1.15.0"