Skip to content

Commit

Permalink
Fix publish action (#93)
Browse files Browse the repository at this point in the history
  • Loading branch information
Lykoi18 authored and Shpileva Yuliya committed Jul 19, 2023
1 parent 53e8e09 commit 641ec04
Show file tree
Hide file tree
Showing 3 changed files with 248 additions and 13 deletions.
12 changes: 1 addition & 11 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,6 @@ jobs:
- name: Build
uses: ./.github/actions/quill/steps/build

- name: Get artifact
uses: ./.github/actions/quill/common/get-artifact

- uses: actions/setup-node@v3
with:
node-version: '18'
Expand All @@ -33,18 +30,11 @@ jobs:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
run: npm publish --access=public

- name: Setup NPM tags for 1.5.x
if: startsWith(inputs.version, '1.5')
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
run: |
npm dist-tag add devextreme-quill@${{ inputs.version }} 22_1
npm dist-tag add devextreme-quill@${{ inputs.version }} 22_2
- name: Setup NPM tags for 1.6.x
if: startsWith(inputs.version, '1.6')
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
run: |
npm dist-tag add devextreme-quill@${{ inputs.version }} 22_1
npm dist-tag add devextreme-quill@${{ inputs.version }} 22_2
npm dist-tag add devextreme-quill@${{ inputs.version }} 23_1
5 changes: 3 additions & 2 deletions modules/keyboard.js
Original file line number Diff line number Diff line change
Expand Up @@ -460,8 +460,9 @@ Keyboard.DEFAULTS = {
},
tab: {
key: 'tab',
handler(range, context) {
if (context.format.table) return true;
handler(range, { format }) {
if (format.tableCellLine || format.tableHeaderCellLine ||
format.tableHeaderCell || format.table) return true;
this.quill.history.cutoff();
const delta = new Delta()
.retain(range.index)
Expand Down
244 changes: 244 additions & 0 deletions test/unit/modules/keyboard.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
import Keyboard, { SHORTKEY, normalize } from '../../../modules/keyboard';
import { Range } from '../../../core/selection';
import Quill from '../../../core/quill';
import TableLite from '../../../modules/table/lite';

describe('Keyboard', function () {
describe('match', function () {
Expand Down Expand Up @@ -257,4 +260,245 @@ describe('Keyboard', function () {
quillMock.root.addEventListener = nativeAddEventListener;
});
});

describe('tab navigation on main table', function () {
const markup = `
<table>
<thead>
<tr>
<th><p>head1</p></th>
<th><p>head2</p></th>
<th><p>head3</p></th>
</tr>
</thead>
<tbody>
<tr>
<td><p>data1</p></td>
<td><p>data2</p></td>
<td><p>data3</p></td>
</tr>
<tr>
<td><p>data1</p></td>
<td><p>data2</p></td>
<td><p>data3</p></td>
</tr>
</tbody>
</table>
`;

it('should select next cell on tab click', function () {
const quill = this.initialize(Quill, markup, this.container, {
modules: {
table: true,
},
});
quill.setSelection(18);
const keydownEvent = new KeyboardEvent('keydown', {
key: 'tab',
});

quill.root.dispatchEvent(keydownEvent);
expect(quill.getSelection()).toEqual(new Range(24));
});

it('should select next cell in second row if cursor in the last cell of first row on tab click', function () {
const quill = this.initialize(Quill, markup, this.container, {
modules: {
table: true,
},
});
quill.setSelection(30);
const keydownEvent = new KeyboardEvent('keydown', {
key: 'tab',
});

quill.root.dispatchEvent(keydownEvent);
expect(quill.getSelection()).toEqual(new Range(36));
});

it('should select previous cell on tab + shift click', function () {
const quill = this.initialize(Quill, markup, this.container, {
modules: {
table: true,
},
});
quill.setSelection(31);
const keydownEvent = new KeyboardEvent('keydown', {
key: 'tab',
shiftKey: true,
});

quill.root.dispatchEvent(keydownEvent);
expect(quill.getSelection()).toEqual(new Range(29));
});

it('should select previous cell on first row if cursor in the first cell of second row on tab + shift click', function () {
const quill = this.initialize(Quill, markup, this.container, {
modules: {
table: true,
},
});
quill.setSelection(38);
const keydownEvent = new KeyboardEvent('keydown', {
key: 'tab',
shiftKey: true,
});

quill.root.dispatchEvent(keydownEvent);
expect(quill.getSelection()).toEqual(new Range(35));
});

it('should select next cell in header on tab click', function () {
const quill = this.initialize(Quill, markup, this.container, {
modules: {
table: true,
},
});
quill.setSelection(0);
const keydownEvent = new KeyboardEvent('keydown', {
key: 'tab',
});

quill.root.dispatchEvent(keydownEvent);
expect(quill.getSelection()).toEqual(new Range(6));
});

it('should select previous cell in header on tab + shift click', function () {
const quill = this.initialize(Quill, markup, this.container, {
modules: {
table: true,
},
});
quill.setSelection(8);
const keydownEvent = new KeyboardEvent('keydown', {
key: 'tab',
shiftKey: true,
});

quill.root.dispatchEvent(keydownEvent);
expect(quill.getSelection()).toEqual(new Range(5));
});
});

describe('tab navigation on lite table', function () {
beforeAll(function () {
Quill.register({ 'modules/table': TableLite }, true);
});
const markup = `
<table>
<thead>
<tr>
<th><p>head1</p></th>
<th><p>head2</p></th>
<th><p>head3</p></th>
</tr>
</thead>
<tbody>
<tr>
<td><p>data1</p></td>
<td><p>data2</p></td>
<td><p>data3</p></td>
</tr>
<tr>
<td><p>data1</p></td>
<td><p>data2</p></td>
<td><p>data3</p></td>
</tr>
</tbody>
</table>
`;

it('should select next cell on tab click', function () {
const quill = this.initialize(Quill, markup, this.container, {
modules: {
table: true,
},
});
quill.setSelection(18);
const keydownEvent = new KeyboardEvent('keydown', {
key: 'tab',
});

quill.root.dispatchEvent(keydownEvent);
expect(quill.getSelection()).toEqual(new Range(24));
});

it('should select next cell in second row if cursor in the last cell of first row on tab click', function () {
const quill = this.initialize(Quill, markup, this.container, {
modules: {
table: true,
},
});
quill.setSelection(30);
const keydownEvent = new KeyboardEvent('keydown', {
key: 'tab',
});

quill.root.dispatchEvent(keydownEvent);
expect(quill.getSelection()).toEqual(new Range(36));
});

it('should select previous cell on tab + shift click', function () {
const quill = this.initialize(Quill, markup, this.container, {
modules: {
table: true,
},
});
quill.setSelection(31);
const keydownEvent = new KeyboardEvent('keydown', {
key: 'tab',
shiftKey: true,
});

quill.root.dispatchEvent(keydownEvent);
expect(quill.getSelection()).toEqual(new Range(29));
});

it('should select previous cell on first row if cursor in the first cell of second row on tab + shift click', function () {
const quill = this.initialize(Quill, markup, this.container, {
modules: {
table: true,
},
});
quill.setSelection(38);
const keydownEvent = new KeyboardEvent('keydown', {
key: 'tab',
shiftKey: true,
});

quill.root.dispatchEvent(keydownEvent);
expect(quill.getSelection()).toEqual(new Range(35));
});

it('should select next cell in header on tab click', function () {
const quill = this.initialize(Quill, markup, this.container, {
modules: {
table: true,
},
});
quill.setSelection(0);
const keydownEvent = new KeyboardEvent('keydown', {
key: 'tab',
});

quill.root.dispatchEvent(keydownEvent);
expect(quill.getSelection()).toEqual(new Range(6));
});

it('should select previous cell in header on tab + shift click', function () {
const quill = this.initialize(Quill, markup, this.container, {
modules: {
table: true,
},
});
quill.setSelection(8);
const keydownEvent = new KeyboardEvent('keydown', {
key: 'tab',
shiftKey: true,
});

quill.root.dispatchEvent(keydownEvent);
expect(quill.getSelection()).toEqual(new Range(5));
});
});
});

0 comments on commit 641ec04

Please sign in to comment.