ywana-core8 0.0.454 → 0.0.455
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/dist/index.cjs +10 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.modern.js +10 -3
- package/dist/index.modern.js.map +1 -1
- package/dist/index.umd.js +10 -3
- package/dist/index.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/domain/ContentViewer.js +1 -1
- package/src/domain/TablePage.js +19 -22
package/package.json
CHANGED
@@ -45,7 +45,7 @@ export const ContentViewer = (props) => {
|
|
45
45
|
const FieldViewer = (props) => {
|
46
46
|
|
47
47
|
const { field, value } = props
|
48
|
-
const {
|
48
|
+
const { type, item, label, visible = true, optional } = field
|
49
49
|
|
50
50
|
if (!visible) return null
|
51
51
|
|
package/src/domain/TablePage.js
CHANGED
@@ -72,6 +72,7 @@ export const TablePage = (props) => {
|
|
72
72
|
form.filters = filters
|
73
73
|
form.layout = {}
|
74
74
|
form.user = user
|
75
|
+
form.url = url
|
75
76
|
await pageContext.createQuery(form, user)
|
76
77
|
setPageContext(Object.assign({}, pageContext))
|
77
78
|
}
|
@@ -146,7 +147,7 @@ export const TablePage = (props) => {
|
|
146
147
|
</Header>
|
147
148
|
{canQuery || canFilter ? (
|
148
149
|
<menu className="table-page">
|
149
|
-
{canQuery ? <TableQueries schema={schema} user={user} /> : null}
|
150
|
+
{canQuery ? <TableQueries schema={schema} url={url} user={user} /> : null}
|
150
151
|
{canFilter ? <TableFilters schema={schema} onSave={canQuery ? saveQuery : null} /> : null}
|
151
152
|
</menu>
|
152
153
|
) : null}
|
@@ -222,7 +223,7 @@ const TableSelector = (props) => {
|
|
222
223
|
const TableQueries = (props) => {
|
223
224
|
|
224
225
|
const [pageContext, setPageContext] = useContext(PageContext)
|
225
|
-
const { user } = props
|
226
|
+
const { url, user } = props
|
226
227
|
const { queries = [] } = pageContext
|
227
228
|
const [selected, setSelected] = useState()
|
228
229
|
|
@@ -241,16 +242,18 @@ const TableQueries = (props) => {
|
|
241
242
|
<Fragment>
|
242
243
|
<Header className="table-queries" title={<Text>Queries</Text>} />
|
243
244
|
<main className="table-queries">
|
244
|
-
{queries ? queries
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
<
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
245
|
+
{queries ? queries
|
246
|
+
.filter(query => query.url === url)
|
247
|
+
.map(query => {
|
248
|
+
const style = selected === query.id ? "selected" : ""
|
249
|
+
return (
|
250
|
+
<div className={`table-queries-item ${style}`} onClick={() => select(query)}>
|
251
|
+
<Icon icon="star" size="small" />
|
252
|
+
<label>{query.name}</label>
|
253
|
+
<Icon icon="close" clickable size="small" action={() => remove(query.id)} />
|
254
|
+
</div>
|
255
|
+
)
|
256
|
+
}) : <div>...empty...</div>}
|
254
257
|
</main>
|
255
258
|
</Fragment>
|
256
259
|
)
|
@@ -272,7 +275,6 @@ const TableFilters = (props) => {
|
|
272
275
|
if (filterSchema[key].filter === false) {
|
273
276
|
delete filterSchema[key]
|
274
277
|
} else {
|
275
|
-
|
276
278
|
if (filterSchema[key].type === TYPES.ENTITY) {
|
277
279
|
const fs = filterSchema[key].item
|
278
280
|
for (var key in fs) {
|
@@ -308,7 +310,9 @@ const TableFilters = (props) => {
|
|
308
310
|
}
|
309
311
|
|
310
312
|
function save() {
|
311
|
-
if (onSave)
|
313
|
+
if (onSave) {
|
314
|
+
onSave(form)
|
315
|
+
}
|
312
316
|
}
|
313
317
|
|
314
318
|
const content = new Content(filterSchema, form)
|
@@ -316,7 +320,7 @@ const TableFilters = (props) => {
|
|
316
320
|
<Fragment>
|
317
321
|
<Header className="table-filters" title={<Text>Filters</Text>} >
|
318
322
|
<Icon icon="filter_list_off" size="small" clickable action={clear} />
|
319
|
-
{
|
323
|
+
{onSave ? <Icon icon="save" size="small" clickable action={save} /> : null}
|
320
324
|
</Header>
|
321
325
|
<main className="table-filters">
|
322
326
|
<ContentEditor content={content} onChange={change} />
|
@@ -386,9 +390,7 @@ export const TableEditor = (props) => {
|
|
386
390
|
|
387
391
|
function renderGroupLabel(groupName) {
|
388
392
|
const grouper = schema[groupBy]
|
389
|
-
|
390
393
|
if (!groupName || !grouper) return ""
|
391
|
-
|
392
394
|
if (grouper.options) {
|
393
395
|
const options = CHECK['isFunction'](grouper.options) ? grouper.options() : grouper.options
|
394
396
|
const option = options.find(option => option.value === groupName)
|
@@ -399,9 +401,7 @@ export const TableEditor = (props) => {
|
|
399
401
|
}
|
400
402
|
|
401
403
|
function renderGroups() {
|
402
|
-
|
403
404
|
const items = filter ? filter(all) : all
|
404
|
-
|
405
405
|
const groups = items.reduce((groups, item) => {
|
406
406
|
const groupName = item[groupBy]
|
407
407
|
const group = groups[groupName]
|
@@ -409,9 +409,7 @@ export const TableEditor = (props) => {
|
|
409
409
|
groups[groupName].push(item)
|
410
410
|
return groups
|
411
411
|
}, {})
|
412
|
-
|
413
412
|
return Object.keys(groups).map(groupName => {
|
414
|
-
|
415
413
|
const table = {
|
416
414
|
columns: Object.values(schema)
|
417
415
|
.filter(field => field.column === true)
|
@@ -442,7 +440,6 @@ export const TableEditor = (props) => {
|
|
442
440
|
return item
|
443
441
|
})
|
444
442
|
}
|
445
|
-
|
446
443
|
table.columns.push({ id: "actions" })
|
447
444
|
const groupSize = groups[groupName].length
|
448
445
|
const title = <span><span className="size">{groupSize}</span>{renderGroupLabel(groupName)}</span>
|