ywana-core8 0.0.309 → 0.0.312

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.309",
3
+ "version": "0.0.312",
4
4
  "description": "ywana-core8",
5
5
  "author": "Ernesto Roldan Garcia",
6
6
  "license": "MIT",
@@ -80,6 +80,11 @@ td.entity-cell {
80
80
  align-items: center;
81
81
  }
82
82
 
83
+ .table-queries-item.selected {
84
+ background-color: var(--accent-color);
85
+ color: var(--accent-color-text);
86
+ }
87
+
83
88
  .table-queries-item>label {
84
89
  flex: 1;
85
90
  }
@@ -139,10 +139,10 @@ export const TablePage = (props) => {
139
139
  </Header>
140
140
  {canQuery || canFilter ? (
141
141
  <menu className="table-page">
142
- {canQuery ? <TableQueries schema={schema} user={user}/> : null}
143
- {canFilter ? <TableFilters schema={schema} onSave={saveQuery}/> : null}
142
+ {canQuery ? <TableQueries schema={schema} user={user} /> : null}
143
+ {canFilter ? <TableFilters schema={schema} onSave={saveQuery} /> : null}
144
144
  </menu>
145
- ) : null }
145
+ ) : null}
146
146
  <main key={id} className="table-page">
147
147
  {children ? <article>{children}</article> : null}
148
148
  <TableEditor icon={icon} title={name} schema={schema} delay={delay} editable={editable} groupBy={groupBy} filter={tableFilter} actions={tableActions} canDelete={canDelete} />
@@ -215,28 +215,36 @@ const TableSelector = (props) => {
215
215
  const TableQueries = (props) => {
216
216
 
217
217
  const [pageContext, setPageContext] = useContext(PageContext)
218
- const { queries= [
219
- { name: "Query 1", filters: {}},
220
- { name: "Query 2", filters: {}},
221
- { name: "Query 3", filters: {}},
222
- ] } = pageContext
218
+ const { user } = props
219
+ const { queries = [] } = pageContext
220
+ const [selected, setSelected] = useState()
221
+
222
+ function select(query) {
223
+ console.log("TableQueries.select", query)
224
+ setSelected(query.id)
225
+ pageContext.changeFilters(query.filters)
226
+ setPageContext(Object.assign({}, pageContext))
227
+ }
223
228
 
224
229
  async function remove(id) {
225
- await pageContext.removeQuery(id, props.user)
230
+ await pageContext.removeQuery(id, user)
226
231
  setPageContext(Object.assign({}, pageContext))
227
232
  }
228
-
233
+
229
234
  return (
230
235
  <Fragment>
231
236
  <Header className="table-queries" title={<Text>Queries</Text>} />
232
237
  <main className="table-queries">
233
- {queries ? queries.map(query => (
234
- <div className="table-queries-item">
235
- <Icon icon="star" />
236
- <label>{query.name}</label>
237
- <Icon icon="close" clickable size="small" action={() => remove(query.id)} />
238
- </div>
239
- )) : <div>...empty...</div>}
238
+ {queries ? queries.map(query => {
239
+ const style = selected === query.id ? "selected" : ""
240
+ return (
241
+ <div className={`table-queries-item ${style}`} onClick={() => select(query)}>
242
+ <Icon icon="star" size="small" />
243
+ <label>{query.name}</label>
244
+ <Icon icon="close" clickable size="small" action={() => remove(query.id)} />
245
+ </div>
246
+ )
247
+ }) : <div>...empty...</div>}
240
248
  </main>
241
249
  </Fragment>
242
250
  )
@@ -248,22 +256,27 @@ const TableQueries = (props) => {
248
256
  const TableFilters = (props) => {
249
257
 
250
258
  const [pageContext, setPageContext] = useContext(PageContext)
259
+ const { filters } = pageContext
251
260
  const { schema, onSave } = props
252
261
  const [form, setForm] = useState({})
253
262
 
254
263
  const filterSchema = useMemo(() => {
255
264
  const filterSchema = Object.assign({}, schema)
256
-
257
265
  for (var key in filterSchema) {
258
266
  if (filterSchema[key].filter === false) delete filterSchema[key]
259
267
  }
260
-
261
268
  Object.values(filterSchema).forEach(field => field.section = null)
262
269
  delete filterSchema.flows
263
270
  return filterSchema
264
271
  }, [schema])
265
272
 
273
+ useEffect(() => {
274
+ console.log("TableFilters onFiltersChange", filters)
275
+ if (filters) setForm(filters)
276
+ }, [filters])
277
+
266
278
  async function change(next) {
279
+ console.log("TableFilters.change()", next)
267
280
  setForm(next)
268
281
  await pageContext.load(next)
269
282
  setPageContext(Object.assign({}, pageContext))
@@ -287,7 +300,7 @@ const TableFilters = (props) => {
287
300
  <ContentEditor content={content} onChange={change} />
288
301
  </main>
289
302
  <footer>
290
- { onSave ? <Button icon="playlist_add" label="CREAR BUSQUEDA" action={save} outlined/> : null}
303
+ {onSave ? <Button icon="playlist_add" label="CREAR BUSQUEDA" action={save} outlined /> : null}
291
304
  </footer>
292
305
  </Fragment>
293
306
  )
@@ -521,12 +534,13 @@ const TableContext = (url, field, host, urlQuery) => {
521
534
  },
522
535
 
523
536
  changeFilters(filters) {
537
+ console.log("TableContext.changeFilters", filters)
524
538
  this.filters = filters
525
539
  },
526
540
 
527
541
  async loadQueries(user) {
528
542
  try {
529
- this.queries = await API.queries(user,urlQuery)
543
+ this.queries = await API.queries(user, urlQuery)
530
544
  } catch (error) {
531
545
  console.log(error)
532
546
  }
@@ -602,9 +616,9 @@ const TableAPI = (url, host) => {
602
616
  return http.DELETE(`${url}/${id}`)
603
617
  },
604
618
 
605
- queries(user,url2) {
619
+ queries(user, url2) {
606
620
  let url3 = url2 ? url2 : url
607
- url3 = url3+"queries"
621
+ url3 = url3 + "queries"
608
622
  if (user) url3 = url3 + `?user=${user}`
609
623
  return http.GET(url3)
610
624
  },
@@ -618,6 +632,6 @@ const TableAPI = (url, host) => {
618
632
  removeQuery(id, url2) {
619
633
  const url3 = url2 ? url2 : url
620
634
  return http.DELETE(`${url3}queries/${id}`)
621
- },
635
+ },
622
636
  }
623
637
  }