ywana-core8 0.0.307 → 0.0.310

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.307",
3
+ "version": "0.0.310",
4
4
  "description": "ywana-core8",
5
5
  "author": "Ernesto Roldan Garcia",
6
6
  "license": "MIT",
@@ -16,6 +16,13 @@ main.table-page>header {
16
16
  padding-right: 1rem;
17
17
  }
18
18
 
19
+ main.table-page > article {
20
+ padding: 1rem;
21
+ height: 50%;
22
+ display: flex;
23
+ resize: vertical;
24
+ }
25
+
19
26
  aside.table-page {
20
27
  min-width: 25rem;
21
28
  }
@@ -73,6 +80,11 @@ td.entity-cell {
73
80
  align-items: center;
74
81
  }
75
82
 
83
+ .table-queries-item.selected {
84
+ background-color: var(--accent-color);
85
+ color: var(--accent-color-text);
86
+ }
87
+
76
88
  .table-queries-item>label {
77
89
  flex: 1;
78
90
  }
@@ -139,12 +139,12 @@ 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
- {children ? <article></article> : null}
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} />
149
149
  </main>
150
150
  {renderAside()}
@@ -215,28 +215,34 @@ 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
+ setSelected(query.id)
224
+ pageContext.changeFilters(query.filters)
225
+ }
223
226
 
224
227
  async function remove(id) {
225
- await pageContext.removeQuery(id, props.user)
228
+ await pageContext.removeQuery(id, user)
226
229
  setPageContext(Object.assign({}, pageContext))
227
230
  }
228
-
231
+
229
232
  return (
230
233
  <Fragment>
231
234
  <Header className="table-queries" title={<Text>Queries</Text>} />
232
235
  <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>}
236
+ {queries ? queries.map(query => {
237
+ const style = selected === query.id ? "selected" : ""
238
+ return (
239
+ <div className={`table-queries-item ${style}`} onClick={() => select(query)}>
240
+ <Icon icon="star" size="small" />
241
+ <label>{query.name}</label>
242
+ <Icon icon="close" clickable size="small" action={() => remove(query.id)} />
243
+ </div>
244
+ )
245
+ }) : <div>...empty...</div>}
240
246
  </main>
241
247
  </Fragment>
242
248
  )
@@ -248,22 +254,27 @@ const TableQueries = (props) => {
248
254
  const TableFilters = (props) => {
249
255
 
250
256
  const [pageContext, setPageContext] = useContext(PageContext)
257
+ const { filters } = pageContext
251
258
  const { schema, onSave } = props
252
259
  const [form, setForm] = useState({})
253
260
 
254
261
  const filterSchema = useMemo(() => {
255
262
  const filterSchema = Object.assign({}, schema)
256
-
257
263
  for (var key in filterSchema) {
258
264
  if (filterSchema[key].filter === false) delete filterSchema[key]
259
265
  }
260
-
261
266
  Object.values(filterSchema).forEach(field => field.section = null)
262
267
  delete filterSchema.flows
263
268
  return filterSchema
264
269
  }, [schema])
265
270
 
271
+ useEffect(() => {
272
+ console.log("TableFilters onFiltersChange", filters)
273
+ setForm(filters)
274
+ }, [filters])
275
+
266
276
  async function change(next) {
277
+ console.log("TableFilters.change()", next)
267
278
  setForm(next)
268
279
  await pageContext.load(next)
269
280
  setPageContext(Object.assign({}, pageContext))
@@ -287,7 +298,7 @@ const TableFilters = (props) => {
287
298
  <ContentEditor content={content} onChange={change} />
288
299
  </main>
289
300
  <footer>
290
- { onSave ? <Button icon="playlist_add" label="CREAR BUSQUEDA" action={save} outlined/> : null}
301
+ {onSave ? <Button icon="playlist_add" label="CREAR BUSQUEDA" action={save} outlined /> : null}
291
302
  </footer>
292
303
  </Fragment>
293
304
  )
@@ -526,7 +537,7 @@ const TableContext = (url, field, host, urlQuery) => {
526
537
 
527
538
  async loadQueries(user) {
528
539
  try {
529
- this.queries = await API.queries(user,urlQuery)
540
+ this.queries = await API.queries(user, urlQuery)
530
541
  } catch (error) {
531
542
  console.log(error)
532
543
  }
@@ -602,9 +613,9 @@ const TableAPI = (url, host) => {
602
613
  return http.DELETE(`${url}/${id}`)
603
614
  },
604
615
 
605
- queries(user,url2) {
616
+ queries(user, url2) {
606
617
  let url3 = url2 ? url2 : url
607
- url3 = url3+"queries"
618
+ url3 = url3 + "queries"
608
619
  if (user) url3 = url3 + `?user=${user}`
609
620
  return http.GET(url3)
610
621
  },
@@ -618,6 +629,6 @@ const TableAPI = (url, host) => {
618
629
  removeQuery(id, url2) {
619
630
  const url3 = url2 ? url2 : url
620
631
  return http.DELETE(`${url3}queries/${id}`)
621
- },
632
+ },
622
633
  }
623
634
  }