@operato/data-grist 10.29.13 → 10.29.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -0
- package/coverage/lcov-report/base.css +224 -0
- package/coverage/lcov-report/block-navigation.js +87 -0
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/index.html +896 -0
- package/coverage/lcov-report/prettify.css +1 -0
- package/coverage/lcov-report/prettify.js +2 -0
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +210 -0
- package/coverage/lcov-report/webpack/bootstrap.html +118 -0
- package/coverage/lcov-report/webpack/index.html +116 -0
- package/coverage/lcov-report/webpack/runtime/define property getters.html +118 -0
- package/coverage/lcov-report/webpack/runtime/global.html +118 -0
- package/coverage/lcov-report/webpack/runtime/hasOwnProperty shorthand.html +118 -0
- package/coverage/lcov-report/webpack/runtime/index.html +161 -0
- package/coverage/lcov-report/webpack/runtime/make namespace object.html +118 -0
- package/coverage/lcov.info +58939 -0
- package/dist/src/filters/filters-form.js +33 -47
- package/dist/src/filters/filters-form.js.map +1 -1
- package/dist/test/filter-labels.test.d.ts +2 -0
- package/dist/test/filter-labels.test.js +60 -0
- package/dist/test/filter-labels.test.js.map +1 -0
- package/dist/test/report-focused-row-theme.test.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -6
- package/test/filter-labels.test.ts +68 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@operato/data-grist",
|
|
3
|
-
"version": "10.29.
|
|
3
|
+
"version": "10.29.17",
|
|
4
4
|
"description": "User interface for grid (desktop) and list (mobile)",
|
|
5
5
|
"author": "heartyoh",
|
|
6
6
|
"type": "module",
|
|
@@ -70,12 +70,12 @@
|
|
|
70
70
|
"@material/web": "^2.0.0",
|
|
71
71
|
"@operato/headroom": "^10.29.1",
|
|
72
72
|
"@operato/i18n": "^10.29.1",
|
|
73
|
-
"@operato/input": "^10.29.
|
|
73
|
+
"@operato/input": "^10.29.17",
|
|
74
74
|
"@operato/list-state": "^10.29.1",
|
|
75
|
-
"@operato/p13n": "^10.29.
|
|
76
|
-
"@operato/popup": "^10.29.
|
|
75
|
+
"@operato/p13n": "^10.29.17",
|
|
76
|
+
"@operato/popup": "^10.29.17",
|
|
77
77
|
"@operato/pull-to-refresh": "^10.29.1",
|
|
78
|
-
"@operato/styles": "^10.29.
|
|
78
|
+
"@operato/styles": "^10.29.17",
|
|
79
79
|
"@operato/time-calculator": "^10.29.1",
|
|
80
80
|
"@operato/utils": "^10.29.1",
|
|
81
81
|
"i18next": "^24.2.1",
|
|
@@ -116,5 +116,5 @@
|
|
|
116
116
|
"prettier --write"
|
|
117
117
|
]
|
|
118
118
|
},
|
|
119
|
-
"gitHead": "
|
|
119
|
+
"gitHead": "ace66019af9afb5ba5dc50da8ade3a962f2c8cbb"
|
|
120
120
|
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/* Elements are compared by presence, not by value: a failing element comparison makes chai render the DOM and hang the runner. */
|
|
2
|
+
import { expect, fixture } from '@open-wc/testing'
|
|
3
|
+
import { html } from 'lit'
|
|
4
|
+
|
|
5
|
+
import '../src/data-grist.js'
|
|
6
|
+
import '../src/filters/filters-form.js'
|
|
7
|
+
|
|
8
|
+
/*
|
|
9
|
+
* Every filter in the form says what it filters, beside its chooser. A select once carried its name only as a
|
|
10
|
+
* placeholder, which a chosen value replaces - the bar then showed 「진행 중」 with nothing saying it was the status.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
const columns = [
|
|
14
|
+
{ type: 'string', name: 'name', header: 'name', filter: 'i_like' },
|
|
15
|
+
{ type: 'select', name: 'status', header: 'status', record: { options: ['', 'OPEN', 'CLOSED'] }, filter: 'in' },
|
|
16
|
+
{ type: 'select', name: 'kind', header: 'kind', record: { options: ['', 'A', 'B'] }, filter: true },
|
|
17
|
+
{ type: 'date', name: 'day', header: 'day', filter: 'between' }
|
|
18
|
+
]
|
|
19
|
+
|
|
20
|
+
const settle = (ms = 150) => new Promise(resolve => setTimeout(resolve, ms))
|
|
21
|
+
|
|
22
|
+
describe('필터 라벨', () => {
|
|
23
|
+
const ignoreResizeLoop = (e: ErrorEvent) => {
|
|
24
|
+
if (String(e.message).includes('ResizeObserver loop')) {
|
|
25
|
+
e.stopImmediatePropagation()
|
|
26
|
+
e.preventDefault()
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
let previousOnError: OnErrorEventHandler = null
|
|
30
|
+
|
|
31
|
+
before(() => {
|
|
32
|
+
window.addEventListener('error', ignoreResizeLoop, true)
|
|
33
|
+
previousOnError = window.onerror
|
|
34
|
+
window.onerror = (message, ...rest) =>
|
|
35
|
+
String(message).includes('ResizeObserver loop') ? true : previousOnError?.call(window, message, ...rest)
|
|
36
|
+
})
|
|
37
|
+
|
|
38
|
+
after(() => {
|
|
39
|
+
window.removeEventListener('error', ignoreResizeLoop, true)
|
|
40
|
+
window.onerror = previousOnError
|
|
41
|
+
})
|
|
42
|
+
|
|
43
|
+
it('every filter, a select too, sits in a label that names it', async () => {
|
|
44
|
+
const el = (await fixture(html`
|
|
45
|
+
<ox-grist
|
|
46
|
+
style="height: 300px"
|
|
47
|
+
mode="GRID"
|
|
48
|
+
.config=${{ columns, pagination: { pages: [20] } }}
|
|
49
|
+
.fetchHandler=${async () => ({ page: 1, limit: 20, total: 0, records: [] })}
|
|
50
|
+
>
|
|
51
|
+
<div slot="headroom"><ox-filters-form without-search></ox-filters-form></div>
|
|
52
|
+
</ox-grist>
|
|
53
|
+
`)) as any
|
|
54
|
+
await settle()
|
|
55
|
+
|
|
56
|
+
const form = el.querySelector('ox-filters-form') as any
|
|
57
|
+
await form.updateComplete
|
|
58
|
+
const root = form.renderRoot as ShadowRoot
|
|
59
|
+
const named = (name: string) => root.querySelector(`[name="${name}"]`)
|
|
60
|
+
for (const name of ['name', 'status', 'kind', 'day']) {
|
|
61
|
+
const chooser = named(name)
|
|
62
|
+
expect(!!chooser, `${name} is rendered`).to.equal(true)
|
|
63
|
+
const label = chooser!.closest('label[filter-title]')
|
|
64
|
+
expect(!!label, `${name} sits in a label`).to.equal(true)
|
|
65
|
+
expect(label!.querySelector('span')?.textContent?.trim()).to.equal(name)
|
|
66
|
+
}
|
|
67
|
+
})
|
|
68
|
+
})
|