From ce3d481f9dc660d7dffe18353301855f81c1393f Mon Sep 17 00:00:00 2001 From: ghiscoding Date: Sat, 17 Sep 2022 18:56:47 -0400 Subject: [PATCH 1/9] feat(common)!: remove & replace jQueryUI with SortableJS --- package.json | 4 +- .../__tests__/aurelia-slickgrid.spec.ts | 6 +- .../custom-elements/aurelia-slickgrid.ts | 22 +++--- .../__tests__/slickRowDetailView.spec.ts | 2 +- src/examples/slickgrid/example23.ts | 8 +-- src/examples/slickgrid/example3.ts | 34 +++++----- src/examples/slickgrid/example30.ts | 58 +++++++++------- src/examples/slickgrid/example32.html | 3 +- src/examples/slickgrid/example32.ts | 12 ++-- test/cypress/e2e/example15.cy.js | 14 ++-- test/cypress/e2e/example16.cy.js | 10 +-- test/cypress/e2e/example18.cy.js | 10 ++- test/cypress/e2e/example23.cy.js | 2 +- test/cypress/e2e/example30.cy.js | 14 ++-- test/cypress/e2e/example34.cy.js | 10 +-- test/cypress/package.json | 1 + test/cypress/support/commands.js | 2 + test/cypress/support/drag.js | 67 +++++++++++++++++++ test/cypress/yarn.lock | 5 ++ test/httpClientStub.ts | 2 +- test/jest-pretest.ts | 5 +- yarn.lock | 10 +++ 22 files changed, 197 insertions(+), 104 deletions(-) create mode 100644 test/cypress/support/drag.js diff --git a/package.json b/package.json index 5c39056c5..bc8b7e9ec 100644 --- a/package.json +++ b/package.json @@ -70,7 +70,8 @@ "aurelia-i18n": "^3.1.4", "aurelia-pal": "^1.8.2", "dompurify": "^2.4.0", - "jquery": "^3.6.1" + "jquery": "^3.6.1", + "sortablejs": "^1.15.0" }, "peerDependencies": { "i18next": ">= 14.1.1" @@ -93,6 +94,7 @@ "@types/jest": "^29.0.2", "@types/jquery": "^3.5.14", "@types/node": "^18.7.16", + "@types/sortablejs": "^1.13.0", "@types/webpack": "^5.28.0", "@typescript-eslint/eslint-plugin": "^5.37.0", "@typescript-eslint/parser": "^5.37.0", diff --git a/src/aurelia-slickgrid/custom-elements/__tests__/aurelia-slickgrid.spec.ts b/src/aurelia-slickgrid/custom-elements/__tests__/aurelia-slickgrid.spec.ts index 5fac18461..f0645e041 100644 --- a/src/aurelia-slickgrid/custom-elements/__tests__/aurelia-slickgrid.spec.ts +++ b/src/aurelia-slickgrid/custom-elements/__tests__/aurelia-slickgrid.spec.ts @@ -734,7 +734,7 @@ describe('Aurelia-Slickgrid Component instantiated via Constructor', () => { http.returnKey = 'date'; http.returnValue = '6/24/1984'; http.responseHeaders = { accept: 'json' }; - const collectionAsync = http.fetch('/api', { method: 'GET' }); + const collectionAsync = http.fetch('http://locahost/api', { method: 'GET' }); const mockColDefs = [{ id: 'gender', field: 'gender', editor: { model: Editors.text, collectionAsync } }] as Column[]; customElement.columnDefinitions = mockColDefs; @@ -777,7 +777,7 @@ describe('Aurelia-Slickgrid Component instantiated via Constructor', () => { http.returnKey = 'date'; http.returnValue = '6/24/1984'; http.responseHeaders = { accept: 'json' }; - const collectionAsync = http.fetch('invalid-url', { method: 'GET' }); + const collectionAsync = http.fetch('http://invalid-url', { method: 'GET' }); const mockColDefs = [{ id: 'gender', field: 'gender', editor: { model: Editors.text, collectionAsync } }] as Column[]; jest.spyOn(mockGrid, 'getColumns').mockReturnValue(mockColDefs); @@ -786,7 +786,7 @@ describe('Aurelia-Slickgrid Component instantiated via Constructor', () => { customElement.initialization(slickEventHandler); setTimeout(() => { - expect(consoleSpy).toHaveBeenCalledWith(expect.toInclude('[Aurelia-SlickGrid] The response body passed to collectionAsync was already read.Either pass the dataset from the Response or clone the response first using response.clone()')); + expect(consoleSpy).toHaveBeenCalledWith(expect.toInclude('[Aurelia-SlickGrid] The response body passed to collectionAsync was already read. Either pass the dataset from the Response or clone the response first using response.clone()')); done(); }); }); diff --git a/src/aurelia-slickgrid/custom-elements/aurelia-slickgrid.ts b/src/aurelia-slickgrid/custom-elements/aurelia-slickgrid.ts index 982e2e2b3..0c49bbd69 100644 --- a/src/aurelia-slickgrid/custom-elements/aurelia-slickgrid.ts +++ b/src/aurelia-slickgrid/custom-elements/aurelia-slickgrid.ts @@ -1,18 +1,15 @@ // import 3rd party vendor libs -// also only import jQueryUI necessary widget (note autocomplete & slider are imported in their respective editors/filters) import * as $ from 'jquery'; -import 'jquery-ui/ui/widgets/draggable'; -import 'jquery-ui/ui/widgets/droppable'; -import 'jquery-ui/ui/widgets/sortable'; -import 'slickgrid/lib/jquery.event.drag-2.3.0'; -import 'slickgrid/lib/jquery.mousewheel'; import 'slickgrid/slick.core'; +import 'slickgrid/slick.interactions'; import 'slickgrid/slick.dataview'; import 'slickgrid/slick.grid'; +import * as Sortable_ from 'sortablejs'; +const Sortable = ((Sortable_ as any)?.['default'] ?? Sortable_); // patch for rollup import { // interfaces/types - AutoCompleteEditor, + AutocompleterEditor, BackendServiceApi, BackendServiceOption, Column, @@ -82,6 +79,9 @@ import { SlickRowDetailView } from '../extensions/slickRowDetailView'; // using external non-typed js libraries declare const Slick: SlickNamespace; +// add Sortable to the window object so that SlickGrid lib can use globally +(window as any).Sortable = Sortable; + // Aurelia doesn't support well TypeScript @autoinject in a Plugin so we'll do it the manual way @inject( AureliaUtilService, @@ -1135,14 +1135,14 @@ export class AureliaSlickgridCustomElement { this.updateEditorCollection(column, response); // from Promise } else if (response instanceof Response && typeof response.json === 'function') { if (response.bodyUsed) { - console.warn(`[Aurelia-SlickGrid] The response body passed to collectionAsync was already read.` + console.warn(`[Aurelia-SlickGrid] The response body passed to collectionAsync was already read. ` + `Either pass the dataset from the Response or clone the response first using response.clone()`); } else { // from Fetch (response as Response).json().then(data => this.updateEditorCollection(column, data)); } - } else if (response && response['content']) { - this.updateEditorCollection(column, response['content']); // from http-client + } else if (response?.content) { + this.updateEditorCollection(column, response.content); // from http-client } }); } else if (this.rxjs?.isObservable(collectionAsync)) { @@ -1460,7 +1460,7 @@ export class AureliaSlickgridCustomElement { } // get current Editor, remove it from the DOM then re-enable it and re-render it with the new collection. - const currentEditor = this.grid.getCellEditor() as AutoCompleteEditor | SelectEditor; + const currentEditor = this.grid.getCellEditor() as AutocompleterEditor | SelectEditor; if (currentEditor?.disable && currentEditor?.renderDomElement) { currentEditor.destroy(); currentEditor.disable(false); diff --git a/src/aurelia-slickgrid/extensions/__tests__/slickRowDetailView.spec.ts b/src/aurelia-slickgrid/extensions/__tests__/slickRowDetailView.spec.ts index 5ed80c33a..85eb8326d 100644 --- a/src/aurelia-slickgrid/extensions/__tests__/slickRowDetailView.spec.ts +++ b/src/aurelia-slickgrid/extensions/__tests__/slickRowDetailView.spec.ts @@ -548,7 +548,7 @@ describe('SlickRowDetailView', () => { http.returnKey = 'date'; http.returnValue = '6/24/1984'; http.responseHeaders = { accept: 'json' }; - gridOptionsMock.rowDetailView!.process = () => http.fetch('/api', { method: 'GET' }); + gridOptionsMock.rowDetailView!.process = () => http.fetch('http://localhost/api', { method: 'GET' }); plugin.init(gridStub); plugin.onAsyncResponse = new Slick.Event(); plugin.onAsyncResponse.subscribe((_e, response) => { diff --git a/src/examples/slickgrid/example23.ts b/src/examples/slickgrid/example23.ts index 4456b8fa3..7386fa934 100644 --- a/src/examples/slickgrid/example23.ts +++ b/src/examples/slickgrid/example23.ts @@ -13,7 +13,6 @@ import { Formatters, GridOption, GridStateChange, - JQueryUiSliderOption, Metrics, MultipleSelectOption, OperatorType, @@ -31,7 +30,7 @@ const taskTranslateFormatter: Formatter = (_row, _cell, value, _columnDef, _data const gridOptions = (grid && typeof grid.getOptions === 'function') ? grid.getOptions() : {}; const i18n = gridOptions.i18n; - return i18n?.tr('TASK_X', { x: value }) ?? ''; + return i18n?.tr('TASK_X', { x: value } as any) ?? ''; }; @autoinject() @@ -113,11 +112,12 @@ export class Example23 { type: FieldType.number, filterable: true, filter: { - model: Filters.sliderRange, + // model: Filters.sliderRange, + model: Filters.slider, maxValue: 100, // or you can use the filterOptions as well operator: OperatorType.rangeInclusive, // defaults to exclusive params: { hideSliderNumbers: false }, // you can hide/show the slider numbers on both side - filterOptions: { min: 0, step: 5 } as JQueryUiSliderOption // you can also optionally pass any option of the jQuery UI Slider + filterOptions: { min: 0, step: 5 } } }, { diff --git a/src/examples/slickgrid/example3.ts b/src/examples/slickgrid/example3.ts index e0f2b6bd5..d0ebb2ada 100644 --- a/src/examples/slickgrid/example3.ts +++ b/src/examples/slickgrid/example3.ts @@ -4,7 +4,7 @@ import { HttpClient } from 'aurelia-http-client'; import { I18N } from 'aurelia-i18n'; import { AureliaGridInstance, - AutocompleteOption, + AutocompleterOption, Column, EditCommand, Editors, @@ -271,7 +271,7 @@ export class Example3 { sortable: true, minWidth: 100, editor: { - model: Editors.autoComplete, + model: Editors.autocompleter, placeholder: '🔎︎ search city', // We can use the autocomplete through 3 ways "collection", "collectionAsync" or with your own autocomplete options @@ -279,8 +279,9 @@ export class Example3 { // here we use $.ajax just because I'm not sure how to configure Aurelia HttpClient with JSONP and CORS editorOptions: { minLength: 3, + emptyMsg: 'No elements found', forceUserInput: true, - source: (request, response) => { + fetch: (searchText: string, updateCallback: (items: false | any[]) => void) => { /** with FETCH, note this demo won't work because of CORS */ // this.httpFetch.fetch(`http://gd.geobytes.com/AutoCompleteCity?q=${request.term}`) // .then(response => response.json()) @@ -292,17 +293,18 @@ export class Example3 { url: 'http://gd.geobytes.com/AutoCompleteCity', dataType: 'jsonp', data: { - q: request.term + q: searchText }, success: (data) => { - response(data); + const finalData = (data.length === 1 && data[0] === '') ? [] : data; // invalid result should be [] instead of [''] to show empty msg + updateCallback(finalData); } }); } - } as AutocompleteOption, + } as AutocompleterOption, }, filter: { - model: Filters.autoComplete, + model: Filters.autocompleter, // placeholder: '🔎︎ search city', // We can use the autocomplete through 3 ways "collection", "collectionAsync" or with your own autocomplete options @@ -312,19 +314,21 @@ export class Example3 { // here we use $.ajax just because I'm not sure how to configure Aurelia HttpClient with JSONP and CORS filterOptions: { minLength: 3, - source: (request, response) => { + emptyMsg: 'No elements found', + fetch: (searchText: string, updateCallback: (items: false | any[]) => void) => { $.ajax({ url: 'http://gd.geobytes.com/AutoCompleteCity', dataType: 'jsonp', data: { - q: request.term + q: searchText }, success: (data) => { - response(data); + const finalData = (data.length === 1 && data[0] === '') ? [] : data; // invalid result should be [] instead of [''] to show empty msg + updateCallback(finalData); } }); } - } as AutocompleteOption, + } as AutocompleterOption, } }, { id: 'countryOfOrigin', name: 'Country of Origin', field: 'countryOfOrigin', @@ -337,12 +341,12 @@ export class Example3 { sortable: true, minWidth: 100, editor: { - model: Editors.autoComplete, + model: Editors.autocompleter, customStructure: { label: 'name', value: 'code' }, collectionAsync: this.httpFetch.fetch(URL_COUNTRIES_COLLECTION), }, filter: { - model: Filters.autoComplete, + model: Filters.autocompleter, customStructure: { label: 'name', value: 'code' }, collectionAsync: this.httpFetch.fetch(URL_COUNTRIES_COLLECTION), } @@ -352,11 +356,11 @@ export class Example3 { sortable: true, minWidth: 100, editor: { - model: Editors.autoComplete, + model: Editors.autocompleter, collectionAsync: this.httpFetch.fetch(URL_COUNTRY_NAMES), }, filter: { - model: Filters.autoComplete, + model: Filters.autocompleter, collectionAsync: this.httpFetch.fetch(URL_COUNTRY_NAMES), } }, { diff --git a/src/examples/slickgrid/example30.ts b/src/examples/slickgrid/example30.ts index 4c8b3fff6..a21650209 100644 --- a/src/examples/slickgrid/example30.ts +++ b/src/examples/slickgrid/example30.ts @@ -1,4 +1,3 @@ -import { EditCommand, SlickGrid } from '@slickgrid-universal/common'; import { SlickCompositeEditorComponent } from '@slickgrid-universal/composite-editor-component'; import { ExcelExportService } from '@slickgrid-universal/excel-export'; import { HttpClient as FetchClient } from 'aurelia-fetch-client'; @@ -6,12 +5,14 @@ import { autoinject } from 'aurelia-framework'; import { AureliaGridInstance, - AutocompleteOption, + AutocompleterOption, Column, CompositeEditorModalType, + EditCommand, Editors, FieldType, Filters, + FlatpickrOption, formatNumber, Formatter, Formatters, @@ -19,6 +20,7 @@ import { GridStateChange, LongTextEditorOption, OnCompositeEditorChangeEventArgs, + SlickGrid, SlickNamespace, SortComparers, } from '../../aurelia-slickgrid'; @@ -235,7 +237,17 @@ export class Example30 { exportCustomFormatter: Formatters.dateUs, editor: { model: Editors.date, - editorOptions: { minDate: 'today' }, + editorOptions: { + minDate: 'today', + + // if we want to preload the date picker with a different date, + // we could toggle the `closeOnSelect: false`, set the date in the picker and re-toggle `closeOnSelect: true` + // closeOnSelect: false, + // onOpen: (selectedDates: Date[] | Date, dateStr: string, instance: FlatpickrInstance) => { + // instance.setDate('2021-06-04', true); + // instance.set('closeOnSelect', true); + // }, + } as FlatpickrOption, massUpdate: true, validator: (value, args) => { const dataContext = args && args.item; @@ -258,17 +270,16 @@ export class Example30 { type: FieldType.object, sortComparer: SortComparers.objectString, editor: { - model: Editors.autoComplete, + model: Editors.autocompleter, alwaysSaveOnEnterKey: true, massUpdate: true, // example with a Remote API call editorOptions: { minLength: 1, - source: (request, response) => { - // const items = require('c://TEMP/items.json'); + fetch: (searchTerm: string, callback: (items: false | any[]) => void) => { const products = this.mockProducts(); - response(products.filter(product => product.itemName.toLowerCase().includes(request.term.toLowerCase()))); + callback(products.filter(product => product.itemName.toLowerCase().includes(searchTerm.toLowerCase()))); }, renderItem: { // layout: 'twoRows', @@ -277,11 +288,11 @@ export class Example30 { layout: 'fourCorners', templateCallback: (item: any) => this.renderItemCallbackWith4Corners(item), }, - } as AutocompleteOption, + } as AutocompleterOption, }, filter: { model: Filters.inputText, - // placeholder: '🔎︎ search city', + // placeholder: '🔎︎ search product', type: FieldType.string, queryField: 'product.itemName', } @@ -298,10 +309,11 @@ export class Example30 { sortable: true, minWidth: 100, editor: { - model: Editors.autoComplete, + model: Editors.autocompleter, massUpdate: true, customStructure: { label: 'name', value: 'code' }, collectionAsync: this.httpFetch.fetch(URL_COUNTRIES_COLLECTION), + editorOptions: { minLength: 0 } }, filter: { model: Filters.inputText, @@ -404,7 +416,7 @@ export class Example30 { const prevSerializedValue = prevSerializedValues[index]; const serializedValue = serializedValues[index]; - if (prevSerializedValue !== serializedValue) { + if (prevSerializedValue !== serializedValue || serializedValue === '') { const finalColumn = Array.isArray(editCommand.prevSerializedValue) ? editorColumns[index] : column; this.editedItems[this.gridOptions.datasetIdPropertyName || 'id'] = item; // keep items by their row indexes, if the row got edited twice then we'll keep only the last change this.aureliaGrid.slickGrid.invalidate(); @@ -749,7 +761,7 @@ export class Example30 { listPrice: 2100.23, itemTypeName: 'I', image: 'http://i.stack.imgur.com/pC1Tv.jpg', - icon: `fa ${this.getRandomIcon(0)}`, + icon: this.getRandomIcon(0) }, { id: 1, @@ -758,7 +770,7 @@ export class Example30 { listPrice: 3200.12, itemTypeName: 'I', image: 'https://i.imgur.com/Fnm7j6h.jpg', - icon: `fa ${this.getRandomIcon(1)}`, + icon: this.getRandomIcon(1) }, { id: 2, @@ -767,7 +779,7 @@ export class Example30 { listPrice: 15.00, itemTypeName: 'I', image: 'https://i.imgur.com/RaVJuLr.jpg', - icon: `fa ${this.getRandomIcon(2)}`, + icon: this.getRandomIcon(2) }, { id: 3, @@ -776,7 +788,7 @@ export class Example30 { listPrice: 25.76, itemTypeName: 'I', image: 'http://i.stack.imgur.com/pC1Tv.jpg', - icon: `fa ${this.getRandomIcon(3)}`, + icon: this.getRandomIcon(3) }, { id: 4, @@ -785,7 +797,7 @@ export class Example30 { listPrice: 13.35, itemTypeName: 'I', image: 'https://i.imgur.com/Fnm7j6h.jpg', - icon: `fa ${this.getRandomIcon(4)}`, + icon: this.getRandomIcon(4) }, { id: 5, @@ -794,7 +806,7 @@ export class Example30 { listPrice: 23.33, itemTypeName: 'I', image: 'https://i.imgur.com/RaVJuLr.jpg', - icon: `fa ${this.getRandomIcon(5)}`, + icon: this.getRandomIcon(5) }, { id: 6, @@ -803,7 +815,7 @@ export class Example30 { listPrice: 71.21, itemTypeName: 'I', image: 'http://i.stack.imgur.com/pC1Tv.jpg', - icon: `fa ${this.getRandomIcon(6)}`, + icon: this.getRandomIcon(6) }, { id: 7, @@ -812,7 +824,7 @@ export class Example30 { listPrice: 2.43, itemTypeName: 'I', image: 'https://i.imgur.com/Fnm7j6h.jpg', - icon: `fa ${this.getRandomIcon(7)}`, + icon: this.getRandomIcon(7) }, { id: 8, @@ -821,7 +833,7 @@ export class Example30 { listPrice: 31288.39, itemTypeName: 'I', image: 'https://i.imgur.com/RaVJuLr.jpg', - icon: `fa ${this.getRandomIcon(8)}`, + icon: this.getRandomIcon(8) }, ]; } @@ -917,13 +929,13 @@ export class Example30 {
- + ${item.itemName}
-
+
-
${item.itemNameTranslated}
+
${item.itemNameTranslated}
`; } diff --git a/src/examples/slickgrid/example32.html b/src/examples/slickgrid/example32.html index e8ef99719..303be9bbe 100644 --- a/src/examples/slickgrid/example32.html +++ b/src/examples/slickgrid/example32.html @@ -57,8 +57,7 @@

Container Width (950px)

grid-options.bind="gridOptions" dataset.bind="dataset" pagination-options.bind="paginationOptions" - on-aurelia-grid-created.delegate="aureliaGridReady($event.detail)" - on-grid-state-changed.delegate="gridStateChanged($event.detail)"> + on-aurelia-grid-created.delegate="aureliaGridReady($event.detail)"> diff --git a/src/examples/slickgrid/example32.ts b/src/examples/slickgrid/example32.ts index b84ffc341..cfb196afd 100644 --- a/src/examples/slickgrid/example32.ts +++ b/src/examples/slickgrid/example32.ts @@ -1,5 +1,5 @@ import { - AutocompleteOption, + AutocompleterOption, Column, EditCommand, Editors, @@ -232,17 +232,17 @@ export class Example32 { type: FieldType.object, sortComparer: SortComparers.objectString, editor: { - model: Editors.autoComplete, + model: Editors.autocompleter, alwaysSaveOnEnterKey: true, massUpdate: true, // example with a Remote API call editorOptions: { minLength: 1, - source: (request, response) => { + fetch: (searchTerm: string, callback: (items: false | any[]) => void) => { // const items = require('c://TEMP/items.json'); const products = this.mockProducts(); - response(products.filter(product => product.itemName.toLowerCase().includes(request.term.toLowerCase()))); + callback(products.filter(product => product.itemName.toLowerCase().includes(searchTerm.toLowerCase()))); }, renderItem: { // layout: 'twoRows', @@ -251,7 +251,7 @@ export class Example32 { layout: 'fourCorners', templateCallback: (item: any) => this.renderItemCallbackWith4Corners(item), }, - } as AutocompleteOption, + } as AutocompleterOption, }, filter: { model: Filters.inputText, @@ -272,7 +272,7 @@ export class Example32 { sortable: true, minWidth: 100, editor: { - model: Editors.autoComplete, + model: Editors.autocompleter, massUpdate: true, customStructure: { label: 'name', value: 'code' }, collectionAsync: this.httpFetch.fetch(URL_COUNTRIES_COLLECTION), diff --git a/test/cypress/e2e/example15.cy.js b/test/cypress/e2e/example15.cy.js index b49639d2f..265d92dd6 100644 --- a/test/cypress/e2e/example15.cy.js +++ b/test/cypress/e2e/example15.cy.js @@ -62,14 +62,10 @@ describe('Example 15: Grid State & Presets using Local Storage', { retries: 1 }, cy.get('.slick-header-columns') .children('.slick-header-column:nth(1)') - .should('contain', 'Title') - .trigger('mousedown', 'bottom', { which: 1 }); + .contains('Title') + .drag('.slick-header-column:nth(3)'); - cy.get('.slick-header-columns') - .children('.slick-header-column:nth(3)') - .should('contain', 'Duration') - .trigger('mousemove', 'bottomRight') - .trigger('mouseup', 'bottomRight', { which: 1, force: true }); + cy.get('.slick-header-column:nth(3)').contains('Title'); cy.get('#grid15') .find('.slick-header-columns') @@ -80,6 +76,10 @@ describe('Example 15: Grid State & Presets using Local Storage', { retries: 1 }, // -- // Cypress does not yet implement the .hover() method and this test won't work until then xit('should resize "Title" column and make it wider', () => { + cy.get('#grid15 .slick-viewport-top.slick-viewport-left') + .scrollTo('left') + .wait(50); + cy.get('.slick-header-columns') .children('.slick-header-column:nth(3)') .should('contain', 'Title'); diff --git a/test/cypress/e2e/example16.cy.js b/test/cypress/e2e/example16.cy.js index 0b1cfa3a0..22118695b 100644 --- a/test/cypress/e2e/example16.cy.js +++ b/test/cypress/e2e/example16.cy.js @@ -111,14 +111,10 @@ describe('Example 16 - Row Move & Checkbox Selector Selector Plugins', { retries cy.get('.slick-header-columns') .children('.slick-header-column:nth(3)') - .should('contain', 'Duration') - .trigger('mousedown', 'center', { which: 1 }); + .contains('Duration') + .drag('.slick-header-column:nth(6)'); - cy.get('.slick-header-columns') - .children('.slick-header-column:nth(6)') - .should('contain', 'Finish') - .trigger('mousemove', 'bottomRight') - .trigger('mouseup', 'bottomRight', { which: 1, force: true }); + cy.get('.slick-header-column:nth(6)').contains('Duration'); cy.get('#grid16') .find('.slick-header-columns') diff --git a/test/cypress/e2e/example18.cy.js b/test/cypress/e2e/example18.cy.js index 3301b7aa0..57d3a23c8 100644 --- a/test/cypress/e2e/example18.cy.js +++ b/test/cypress/e2e/example18.cy.js @@ -68,12 +68,10 @@ describe('Example 18 - Draggable Grouping & Aggregators', { retries: 1 }, () => it('should be able to drag and swap grouped column titles inside the pre-header', () => { cy.get('.slick-dropped-grouping:nth(0) div') .contains('Duration') - .trigger('mousedown', 'center', { which: 1 }); + .drag('.slick-dropped-grouping:nth(1) div'); - cy.get('.slick-dropped-grouping:nth(1) div') - .contains('Effort-Driven') - .trigger('mousemove', 'bottomRight') - .trigger('mouseup', 'bottomRight', { which: 1, force: true }); + cy.get('.slick-dropped-grouping:nth(0) div').contains('Effort-Driven'); + cy.get('.slick-dropped-grouping:nth(1) div').contains('Duration'); }); it('should expect the grouping to be swapped as well in the grid', () => { @@ -169,7 +167,7 @@ describe('Example 18 - Draggable Grouping & Aggregators', { retries: 1 }, () => .should('be.hidden'); cy.get('#grid18') - .find('.slick-draggable-dropbox-toggle-placeholder') + .find('.slick-draggable-dropzone-placeholder') .should('be.visible') .should('have.text', 'Drop a column header here to group by the column'); }); diff --git a/test/cypress/e2e/example23.cy.js b/test/cypress/e2e/example23.cy.js index 2e4084ccb..719310543 100644 --- a/test/cypress/e2e/example23.cy.js +++ b/test/cypress/e2e/example23.cy.js @@ -75,7 +75,7 @@ describe('Example 23 - Range Filters', { retries: 1 }, () => { }); }); - it('should change "% Complete" filter range by using the slider left handle (min value) to make it a higher min value and expect all rows to be within new range', () => { + xit('should change "% Complete" filter range by using the slider left handle (min value) to make it a higher min value and expect all rows to be within new range', () => { let newLowest = presetMinComplete; let newHighest = presetMaxComplete; diff --git a/test/cypress/e2e/example30.cy.js b/test/cypress/e2e/example30.cy.js index 14e5a95fd..7d487cf86 100644 --- a/test/cypress/e2e/example30.cy.js +++ b/test/cypress/e2e/example30.cy.js @@ -233,8 +233,8 @@ describe('Example 30 Composite Editor Modal', { retries: 1 }, () => { cy.get('.item-details-container.editor-completed .modified').should('have.length', 1); cy.get('.item-details-container.editor-product .autocomplete').type('granite'); - cy.get('.ui-menu.ui-autocomplete.autocomplete-custom-four-corners').should('be.visible'); - cy.get('.ui-menu.ui-autocomplete.autocomplete-custom-four-corners').find('li.ui-menu-item:nth(0)').click(); + cy.get('.slick-autocomplete.autocomplete-custom-four-corners').should('be.visible'); + cy.get('.slick-autocomplete.autocomplete-custom-four-corners').find('div:nth(0)').click(); cy.get('.item-details-container.editor-product .modified').should('have.length', 1); cy.get('.item-details-container.editor-duration .editor-text').type('22'); @@ -245,8 +245,8 @@ describe('Example 30 Composite Editor Modal', { retries: 1 }, () => { cy.get(`.flatpickr-day.today:visible`).click('bottom', { force: true }); cy.get('.item-details-container.editor-finish .modified').should('have.length', 1); - cy.get('.item-details-container.editor-origin .autocomplete').type('antar'); - cy.get('.ui-menu.ui-autocomplete:visible').find('li.ui-menu-item:nth(0)').click(); + cy.get('.item-details-container.editor-origin .autocomplete').type('c'); + cy.get('.slick-autocomplete:visible').find('div:nth(1)').click(); cy.get('.item-details-container.editor-origin .autocomplete').invoke('val').then(text => expect(text).to.eq('Antarctica')); cy.get('.item-details-container.editor-origin .modified').should('have.length', 1); @@ -321,7 +321,7 @@ describe('Example 30 Composite Editor Modal', { retries: 1 }, () => { cy.get('.item-details-container.editor-finish .modified').should('have.length', 1); cy.get('.item-details-container.editor-origin .autocomplete').type('bel'); - cy.get('.ui-menu.ui-autocomplete:visible').find('li.ui-menu-item:nth(1)').click(); + cy.get('.slick-autocomplete:visible').find('div:nth(1)').click(); cy.get('.item-details-container.editor-origin .modified').should('have.length', 1); cy.get('.item-details-container.editor-origin .autocomplete').invoke('val').then(text => expect(text).to.eq('Belgium')); @@ -381,7 +381,7 @@ describe('Example 30 Composite Editor Modal', { retries: 1 }, () => { cy.get('.item-details-container.editor-finish .modified').should('have.length', 1); cy.get('.item-details-container.editor-origin .autocomplete').type('bel'); - cy.get('.ui-menu.ui-autocomplete:visible').find('li.ui-menu-item:nth(1)').click(); + cy.get('.slick-autocomplete:visible').find('div:nth(1)').click(); cy.get('.item-details-container.editor-origin .modified').should('have.length', 1); cy.get('.item-details-container.editor-origin .autocomplete').invoke('val').then(text => expect(text).to.eq('Belgium')); }); @@ -433,7 +433,7 @@ describe('Example 30 Composite Editor Modal', { retries: 1 }, () => { cy.get('.item-details-container.editor-finish .modified').should('have.length', 1); cy.get('.item-details-container.editor-origin .autocomplete').type('ze'); - cy.get('.ui-menu.ui-autocomplete:visible').find('li.ui-menu-item:nth(1)').click(); + cy.get('.slick-autocomplete:visible').find('div:nth(1)').click(); cy.get('.item-details-container.editor-origin .modified').should('have.length', 1); cy.get('.item-details-container.editor-origin .autocomplete').invoke('val').then(text => expect(text).to.eq('Belize')); diff --git a/test/cypress/e2e/example34.cy.js b/test/cypress/e2e/example34.cy.js index 65a512054..776230a84 100644 --- a/test/cypress/e2e/example34.cy.js +++ b/test/cypress/e2e/example34.cy.js @@ -47,13 +47,9 @@ describe('Example 34 - Real-Time Trading Platform', { retries: 1 }, () => { }); it('should Group by 1st column "Currency" and expect 2 groups with Totals when collapsed', () => { - cy.get('.slick-column-name') - .first() - .trigger('mousedown', { which: 1, force: true }) - - cy.get('.slick-draggable-dropbox-toggle-placeholder') - .trigger('mousemove', 'center') - .trigger('mouseup', 'center', { which: 1, force: true }); + cy.get('.slick-header-column:nth(0)') + .contains('Currency') + .drag('.slick-dropzone', { force: true }); cy.get('.slick-group-toggle-all') .click(); diff --git a/test/cypress/package.json b/test/cypress/package.json index 566b58a1d..a23c32989 100644 --- a/test/cypress/package.json +++ b/test/cypress/package.json @@ -10,6 +10,7 @@ "author": "Ghislain B.", "license": "MIT", "devDependencies": { + "@4tw/cypress-drag-drop": "^2.2.1", "cypress": "^10.8.0" } } diff --git a/test/cypress/support/commands.js b/test/cypress/support/commands.js index 9345567a7..34e002ccf 100644 --- a/test/cypress/support/commands.js +++ b/test/cypress/support/commands.js @@ -22,6 +22,8 @@ // // // -- This is will overwrite an existing command -- +import '@4tw/cypress-drag-drop'; + // Cypress.Commands.overwrite("visit", (originalFn, url, options) => { ... }) Cypress.Commands.add('triggerHover', (elements) => { console.log(elements) diff --git a/test/cypress/support/drag.js b/test/cypress/support/drag.js new file mode 100644 index 000000000..b107728f4 --- /dev/null +++ b/test/cypress/support/drag.js @@ -0,0 +1,67 @@ +import { convertPosition } from './common'; + +Cypress.Commands.add("dragStart", { prevSubject: true }, (subject, { cellWidth = 90, cellHeight = 35 } = {}) => { + return cy.wrap(subject).click({ force: true }) + .trigger('mousedown', { which: 1 }, { force: true }) + .trigger('mousemove', cellWidth / 3, cellHeight / 3); +}); + +// use a different command name than "drag" so that it doesn't conflict with the "@4tw/cypress-drag-drop" lib +Cypress.Commands.add("dragCell", { prevSubject: true }, (subject, addRow, addCell, { cellWidth = 90, cellHeight = 35 } = {}) => { + return cy.wrap(subject).trigger('mousemove', cellWidth * (addCell + 0.5), cellHeight * (addRow + 0.5), { force: true }); +}); + +Cypress.Commands.add("dragOutside", (viewport = 'topLeft', ms = 0, px = 0, { parentSelector = 'div[class^="slickgrid_"]', scrollbarDimension = 17 } = {}) => { + const $parent = cy.$$(parentSelector); + const gridWidth = $parent.width(); + const gridHeight = $parent.height(); + var x = gridWidth / 2; + var y = gridHeight / 2; + const position = convertPosition(viewport); + if (position.x === "left") { + x = -px; + } else if (position.x === "right") { + x = gridWidth - scrollbarDimension + 3 + px; + } + if (position.y === "top") { + y = -px; + } else if (position.y === "bottom") { + y = gridHeight - scrollbarDimension + 3 + px; + } + + cy.get(parentSelector).trigger('mousemove', x, y, { force: true }); + if (ms) { + cy.wait(ms); + } + return; +}); + +Cypress.Commands.add("dragEnd", { prevSubject: 'optional' }, (_subject, gridSelector = 'div[class^="slickgrid_"]') => { + cy.get(gridSelector).trigger('mouseup', { force: true }); + return; +}); + +export function getScrollDistanceWhenDragOutsideGrid(selector, viewport, dragDirection, fromRow, fromCol, px = 140) { + return cy.convertPosition(viewport).then(_viewportPosition => { + const viewportSelector = `${selector} .slick-viewport-${_viewportPosition.x}.slick-viewport-${_viewportPosition.y}` + cy.getCell(fromRow, fromCol, viewport, { parentSelector: selector }) + .dragStart(); + return cy.get(viewportSelector).then($viewport => { + const scrollTopBefore = $viewport.scrollTop(); + const scrollLeftBefore = $viewport.scrollLeft(); + cy.dragOutside(dragDirection, 300, px, { parentSelector: selector }); + return cy.get(viewportSelector).then($viewportAfter => { + cy.dragEnd(selector); + const scrollTopAfter = $viewportAfter.scrollTop(); + const scrollLeftAfter = $viewportAfter.scrollLeft(); + cy.get(viewportSelector).scrollTo(0, 0, { ensureScrollable: false }); + return cy.wrap({ + scrollTopBefore, + scrollLeftBefore, + scrollTopAfter, + scrollLeftAfter + }); + }); + }); + }); +} \ No newline at end of file diff --git a/test/cypress/yarn.lock b/test/cypress/yarn.lock index 4394af5f9..e522e225c 100644 --- a/test/cypress/yarn.lock +++ b/test/cypress/yarn.lock @@ -2,6 +2,11 @@ # yarn lockfile v1 +"@4tw/cypress-drag-drop@^2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@4tw/cypress-drag-drop/-/cypress-drag-drop-2.2.1.tgz#bfacd45269ec3a5cbdb776cb05b7803d346f0792" + integrity sha512-+ioJSnEwx70IiMyb4pLEjOS5u6AMWRIVCV20toCY7lb0YcvA0ipbjQBa9DdxEI7Zg2E2jtcIj7Rx0e3WNUbk/w== + "@cypress/request@^2.88.10": version "2.88.10" resolved "https://registry.yarnpkg.com/@cypress/request/-/request-2.88.10.tgz#b66d76b07f860d3a4b8d7a0604d020c662752cce" diff --git a/test/httpClientStub.ts b/test/httpClientStub.ts index cdcc9dba0..bbb94fc3c 100644 --- a/test/httpClientStub.ts +++ b/test/httpClientStub.ts @@ -41,7 +41,7 @@ export class HttpStub extends HttpClient { } else { const data = JSON.stringify(this.object); const response = new Response(data, responseInit); - if (input === 'invalid-url') { + if (input.includes('invalid-url')) { Object.defineProperty(response, 'bodyUsed', { writable: true, configurable: true, value: true }); } return this.status >= 200 && this.status < 300 ? Promise.resolve(response) : Promise.reject(response); diff --git a/test/jest-pretest.ts b/test/jest-pretest.ts index 6ac8f0c65..16cf9b896 100644 --- a/test/jest-pretest.ts +++ b/test/jest-pretest.ts @@ -2,6 +2,7 @@ import 'aurelia-polyfills'; import 'isomorphic-fetch'; import 'jsdom-global/register'; import { globalize } from 'aurelia-pal-nodejs'; +import Sortable from 'sortablejs'; globalize(); // import jQuery AFTER globalize() is the only way to get the test working @@ -11,9 +12,9 @@ import * as jQuery from 'jquery'; (window as any).$ = (window as any).jQuery = jQuery; (global as any).navigator = { userAgent: 'node.js' }; (global as any).Slick = (window as any).Slick = {}; +(global as any).Sortable = (window as any).Sortable = Sortable; -require('jquery-ui/dist/jquery-ui.js'); -require('slickgrid/lib/jquery.event.drag-2.3.0'); require('slickgrid/slick.core'); require('slickgrid/slick.dataview'); +require('slickgrid/slick.interactions'); require('slickgrid/slick.grid'); diff --git a/yarn.lock b/yarn.lock index 91687a465..e3b9559f2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1560,6 +1560,11 @@ dependencies: "@types/node" "*" +"@types/sortablejs@^1.13.0": + version "1.13.0" + resolved "https://registry.yarnpkg.com/@types/sortablejs/-/sortablejs-1.13.0.tgz#870223438f8f2cd81157b128a4c0261adbcaa946" + integrity sha512-C3064MH72iEfeGCYEGCt7FCxXoAXaMPG0QPnstcxvPmbl54erpISu06d++FY37Smja64iWy5L8wOyHHBghWbJQ== + "@types/stack-utils@^2.0.0": version "2.0.1" resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" @@ -9476,6 +9481,11 @@ sockjs@^0.3.24: uuid "^8.3.2" websocket-driver "^0.7.4" +sortablejs@^1.15.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/sortablejs/-/sortablejs-1.15.0.tgz#53230b8aa3502bb77a29e2005808ffdb4a5f7e2a" + integrity sha512-bv9qgVMjUMf89wAvM6AxVvS/4MX3sPeN0+agqShejLU5z5GX4C75ow1O2e5k4L6XItUyAK3gH6AxSbXrOM5e8w== + "source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" From 60e4d944cd894f88191552f1aa45e29173df6e3e Mon Sep 17 00:00:00 2001 From: ghiscoding Date: Sat, 17 Sep 2022 21:28:25 -0400 Subject: [PATCH 2/9] chore: remove emptyMsg since it's now defined in sg-universal --- src/examples/slickgrid/example3.ts | 2 -- src/examples/slickgrid/example30.ts | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/src/examples/slickgrid/example3.ts b/src/examples/slickgrid/example3.ts index d0ebb2ada..8b8241812 100644 --- a/src/examples/slickgrid/example3.ts +++ b/src/examples/slickgrid/example3.ts @@ -279,7 +279,6 @@ export class Example3 { // here we use $.ajax just because I'm not sure how to configure Aurelia HttpClient with JSONP and CORS editorOptions: { minLength: 3, - emptyMsg: 'No elements found', forceUserInput: true, fetch: (searchText: string, updateCallback: (items: false | any[]) => void) => { /** with FETCH, note this demo won't work because of CORS */ @@ -314,7 +313,6 @@ export class Example3 { // here we use $.ajax just because I'm not sure how to configure Aurelia HttpClient with JSONP and CORS filterOptions: { minLength: 3, - emptyMsg: 'No elements found', fetch: (searchText: string, updateCallback: (items: false | any[]) => void) => { $.ajax({ url: 'http://gd.geobytes.com/AutoCompleteCity', diff --git a/src/examples/slickgrid/example30.ts b/src/examples/slickgrid/example30.ts index a21650209..ee279c86d 100644 --- a/src/examples/slickgrid/example30.ts +++ b/src/examples/slickgrid/example30.ts @@ -929,7 +929,7 @@ export class Example30 {
- + ${item.itemName}
From f1c453f7b88cf6d85190bde6cdf29cef94947a69 Mon Sep 17 00:00:00 2001 From: ghiscoding Date: Sat, 15 Oct 2022 01:44:42 -0400 Subject: [PATCH 3/9] chore: add missing translations --- src/assets/i18n/en/aurelia-slickgrid.json | 1 + src/assets/i18n/fr/aurelia-slickgrid.json | 1 + src/aurelia-slickgrid/constants.ts | 1 + 3 files changed, 3 insertions(+) diff --git a/src/assets/i18n/en/aurelia-slickgrid.json b/src/assets/i18n/en/aurelia-slickgrid.json index 75ebc9a5e..521c17617 100644 --- a/src/assets/i18n/en/aurelia-slickgrid.json +++ b/src/assets/i18n/en/aurelia-slickgrid.json @@ -36,6 +36,7 @@ "ITEMS": "items", "ITEMS_PER_PAGE": "items per page", "ITEMS_SELECTED": "items selected", + "NO_ELEMENTS_FOUND": "No elements found", "LAST_UPDATE": "Last Update", "LESS_THAN": "Less than", "LESS_THAN_OR_EQUAL_TO": "Less than or equal to", diff --git a/src/assets/i18n/fr/aurelia-slickgrid.json b/src/assets/i18n/fr/aurelia-slickgrid.json index 41618956f..1384b1ba7 100644 --- a/src/assets/i18n/fr/aurelia-slickgrid.json +++ b/src/assets/i18n/fr/aurelia-slickgrid.json @@ -39,6 +39,7 @@ "LAST_UPDATE": "Dernière mise à jour", "LESS_THAN": "Plus petit que", "LESS_THAN_OR_EQUAL_TO": "Plus petit ou égal à", + "NO_ELEMENTS_FOUND": "Aucun élément trouvé", "NOT_CONTAINS": "Ne contient pas", "NOT_EQUAL_TO": "Non égal à", "NOT_IN_COLLECTION_SEPERATED_BY_COMMA": "Recherche excluant certain éléments d'une collection, doit être séparé par une virgule (a,b)", diff --git a/src/aurelia-slickgrid/constants.ts b/src/aurelia-slickgrid/constants.ts index 17c2857a1..89fb2b045 100644 --- a/src/aurelia-slickgrid/constants.ts +++ b/src/aurelia-slickgrid/constants.ts @@ -48,6 +48,7 @@ export class Constants { TEXT_LAST_UPDATE: 'Last Update', TEXT_LESS_THAN: 'Less than', TEXT_LESS_THAN_OR_EQUAL_TO: 'Less than or equal to', + TEXT_NO_ELEMENTS_FOUND: 'Aucun élément trouvé', TEXT_NOT_CONTAINS: 'Not contains', TEXT_NOT_EQUAL_TO: 'Not equal to', TEXT_PAGE: 'Page', From 0bf75f4e44ee6bea526f7607cd4492edb0ff8638 Mon Sep 17 00:00:00 2001 From: ghiscoding Date: Sat, 15 Oct 2022 01:53:32 -0400 Subject: [PATCH 4/9] chore: upgrade to Slickgrid-Universal 2.0.0-alpha.0 --- package.json | 26 +++---- yarn.lock | 212 +++++++++++++++++++++++++-------------------------- 2 files changed, 116 insertions(+), 122 deletions(-) diff --git a/package.json b/package.json index bc8b7e9ec..06f4d3909 100644 --- a/package.json +++ b/package.json @@ -59,12 +59,12 @@ "build:demo": "webpack --env production" }, "dependencies": { - "@slickgrid-universal/common": "~1.4.0", - "@slickgrid-universal/custom-footer-component": "~1.4.0", - "@slickgrid-universal/empty-warning-component": "~1.4.0", - "@slickgrid-universal/event-pub-sub": "~1.4.0", - "@slickgrid-universal/pagination-component": "~1.4.0", - "@slickgrid-universal/row-detail-view-plugin": "~1.4.0", + "@slickgrid-universal/common": "2.0.0-alpha.0", + "@slickgrid-universal/custom-footer-component": "2.0.0-alpha.0", + "@slickgrid-universal/empty-warning-component": "2.0.0-alpha.0", + "@slickgrid-universal/event-pub-sub": "2.0.0-alpha.0", + "@slickgrid-universal/pagination-component": "2.0.0-alpha.0", + "@slickgrid-universal/row-detail-view-plugin": "2.0.0-alpha.0", "aurelia-event-aggregator": "^1.0.3", "aurelia-framework": "^1.4.1", "aurelia-i18n": "^3.1.4", @@ -80,13 +80,13 @@ "@faker-js/faker": "^7.5.0", "@fnando/sparkline": "^0.3.10", "@popperjs/core": "^2.11.6", - "@slickgrid-universal/composite-editor-component": "~1.4.0", - "@slickgrid-universal/custom-tooltip-plugin": "~1.4.0", - "@slickgrid-universal/excel-export": "~1.4.0", - "@slickgrid-universal/graphql": "~1.4.0", - "@slickgrid-universal/odata": "~1.4.0", - "@slickgrid-universal/rxjs-observable": "~1.4.0", - "@slickgrid-universal/text-export": "~1.4.0", + "@slickgrid-universal/composite-editor-component": "2.0.0-alpha.0", + "@slickgrid-universal/custom-tooltip-plugin": "2.0.0-alpha.0", + "@slickgrid-universal/excel-export": "2.0.0-alpha.0", + "@slickgrid-universal/graphql": "2.0.0-alpha.0", + "@slickgrid-universal/odata": "2.0.0-alpha.0", + "@slickgrid-universal/rxjs-observable": "2.0.0-alpha.0", + "@slickgrid-universal/text-export": "2.0.0-alpha.0", "@types/bluebird": "^3.5.36", "@types/dompurify": "^2.3.4", "@types/fnando__sparkline": "^0.3.4", diff --git a/yarn.lock b/yarn.lock index e3b9559f2..57d818d00 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1116,130 +1116,131 @@ dependencies: "@sinonjs/commons" "^1.7.0" -"@slickgrid-universal/binding@~1.3.5": - version "1.3.5" - resolved "https://registry.yarnpkg.com/@slickgrid-universal/binding/-/binding-1.3.5.tgz#79bf586ab5bba666c8dc931ece5f0d72eb832f90" - integrity sha512-x8dkzIx3LQGxNqzHHXQN6dmAfL5lhX7Tx8435OuRNtln5VSg7myrsM0si0rgykgwEq5fZtSkb0TJi6ZZ51xSJA== +"@slickgrid-universal/binding@~2.0.0-alpha.0": + version "2.0.0-alpha.0" + resolved "https://registry.yarnpkg.com/@slickgrid-universal/binding/-/binding-2.0.0-alpha.0.tgz#3e27585a52b9e8f65c92fc08860e05a7ce0a655a" + integrity sha512-OtOO89AzEmLRpneq15iN3Bsw7I9wbNzJw3kK0l8IGBqZwyXmsvRvl0mOjX8lSg4e3tgl4cvAzqYbN3f4vEZOrw== dependencies: - dompurify "^2.3.10" + dompurify "^2.4.0" -"@slickgrid-universal/common@~1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@slickgrid-universal/common/-/common-1.4.0.tgz#f1ce33ba046153a3f6c887855b8dd6a081a42f3d" - integrity sha512-yQ8yBeHeVjpBYCbzOW2jVwO8RLBH1HA19iaOu92zChUhl9TucoBKjy6obIo5H2vB8IyBXD9ZupUpuKUHdXvbXA== +"@slickgrid-universal/common@2.0.0-alpha.0", "@slickgrid-universal/common@~2.0.0-alpha.0": + version "2.0.0-alpha.0" + resolved "https://registry.yarnpkg.com/@slickgrid-universal/common/-/common-2.0.0-alpha.0.tgz#c6829f81a311b1839a7bae00051cd251b9276e8e" + integrity sha512-YxMMnYTjVbXOXSFsmD0UCuOM1gukLX/nWmsO9+ys3l4eyRQIghKRb9FG6/5l+0DXxSNITAu6WYgkftkQ9gSYiQ== dependencies: - "@slickgrid-universal/event-pub-sub" "~1.4.0" - "@slickgrid-universal/utils" "~1.4.0" + "@slickgrid-universal/event-pub-sub" "~2.0.0-alpha.0" + "@slickgrid-universal/utils" "~2.0.0-alpha.0" + autocompleter "^6.1.3" dequal "^2.0.3" - dompurify "^2.3.10" + dompurify "^2.4.0" flatpickr "^4.6.13" - jquery "^3.6.0" - jquery-ui "^1.13.2" + jquery "^3.6.1" moment-mini "^2.29.4" multiple-select-modified "^1.3.17" - slickgrid "^2.4.45" + slickgrid "^3.0.0" + sortablejs "^1.15.0" un-flatten-tree "^2.0.12" -"@slickgrid-universal/composite-editor-component@~1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@slickgrid-universal/composite-editor-component/-/composite-editor-component-1.4.0.tgz#762a49e183fac2fe8ae5937666b2b59ec3574a64" - integrity sha512-VpvPOCB+mMqI8W2YZ8KJWjFE1PQWf9/32nF2IzzKIaZVdIgFuky9eguYLyLST1Q8B0nCdJR7hpUHYUvFwQqJQw== +"@slickgrid-universal/composite-editor-component@2.0.0-alpha.0": + version "2.0.0-alpha.0" + resolved "https://registry.yarnpkg.com/@slickgrid-universal/composite-editor-component/-/composite-editor-component-2.0.0-alpha.0.tgz#3cb681def6762456367de18f3fceed33329a119b" + integrity sha512-R3+fUKxdkftJ+f5FgylanJ1IKx4nxVIlzbR4V8KYcBChtaKBy/+/2lFWIl9/8jqDXs/TPnveYlMZvVD4h7gwhw== dependencies: - "@slickgrid-universal/common" "~1.4.0" - "@slickgrid-universal/utils" "~1.4.0" + "@slickgrid-universal/common" "~2.0.0-alpha.0" + "@slickgrid-universal/utils" "~2.0.0-alpha.0" -"@slickgrid-universal/custom-footer-component@~1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@slickgrid-universal/custom-footer-component/-/custom-footer-component-1.4.0.tgz#e85c187a9bec024ece9764ee0124a6312f798977" - integrity sha512-HtTHvP6ZBEh8Jb7ytwMKVTiMAcxxcoA81yJKUwLQiYnJYe6tBqz/qrInOzsgX5I9gk39dNg4TK9fhv0ChgPa+A== +"@slickgrid-universal/custom-footer-component@2.0.0-alpha.0": + version "2.0.0-alpha.0" + resolved "https://registry.yarnpkg.com/@slickgrid-universal/custom-footer-component/-/custom-footer-component-2.0.0-alpha.0.tgz#505393d3196bbe4cc15acfd38fa3da0771ee894c" + integrity sha512-tHF6VZkbh4sPbGVGRSZ1UvQHIcxW6Qk20Fg7GlGjewxuF6aSwaloIcnG24MTU9DXaN7ZBIXs1mPLk14GdPC98g== dependencies: - "@slickgrid-universal/binding" "~1.3.5" - "@slickgrid-universal/common" "~1.4.0" + "@slickgrid-universal/binding" "~2.0.0-alpha.0" + "@slickgrid-universal/common" "~2.0.0-alpha.0" moment-mini "^2.29.4" -"@slickgrid-universal/custom-tooltip-plugin@~1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@slickgrid-universal/custom-tooltip-plugin/-/custom-tooltip-plugin-1.4.0.tgz#fbdf65ca4deb5af975de44302858acbb5a6a547c" - integrity sha512-kjNeFGjs3TzIeaWpwxjtieFOZ85ZcAC54gSVdovo3NI83lnuJqmPImFnR/cXz5+Gb5vepmpKFokRMdQkrSAevQ== +"@slickgrid-universal/custom-tooltip-plugin@2.0.0-alpha.0": + version "2.0.0-alpha.0" + resolved "https://registry.yarnpkg.com/@slickgrid-universal/custom-tooltip-plugin/-/custom-tooltip-plugin-2.0.0-alpha.0.tgz#97e56991addc20e3f1b36ed06ea9ccfffd40aa9d" + integrity sha512-SvZAvguMsC7galumZecnt0RZVeJb66ILfvxodRhoN6bNFpukyDpiwAiYbLbeg6VTLQp5TlDzEHVPztKW9Kzs2Q== dependencies: - "@slickgrid-universal/common" "~1.4.0" - dompurify "^2.3.10" + "@slickgrid-universal/common" "~2.0.0-alpha.0" + dompurify "^2.4.0" -"@slickgrid-universal/empty-warning-component@~1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@slickgrid-universal/empty-warning-component/-/empty-warning-component-1.4.0.tgz#6de1cbfc517f7326efcef007d8ec3b14fb61f985" - integrity sha512-C35SzfarjtgzMsZMby9haZi4DtZiYg1CW7pq7N6YWbe2WHrSnedilnTbsIHZqUbRzLt2uBXcfujYSVNAFs5UWg== +"@slickgrid-universal/empty-warning-component@2.0.0-alpha.0": + version "2.0.0-alpha.0" + resolved "https://registry.yarnpkg.com/@slickgrid-universal/empty-warning-component/-/empty-warning-component-2.0.0-alpha.0.tgz#5ded616d53249f0fdff97cd401e191cf6785d264" + integrity sha512-i5JCkFvuj/hubRKV9UsOLPjd7rOOivTMRPTLLx1QdvrE7DmJ7quYniLE7cckxKO/y8+OVBbe5mNnpTLfZvXkbw== dependencies: - "@slickgrid-universal/common" "~1.4.0" + "@slickgrid-universal/common" "~2.0.0-alpha.0" -"@slickgrid-universal/event-pub-sub@~1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@slickgrid-universal/event-pub-sub/-/event-pub-sub-1.4.0.tgz#f7769bbf86b65226cb7680a38bc036700b1ec6c5" - integrity sha512-+jc3LyVjm2QyZE1OVOiuP5Bm7JozRZgJXaODb3gLsA0KJlZEXpHvoAxQ0CCCPfuJakbtbkwqI1cWSO9skp2djQ== +"@slickgrid-universal/event-pub-sub@2.0.0-alpha.0", "@slickgrid-universal/event-pub-sub@~2.0.0-alpha.0": + version "2.0.0-alpha.0" + resolved "https://registry.yarnpkg.com/@slickgrid-universal/event-pub-sub/-/event-pub-sub-2.0.0-alpha.0.tgz#6c771968c01d06f979c124acd9a1130f805fc777" + integrity sha512-Ou9weKbTmt5qztYiqyUlCBNeKW9gsGWKKsBoJv8I2uImevo7tDMBGJIv7Fac1gn0eQ/lkdi7weMMKCVz6jTzLQ== dependencies: - "@slickgrid-universal/utils" "~1.4.0" + "@slickgrid-universal/utils" "~2.0.0-alpha.0" -"@slickgrid-universal/excel-export@~1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@slickgrid-universal/excel-export/-/excel-export-1.4.0.tgz#fa85fb5a54475e276ff195618caf918a58a08f4a" - integrity sha512-tYN1pGpAby5ORCpEyFf1MJyqHoFuyaMEmFZyNcsnnAUo7iJb8hYKiqKwzfvk7+Wn/k3w33YBcgFJbd2MmBIWew== +"@slickgrid-universal/excel-export@2.0.0-alpha.0": + version "2.0.0-alpha.0" + resolved "https://registry.yarnpkg.com/@slickgrid-universal/excel-export/-/excel-export-2.0.0-alpha.0.tgz#5133b165fdcaf9c324a88b1b5cd3b2b27752f0ad" + integrity sha512-6CdKsSTElp5XcppxWesYrpaJMkDqGzIoa4qFn61MwKdjpPX5A5we4gsiAQpV+M3VAbdK6v3vhuIhSkZX3yKGeg== dependencies: - "@slickgrid-universal/common" "~1.4.0" - "@slickgrid-universal/utils" "~1.4.0" + "@slickgrid-universal/common" "~2.0.0-alpha.0" + "@slickgrid-universal/utils" "~2.0.0-alpha.0" excel-builder-webpacker "^2.1.7" moment-mini "^2.29.4" -"@slickgrid-universal/graphql@~1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@slickgrid-universal/graphql/-/graphql-1.4.0.tgz#5bef18988d79cdff556f6354e8e1ba83d5757783" - integrity sha512-0vm385SdwEPa46MJKRDe+xxx4XhLnAcI3IZk2PUVW8HLoofunCBNCf6AsJfrCtu8KhWR5cl80tn+7wCghRQFHg== +"@slickgrid-universal/graphql@2.0.0-alpha.0": + version "2.0.0-alpha.0" + resolved "https://registry.yarnpkg.com/@slickgrid-universal/graphql/-/graphql-2.0.0-alpha.0.tgz#7fff63ffb73f9ce17ed672725d94bb85e45a5d67" + integrity sha512-goa3JZhbGj1D8kxG2Vm4aXpzx3LGsMjHxIgslal/hXvZQ1Gl5DqdOMwUycLr86hpE1WnMx576yKBTkDtQ1Dp5w== dependencies: - "@slickgrid-universal/common" "~1.4.0" + "@slickgrid-universal/common" "~2.0.0-alpha.0" -"@slickgrid-universal/odata@~1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@slickgrid-universal/odata/-/odata-1.4.0.tgz#518fa90f62f10ec93bb28e2e11bf43191c60df42" - integrity sha512-9evUhjHf1Fb1Hdw9RcK9ksOKAGhC4yimGMeGSCvAVz0Nt0CgpCHwg3m9U4vtQ+bbMuSlJU2CL+nolQJjac6zbA== +"@slickgrid-universal/odata@2.0.0-alpha.0": + version "2.0.0-alpha.0" + resolved "https://registry.yarnpkg.com/@slickgrid-universal/odata/-/odata-2.0.0-alpha.0.tgz#093cf05846d4197770ce7453af08e62b6a745608" + integrity sha512-dMgtph+zKieHPfZDVeGa2SCunblbwWOmdjqY8MeHxbd3alrfVUkE9agEQ7KoCxxf0k3rci5mU574KXSdUg+39w== dependencies: - "@slickgrid-universal/common" "~1.4.0" - "@slickgrid-universal/utils" "~1.4.0" + "@slickgrid-universal/common" "~2.0.0-alpha.0" + "@slickgrid-universal/utils" "~2.0.0-alpha.0" -"@slickgrid-universal/pagination-component@~1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@slickgrid-universal/pagination-component/-/pagination-component-1.4.0.tgz#3bbfc4d59b7d91e2c53a44997cc78f007601fe4b" - integrity sha512-Y7aOnnjX0qTSNhtCivfwK+7pJ/2lV1HNKYI+erajz8Yuzf4KwNKfG2rMZsGGBYW3ACUrsxuKmDjvUOCDherCeA== +"@slickgrid-universal/pagination-component@2.0.0-alpha.0": + version "2.0.0-alpha.0" + resolved "https://registry.yarnpkg.com/@slickgrid-universal/pagination-component/-/pagination-component-2.0.0-alpha.0.tgz#597e711930416417410f2c8f8dbdc7c0aa33ca5a" + integrity sha512-QiAPxxT33wA7UqEKt0ne8/a+NrA1eFukSI9+wLpbdnpm+JDTSh7wuJxhpBE/WyyOtkKOB5ocV7A/17DH1ry7/w== dependencies: - "@slickgrid-universal/binding" "~1.3.5" - "@slickgrid-universal/common" "~1.4.0" + "@slickgrid-universal/binding" "~2.0.0-alpha.0" + "@slickgrid-universal/common" "~2.0.0-alpha.0" -"@slickgrid-universal/row-detail-view-plugin@~1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@slickgrid-universal/row-detail-view-plugin/-/row-detail-view-plugin-1.4.0.tgz#92eca8c32d3512c460f09843fe9322c4a1994f25" - integrity sha512-G1M6RJDWIQw486lY0Ly3Fpsw7WHTuULyfQZEP9sbMckdBTNGLoE26giQuAbnJrPYpJlaf8HYt9Podxyxc4gfBg== +"@slickgrid-universal/row-detail-view-plugin@2.0.0-alpha.0": + version "2.0.0-alpha.0" + resolved "https://registry.yarnpkg.com/@slickgrid-universal/row-detail-view-plugin/-/row-detail-view-plugin-2.0.0-alpha.0.tgz#12024740560e988a2a7a977ace946e67af6cf6d2" + integrity sha512-npdgGoB8qAj1G1uwHAny7WDpEGau70ZxOStLv7zFulFMtDwGvXdkC0BjzuqRJLR80/6zOJAA+CrgFpT+IZJnXQ== dependencies: - "@slickgrid-universal/common" "~1.4.0" + "@slickgrid-universal/common" "~2.0.0-alpha.0" -"@slickgrid-universal/rxjs-observable@~1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@slickgrid-universal/rxjs-observable/-/rxjs-observable-1.4.0.tgz#05516298d91178a887c5ba5747d11d941fd0e686" - integrity sha512-xS5nh2KLgEzmJrtXQTfxp8g4ItWSRVOilBZ9mOhdcpn5MGMe6TufY2NiadWGiVf3KlCMBC815RQFuiYlpD5Vvg== +"@slickgrid-universal/rxjs-observable@2.0.0-alpha.0": + version "2.0.0-alpha.0" + resolved "https://registry.yarnpkg.com/@slickgrid-universal/rxjs-observable/-/rxjs-observable-2.0.0-alpha.0.tgz#d9b8e558c56f327bdc444edcb96a16baeca589c4" + integrity sha512-3PGp/Gl/QQMjb+2QYHUpowmd6Y2oydw7kr9xYtOSJSKz35rUjd7p1qWgBrJH3VUSoUJu/SMS9Qm4FGcO196GmQ== dependencies: - "@slickgrid-universal/common" "~1.4.0" + "@slickgrid-universal/common" "~2.0.0-alpha.0" rxjs ">=7.5.0" -"@slickgrid-universal/text-export@~1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@slickgrid-universal/text-export/-/text-export-1.4.0.tgz#0f471340e9ac97879ff34baad3f44fe63b767ec1" - integrity sha512-SkhrvCH4dZldfncDBLEJmZ4ogExvE4fdOTOITgDZ7111tFWnRgddRf147/9cLZN12G+VPTKKofrUyry7ZjhQ6w== +"@slickgrid-universal/text-export@2.0.0-alpha.0": + version "2.0.0-alpha.0" + resolved "https://registry.yarnpkg.com/@slickgrid-universal/text-export/-/text-export-2.0.0-alpha.0.tgz#55409fb5aee273622bbac751248a13222b12eeec" + integrity sha512-vbLzxrFtNNSLTtn1TpalHj+nOkpt+uMhEyg4lPrdhLwgd83sTkiuYyHlTR42snc3S9dekBXLrMfESNcey2KpbA== dependencies: - "@slickgrid-universal/common" "~1.4.0" - "@slickgrid-universal/utils" "~1.4.0" + "@slickgrid-universal/common" "~2.0.0-alpha.0" + "@slickgrid-universal/utils" "~2.0.0-alpha.0" text-encoding-utf-8 "^1.0.2" -"@slickgrid-universal/utils@~1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@slickgrid-universal/utils/-/utils-1.4.0.tgz#ff42b51ad5cddf65356d2c151257f071b61aafd7" - integrity sha512-OlvxHElFJBQAMdSNiRhhBxTGe3gsK98mxLGsLXp6aA3IycW+79KZ8W6QZWRLtR00l/g4ZvuLvqCu0Ky8g2MRAQ== +"@slickgrid-universal/utils@~2.0.0-alpha.0": + version "2.0.0-alpha.0" + resolved "https://registry.yarnpkg.com/@slickgrid-universal/utils/-/utils-2.0.0-alpha.0.tgz#0dbe7e1d3776def74a24696794d1db1a3e552a0f" + integrity sha512-WHug6SRkv4Sb7kl3NcQ7bNBaToljHElkar8ZBRp7TlW+O5L5BJuvzj7k7enY04RL7RTjdHI2QxsFjd62qL/Z0w== "@tootallnate/once@2": version "2.0.0" @@ -2665,6 +2666,11 @@ aurelia-webpack-plugin@^5.0.4: minimatch "^3.0.4" parse5 "^5.1.1" +autocompleter@^6.1.3: + version "6.1.3" + resolved "https://registry.yarnpkg.com/autocompleter/-/autocompleter-6.1.3.tgz#856e24acf3df320e6cb7f71222bf506f71d7993a" + integrity sha512-Pjb5R5r+S0/zDFudLP9a8CW7/xMc7O/uVCtaTf3f+RdNLAQQ5oUG018c3IRdDJMRVvT+OeZ1NYQoUH5GHlORKQ== + available-typed-arrays@^1.0.2: version "1.0.4" resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.4.tgz#9e0ae84ecff20caae6a94a1c3bc39b955649b7a9" @@ -4245,11 +4251,6 @@ domhandler@^5.0.1, domhandler@^5.0.2: dependencies: domelementtype "^2.3.0" -dompurify@^2.3.10: - version "2.3.10" - resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-2.3.10.tgz#901f7390ffe16a91a5a556b94043314cd4850385" - integrity sha512-o7Fg/AgC7p/XpKjf/+RC3Ok6k4St5F7Q6q6+Nnm3p2zGWioAY6dh0CbbuwOhH2UcSzKsdniE/YnE2/92JcsA+g== - dompurify@^2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-2.4.0.tgz#c9c88390f024c2823332615c9e20a453cf3825dd" @@ -6935,23 +6936,16 @@ jest@^29.0.3: import-local "^3.0.2" jest-cli "^29.0.3" -jquery-ui@>=1.8.0, jquery-ui@^1.13.2: - version "1.13.2" - resolved "https://registry.yarnpkg.com/jquery-ui/-/jquery-ui-1.13.2.tgz#de03580ae6604773602f8d786ad1abfb75232034" - integrity sha512-wBZPnqWs5GaYJmo1Jj0k/mrSkzdQzKDwhXNtHKcBdAcKVxMM3KNYFq+iJ2i1rwiG53Z8M4mTn3Qxrm17uH1D4Q== - dependencies: - jquery ">=1.8.0 <4.0.0" +jquery@>=3.0.0, jquery@^3.6.1: + version "3.6.1" + resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.6.1.tgz#fab0408f8b45fc19f956205773b62b292c147a16" + integrity sha512-opJeO4nCucVnsjiXOE+/PcCgYw9Gwpvs/a6B1LL/lQhwWwpbVEVYDZ1FokFr8PRc7ghYlrFPuyHuiiDNTQxmcw== -jquery@>=1.8.0, "jquery@>=1.8.0 <4.0.0", jquery@^3.5.1, jquery@^3.6.0: +jquery@^3.5.1: version "3.6.0" resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.6.0.tgz#c72a09f15c1bdce142f49dbf1170bdf8adac2470" integrity sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw== -jquery@^3.6.1: - version "3.6.1" - resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.6.1.tgz#fab0408f8b45fc19f956205773b62b292c147a16" - integrity sha512-opJeO4nCucVnsjiXOE+/PcCgYw9Gwpvs/a6B1LL/lQhwWwpbVEVYDZ1FokFr8PRc7ghYlrFPuyHuiiDNTQxmcw== - js-sdsl@^4.1.4: version "4.1.4" resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.1.4.tgz#78793c90f80e8430b7d8dc94515b6c77d98a26a6" @@ -9434,13 +9428,13 @@ slash@^4.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== -slickgrid@^2.4.45: - version "2.4.45" - resolved "https://registry.yarnpkg.com/slickgrid/-/slickgrid-2.4.45.tgz#98012820ad2c782b3e51b66d5b793c0ad710e87c" - integrity sha512-WvygGTaLU9LnMWZSxqW1agwq8IcDGeCZ289vP1E07eh3ffyLm5TGQsYHXvTwWCHtriZBw+L9RFK/h7TsIMcoLQ== +slickgrid@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slickgrid/-/slickgrid-3.0.0.tgz#8a1640ad2836731ab5a18b428e25ae8bc2dff81c" + integrity sha512-6uhXqGitOYy2pheO7E77tqpf/DZ9stXjkyltcsbxg2GYZp+daDSh89dmlkvYlStO3gA8EmcG0WmxrAXDBFMSvA== dependencies: - jquery ">=1.8.0" - jquery-ui ">=1.8.0" + jquery ">=3.0.0" + sortablejs "^1.15.0" snapdragon-node@^2.0.1: version "2.1.1" From cc044c4cf64993ec223c2e3218938efef291f090 Mon Sep 17 00:00:00 2001 From: ghiscoding Date: Sat, 15 Oct 2022 02:01:52 -0400 Subject: [PATCH 5/9] chore: update lock files --- yarn.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yarn.lock b/yarn.lock index 4ecf2e0a8..6bf2d33e3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1314,7 +1314,7 @@ dependencies: "@babel/types" "^7.3.0" -"@types/bluebird@^3.5.37": +"@types/bluebird@^3.5.36": version "3.5.37" resolved "https://registry.yarnpkg.com/@types/bluebird/-/bluebird-3.5.37.tgz#b99e5c7fe382c2c6d5252dc99d9fba6810fedbeb" integrity sha512-g2qEd+zkfkTEudA2SrMAeAvY7CrFqtbsLILm2dT2VIeKTqMqVzcdfURlvu6FU3srRgbmXN1Srm94pg34EIehww== From d9b9737ecaa67cd0c3b7a3191631d1f9cf1fc790 Mon Sep 17 00:00:00 2001 From: ghiscoding Date: Sun, 16 Oct 2022 00:13:50 -0400 Subject: [PATCH 6/9] chore: release prompt version only --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 73fe253f1..dd91fdf15 100644 --- a/package.json +++ b/package.json @@ -50,8 +50,8 @@ "test:ci": "npx jest --runInBand --coverage=true --ci --config ./test/jest.config.js", "test:jest": "npx jest --watch --detectOpenHandles --config test/jest.config.js", "test:jest:coverage": "npx jest --detectOpenHandles --runInBand --coverage --config test/jest.config.js", - "preview:release": "release-it --dry-run", - "release": "release-it" + "preview:release": "release-it --only-version --dry-run", + "release": "release-it --only-version" }, "dependencies": { "@slickgrid-universal/common": "2.0.0-alpha.0", From 944accd7df2fd53785c1be01316218b59921dd9a Mon Sep 17 00:00:00 2001 From: ghiscoding Date: Sun, 16 Oct 2022 00:24:50 -0400 Subject: [PATCH 7/9] chore: remove release version only to get OTP prompt --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index dd91fdf15..73fe253f1 100644 --- a/package.json +++ b/package.json @@ -50,8 +50,8 @@ "test:ci": "npx jest --runInBand --coverage=true --ci --config ./test/jest.config.js", "test:jest": "npx jest --watch --detectOpenHandles --config test/jest.config.js", "test:jest:coverage": "npx jest --detectOpenHandles --runInBand --coverage --config test/jest.config.js", - "preview:release": "release-it --only-version --dry-run", - "release": "release-it --only-version" + "preview:release": "release-it --dry-run", + "release": "release-it" }, "dependencies": { "@slickgrid-universal/common": "2.0.0-alpha.0", From c663c8670947f7fc81bae8fd82b201f54ef0062a Mon Sep 17 00:00:00 2001 From: ghiscoding Date: Sun, 16 Oct 2022 00:27:11 -0400 Subject: [PATCH 8/9] chore: release v5.0.0-alpha.0 --- CHANGELOG.md | 18 +++++++++++++++++- package.json | 2 +- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7eef5062b..7c2a38c12 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,19 @@ +# Change Log + +All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +# [5.0.0-alpha.0](https://github.com/ghiscoding/aurelia-slickgrid/compare/v4.3.0...v5.0.0-alpha.0) (2022-10-16) + + +### Bug Fixes + +* **demo:** edit outline should follow on filter/pagination changed ([#857](https://github.com/ghiscoding/aurelia-slickgrid/issues/857)) ([7a484d6](https://github.com/ghiscoding/aurelia-slickgrid/commit/7a484d6f54fe5254f0a26e7d51e5d34f13c8b62f)) + + +### Features + +* **deps:** BREAKING CHANGE upgrade `aurelia-i18n` to major v4 ([#828](https://github.com/ghiscoding/aurelia-slickgrid/issues/828)) ([d992286](https://github.com/ghiscoding/aurelia-slickgrid/commit/d99228628ee037266265fd3f07a6462131057b16)) + # Changelog All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. @@ -1732,4 +1748,4 @@ All notable changes to this project will be documented in this file. See [standa * **grid:** add Pagination page number input ([8a89c58](https://github.com/ghiscoding/aurelia-slickgrid/commit/8a89c58)) * **query:** add `excludeFromQuery` prop and use it for Row Selection ([cda0e39](https://github.com/ghiscoding/aurelia-slickgrid/commit/cda0e39)) * **queryFilter:** add new "queryFieldFilter" and "queryFieldSorter" ([9d2aae1](https://github.com/ghiscoding/aurelia-slickgrid/commit/9d2aae1)) -* **selectEditors:** add select grid editors ([#22](https://github.com/ghiscoding/aurelia-slickgrid/issues/22)) ([5bd7215](https://github.com/ghiscoding/aurelia-slickgrid/commit/5bd7215)) +* **selectEditors:** add select grid editors ([#22](https://github.com/ghiscoding/aurelia-slickgrid/issues/22)) ([5bd7215](https://github.com/ghiscoding/aurelia-slickgrid/commit/5bd7215)) \ No newline at end of file diff --git a/package.json b/package.json index 73fe253f1..ed2411c19 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "aurelia-slickgrid", - "version": "4.3.0", + "version": "5.0.0-alpha.0", "description": "Slickgrid components made available in Aurelia", "keywords": [ "aurelia", From d7c805a77cb90ad69d4fe6c9242d9a6c797afe19 Mon Sep 17 00:00:00 2001 From: ghiscoding Date: Mon, 17 Oct 2022 12:44:45 -0400 Subject: [PATCH 9/9] chore: use new SlickGrid minified files --- .../custom-elements/aurelia-slickgrid.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/aurelia-slickgrid/custom-elements/aurelia-slickgrid.ts b/src/aurelia-slickgrid/custom-elements/aurelia-slickgrid.ts index 0c49bbd69..6bf4c3d29 100644 --- a/src/aurelia-slickgrid/custom-elements/aurelia-slickgrid.ts +++ b/src/aurelia-slickgrid/custom-elements/aurelia-slickgrid.ts @@ -1,9 +1,9 @@ // import 3rd party vendor libs import * as $ from 'jquery'; -import 'slickgrid/slick.core'; -import 'slickgrid/slick.interactions'; -import 'slickgrid/slick.dataview'; -import 'slickgrid/slick.grid'; +import 'slickgrid/dist/slick.core.min'; +import 'slickgrid/dist/slick.interactions.min'; +import 'slickgrid/dist/slick.grid.min'; +import 'slickgrid/dist/slick.dataview.min'; import * as Sortable_ from 'sortablejs'; const Sortable = ((Sortable_ as any)?.['default'] ?? Sortable_); // patch for rollup