ywana-core8 0.0.297 → 0.0.300
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 +79 -35
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +9 -0
- package/dist/index.css.map +1 -1
- package/dist/index.modern.js +79 -35
- package/dist/index.modern.js.map +1 -1
- package/dist/index.umd.js +79 -35
- package/dist/index.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/domain/TablePage.css +9 -0
- package/src/domain/TablePage.js +34 -17
package/package.json
CHANGED
package/src/domain/TablePage.css
CHANGED
package/src/domain/TablePage.js
CHANGED
@@ -22,7 +22,8 @@ export const TablePage = (props) => {
|
|
22
22
|
autosave = true, delay = 1000,
|
23
23
|
editable,
|
24
24
|
actions = [], dev = false, tableActions, selectionActions = [],
|
25
|
-
canFilter = false,
|
25
|
+
canFilter = false, canAdd = true, canDelete = true, canEdit = true,
|
26
|
+
canQuery = false, urlQuery,
|
26
27
|
groupBy, validator, scenario,
|
27
28
|
formFilter, tableFilter, editorFilter = false
|
28
29
|
} = props
|
@@ -46,8 +47,9 @@ export const TablePage = (props) => {
|
|
46
47
|
}, [form])
|
47
48
|
|
48
49
|
useEffect(async () => {
|
49
|
-
const context = TableContext(url, field, host)
|
50
|
+
const context = TableContext(url, field, host, urlQuery)
|
50
51
|
await context.load()
|
52
|
+
if (canQuery) await context.loadQueries()
|
51
53
|
setPageContext(context)
|
52
54
|
}, [])
|
53
55
|
|
@@ -62,7 +64,7 @@ export const TablePage = (props) => {
|
|
62
64
|
function saveQuery(filters) {
|
63
65
|
const onOK = async (form) => {
|
64
66
|
form.filters = filters
|
65
|
-
await pageContext.createQuery(form)
|
67
|
+
await pageContext.createQuery(form, urlQuery)
|
66
68
|
setPageContext(Object.assign({}, pageContext))
|
67
69
|
}
|
68
70
|
site.openDialog(<CreateContentDialog label="Nueva query" type={QUERY} onOK={onOK} />)
|
@@ -134,7 +136,7 @@ export const TablePage = (props) => {
|
|
134
136
|
</Header>
|
135
137
|
{canQuery || canFilter ? (
|
136
138
|
<menu className="table-page">
|
137
|
-
{canQuery ? <TableQueries schema={schema} /> : null}
|
139
|
+
{canQuery ? <TableQueries schema={schema} url={urlQuery}/> : null}
|
138
140
|
{canFilter ? <TableFilters schema={schema} onSave={saveQuery}/> : null}
|
139
141
|
</menu>
|
140
142
|
) : null }
|
@@ -209,22 +211,34 @@ const TableSelector = (props) => {
|
|
209
211
|
const TableQueries = (props) => {
|
210
212
|
|
211
213
|
const [pageContext, setPageContext] = useContext(PageContext)
|
214
|
+
const { url } = props
|
215
|
+
const { queries= [
|
216
|
+
{ name: "Query 1", filters: {}},
|
217
|
+
{ name: "Query 2", filters: {}},
|
218
|
+
{ name: "Query 3", filters: {}},
|
219
|
+
] } = pageContext
|
212
220
|
|
213
221
|
useEffect(() => {
|
214
222
|
pageContext.loadQueries()
|
215
223
|
}, [])
|
216
224
|
|
217
|
-
|
218
|
-
|
225
|
+
|
226
|
+
async function remove(id) {
|
227
|
+
await pageContext.removeQuery(id, url)
|
228
|
+
setPageContext(Object.assign({}, pageContext))
|
229
|
+
}
|
230
|
+
|
219
231
|
return (
|
220
232
|
<Fragment>
|
221
233
|
<Header className="table-queries" title={<Text>Queries</Text>} />
|
222
234
|
<main className="table-queries">
|
223
|
-
{queries.map(query => (
|
235
|
+
{queries ? queries.map(query => (
|
224
236
|
<div className="table-queries-item">
|
225
|
-
|
237
|
+
<Icon icon="star" />
|
238
|
+
<label>{query.name}</label>
|
239
|
+
<Icon icon="close" clickable size="small" action={() => remove(query.id)} />
|
226
240
|
</div>
|
227
|
-
))}
|
241
|
+
)) : <div>...empty...</div>}
|
228
242
|
</main>
|
229
243
|
</Fragment>
|
230
244
|
)
|
@@ -434,7 +448,7 @@ export const TableEditor = (props) => {
|
|
434
448
|
/**
|
435
449
|
* Table Context
|
436
450
|
*/
|
437
|
-
const TableContext = (url, field, host) => {
|
451
|
+
const TableContext = (url, field, host, urlQuery) => {
|
438
452
|
|
439
453
|
const API = TableAPI(url, host)
|
440
454
|
|
@@ -514,7 +528,7 @@ const TableContext = (url, field, host) => {
|
|
514
528
|
|
515
529
|
async loadQueries() {
|
516
530
|
try {
|
517
|
-
this.queries = await API.queries()
|
531
|
+
this.queries = await API.queries(urlQuery)
|
518
532
|
} catch (error) {
|
519
533
|
console.log(error)
|
520
534
|
}
|
@@ -590,17 +604,20 @@ const TableAPI = (url, host) => {
|
|
590
604
|
return http.DELETE(`${url}/${id}`)
|
591
605
|
},
|
592
606
|
|
593
|
-
queries() {
|
594
|
-
|
607
|
+
queries(url2) {
|
608
|
+
const url3 = url2 ? url2 : url
|
609
|
+
return http.GET(`${url3}/queries`)
|
595
610
|
},
|
596
611
|
|
597
|
-
createQuery(form) {
|
612
|
+
createQuery(form, url2) {
|
613
|
+
const url3 = url2 ? url2 : url
|
598
614
|
const body = JSON.stringify(form)
|
599
|
-
return http.POST(`${
|
615
|
+
return http.POST(`${url3}/queries`, body)
|
600
616
|
},
|
601
617
|
|
602
|
-
removeQuery(id) {
|
603
|
-
|
618
|
+
removeQuery(id, url2) {
|
619
|
+
const url3 = url2 ? url2 : url
|
620
|
+
return http.DELETE(`${url3}/queries/${id}`)
|
604
621
|
},
|
605
622
|
}
|
606
623
|
}
|