ywana-core8 0.0.298 → 0.0.299

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ywana-core8",
3
- "version": "0.0.298",
3
+ "version": "0.0.299",
4
4
  "description": "ywana-core8",
5
5
  "author": "Ernesto Roldan Garcia",
6
6
  "license": "MIT",
@@ -66,4 +66,13 @@ main.table-filters {
66
66
 
67
67
  td.entity-cell {
68
68
  background-color: rgba(240,240,240,.4);
69
+ }
70
+
71
+ .table-queries-item {
72
+ display: flex;
73
+ align-items: center;
74
+ }
75
+
76
+ .table-queries-item>label {
77
+ flex: 1;
69
78
  }
@@ -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, canQuery = false, canAdd = true, canDelete = true, canEdit = true,
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
@@ -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,34 @@ const TableSelector = (props) => {
209
210
  */
210
211
  const TableQueries = (props) => {
211
212
 
212
- function remove(id) {
213
- alert("TODO: remove query")
214
- }
215
-
216
- const queries = [
213
+ const [pageContext, setPageContext] = useContext(PageContext)
214
+ const { queries= [
217
215
  { name: "Query 1", filters: {}},
218
216
  { name: "Query 2", filters: {}},
219
217
  { name: "Query 3", filters: {}},
220
- ]
218
+ ] } = pageContext
219
+
220
+ useEffect(() => {
221
+ pageContext.loadQueries()
222
+ }, [])
223
+
224
+
225
+ async function remove(id) {
226
+ await pageContext.removeQuery(id)
227
+ setPageContext(Object.assign({}, pageContext))
228
+ }
229
+
221
230
  return (
222
231
  <Fragment>
223
232
  <Header className="table-queries" title={<Text>Queries</Text>} />
224
233
  <main className="table-queries">
225
- {queries.map(query => (
234
+ {queries ? queries.map(query => (
226
235
  <div className="table-queries-item">
227
236
  <Icon icon="star" />
228
237
  <label>{query.name}</label>
229
238
  <Icon icon="close" clickable size="small" action={() => remove(query.id)} />
230
239
  </div>
231
- ))}
240
+ )) : <div>...empty...</div>}
232
241
  </main>
233
242
  </Fragment>
234
243
  )