ywana-core8 0.0.298 → 0.0.301
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 +47 -27
- 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 +47 -27
- package/dist/index.modern.js.map +1 -1
- package/dist/index.umd.js +47 -27
- 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 +33 -20
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,7 +47,7 @@ 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()
|
51
52
|
if (canQuery) await context.loadQueries()
|
52
53
|
setPageContext(context)
|
@@ -63,7 +64,7 @@ export const TablePage = (props) => {
|
|
63
64
|
function saveQuery(filters) {
|
64
65
|
const onOK = async (form) => {
|
65
66
|
form.filters = filters
|
66
|
-
await pageContext.createQuery(form)
|
67
|
+
await pageContext.createQuery(form, urlQuery)
|
67
68
|
setPageContext(Object.assign({}, pageContext))
|
68
69
|
}
|
69
70
|
site.openDialog(<CreateContentDialog label="Nueva query" type={QUERY} onOK={onOK} />)
|
@@ -135,7 +136,7 @@ export const TablePage = (props) => {
|
|
135
136
|
</Header>
|
136
137
|
{canQuery || canFilter ? (
|
137
138
|
<menu className="table-page">
|
138
|
-
{canQuery ? <TableQueries schema={schema} /> : null}
|
139
|
+
{canQuery ? <TableQueries schema={schema} url={urlQuery}/> : null}
|
139
140
|
{canFilter ? <TableFilters schema={schema} onSave={saveQuery}/> : null}
|
140
141
|
</menu>
|
141
142
|
) : null }
|
@@ -209,26 +210,35 @@ const TableSelector = (props) => {
|
|
209
210
|
*/
|
210
211
|
const TableQueries = (props) => {
|
211
212
|
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
const queries = [
|
213
|
+
const [pageContext, setPageContext] = useContext(PageContext)
|
214
|
+
const { url } = props
|
215
|
+
const { queries= [
|
217
216
|
{ name: "Query 1", filters: {}},
|
218
217
|
{ name: "Query 2", filters: {}},
|
219
218
|
{ name: "Query 3", filters: {}},
|
220
|
-
]
|
219
|
+
] } = pageContext
|
220
|
+
|
221
|
+
useEffect(() => {
|
222
|
+
pageContext.loadQueries()
|
223
|
+
}, [])
|
224
|
+
|
225
|
+
|
226
|
+
async function remove(id) {
|
227
|
+
await pageContext.removeQuery(id, url)
|
228
|
+
setPageContext(Object.assign({}, pageContext))
|
229
|
+
}
|
230
|
+
|
221
231
|
return (
|
222
232
|
<Fragment>
|
223
233
|
<Header className="table-queries" title={<Text>Queries</Text>} />
|
224
234
|
<main className="table-queries">
|
225
|
-
{queries.map(query => (
|
235
|
+
{queries ? queries.map(query => (
|
226
236
|
<div className="table-queries-item">
|
227
237
|
<Icon icon="star" />
|
228
238
|
<label>{query.name}</label>
|
229
239
|
<Icon icon="close" clickable size="small" action={() => remove(query.id)} />
|
230
240
|
</div>
|
231
|
-
))}
|
241
|
+
)) : <div>...empty...</div>}
|
232
242
|
</main>
|
233
243
|
</Fragment>
|
234
244
|
)
|
@@ -438,7 +448,7 @@ export const TableEditor = (props) => {
|
|
438
448
|
/**
|
439
449
|
* Table Context
|
440
450
|
*/
|
441
|
-
const TableContext = (url, field, host) => {
|
451
|
+
const TableContext = (url, field, host, urlQuery) => {
|
442
452
|
|
443
453
|
const API = TableAPI(url, host)
|
444
454
|
|
@@ -518,7 +528,7 @@ const TableContext = (url, field, host) => {
|
|
518
528
|
|
519
529
|
async loadQueries() {
|
520
530
|
try {
|
521
|
-
this.queries = await API.queries()
|
531
|
+
this.queries = await API.queries(urlQuery)
|
522
532
|
} catch (error) {
|
523
533
|
console.log(error)
|
524
534
|
}
|
@@ -594,17 +604,20 @@ const TableAPI = (url, host) => {
|
|
594
604
|
return http.DELETE(`${url}/${id}`)
|
595
605
|
},
|
596
606
|
|
597
|
-
queries() {
|
598
|
-
|
607
|
+
queries(url2) {
|
608
|
+
const url3 = url2 ? url2 : url
|
609
|
+
return http.GET(`${url3}queries`)
|
599
610
|
},
|
600
611
|
|
601
|
-
createQuery(form) {
|
612
|
+
createQuery(form, url2) {
|
613
|
+
const url3 = url2 ? url2 : url
|
602
614
|
const body = JSON.stringify(form)
|
603
|
-
return http.POST(`${
|
615
|
+
return http.POST(`${url3}queries`, body)
|
604
616
|
},
|
605
617
|
|
606
|
-
removeQuery(id) {
|
607
|
-
|
618
|
+
removeQuery(id, url2) {
|
619
|
+
const url3 = url2 ? url2 : url
|
620
|
+
return http.DELETE(`${url3}queries/${id}`)
|
608
621
|
},
|
609
622
|
}
|
610
623
|
}
|