Skip to content

Commit 4d6e63e

Browse files
authored
Merge pull request #68 from github/add-keys-setter
Add keys setter
2 parents 38af472 + e606cd1 commit 4d6e63e

File tree

2 files changed

+26
-0
lines changed

2 files changed

+26
-0
lines changed

src/text-expander-element.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -276,6 +276,10 @@ export default class TextExpanderElement extends HTMLElement {
276276
return keys.map(key => ({key, multiWord: globalMultiWord || multiWord.includes(key)}))
277277
}
278278

279+
set keys(value: string) {
280+
this.setAttribute('keys', value)
281+
}
282+
279283
connectedCallback(): void {
280284
const input = this.querySelector('input[type="text"], textarea')
281285
if (!(input instanceof HTMLInputElement || input instanceof HTMLTextAreaElement)) return

test/text-expander-element-test.js

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,28 @@ describe('text-expander element', function () {
192192
)
193193
})
194194

195+
it('sets keys', function () {
196+
const expander = document.querySelector('text-expander')
197+
assert.deepEqual(
198+
[
199+
{key: '@', multiWord: false},
200+
{key: '#', multiWord: true},
201+
{key: '[[', multiWord: true}
202+
],
203+
expander.keys
204+
)
205+
206+
expander.keys = '@ [['
207+
208+
assert.deepEqual(
209+
[
210+
{key: '@', multiWord: false},
211+
{key: '[[', multiWord: true}
212+
],
213+
expander.keys
214+
)
215+
})
216+
195217
it('dispatches change event for multi-word', async function () {
196218
const expander = document.querySelector('text-expander')
197219
const input = expander.querySelector('textarea')

0 commit comments

Comments
 (0)