ywana-core8 0.0.454 → 0.0.457

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.454",
3
+ "version": "0.0.457",
4
4
  "description": "ywana-core8",
5
5
  "homepage": "https://ywana.github.io/workspace",
6
6
  "author": "Ernesto Roldan Garcia",
@@ -15,14 +15,14 @@ import "./CollectionPage.css"
15
15
  export const CollectionPage = (props) => {
16
16
 
17
17
  const site = useContext(SiteContext)
18
- const { id = "collection", icon, title, name = "Collection 1", schema, url, page, host, groupBy, editor, field, autosave = false, delay = 1000, actions, levels, onSelect, children } = props
18
+ const { version=0, id = "collection", icon, title, name = "Collection 1", schema, url, page, host, groupBy, editor, field, autosave = false, delay = 1000, actions, levels, onSelect, children } = props
19
19
  const [pageContext, setPageContext] = useContext(PageContext)
20
20
  const context = CollectionContext(url, field, host, page)
21
21
 
22
22
  useEffect(async () => {
23
23
  await context.load()
24
24
  setPageContext(context)
25
- }, [])
25
+ }, [version])
26
26
 
27
27
  async function reload() {
28
28
  await pageContext.load()
@@ -45,11 +45,9 @@ export const ContentViewer = (props) => {
45
45
  const FieldViewer = (props) => {
46
46
 
47
47
  const { field, value } = props
48
- const { id, type, item, label, visible = true, optional } = field
48
+ const { type, item, label, visible = true, optional } = field
49
49
 
50
50
  if (!visible) return null
51
-
52
- console.log("FieldViewer Optional",field, value, optional && value === null)
53
51
  if (optional && value === undefined ) return null;
54
52
 
55
53
  switch (type) {
@@ -72,6 +72,7 @@ export const TablePage = (props) => {
72
72
  form.filters = filters
73
73
  form.layout = {}
74
74
  form.user = user
75
+ form.url = url
75
76
  await pageContext.createQuery(form, user)
76
77
  setPageContext(Object.assign({}, pageContext))
77
78
  }
@@ -146,7 +147,7 @@ export const TablePage = (props) => {
146
147
  </Header>
147
148
  {canQuery || canFilter ? (
148
149
  <menu className="table-page">
149
- {canQuery ? <TableQueries schema={schema} user={user} /> : null}
150
+ {canQuery ? <TableQueries schema={schema} url={url} user={user} /> : null}
150
151
  {canFilter ? <TableFilters schema={schema} onSave={canQuery ? saveQuery : null} /> : null}
151
152
  </menu>
152
153
  ) : null}
@@ -222,7 +223,7 @@ const TableSelector = (props) => {
222
223
  const TableQueries = (props) => {
223
224
 
224
225
  const [pageContext, setPageContext] = useContext(PageContext)
225
- const { user } = props
226
+ const { url, user } = props
226
227
  const { queries = [] } = pageContext
227
228
  const [selected, setSelected] = useState()
228
229
 
@@ -241,16 +242,18 @@ const TableQueries = (props) => {
241
242
  <Fragment>
242
243
  <Header className="table-queries" title={<Text>Queries</Text>} />
243
244
  <main className="table-queries">
244
- {queries ? queries.map(query => {
245
- const style = selected === query.id ? "selected" : ""
246
- return (
247
- <div className={`table-queries-item ${style}`} onClick={() => select(query)}>
248
- <Icon icon="star" size="small" />
249
- <label>{query.name}</label>
250
- <Icon icon="close" clickable size="small" action={() => remove(query.id)} />
251
- </div>
252
- )
253
- }) : <div>...empty...</div>}
245
+ {queries ? queries
246
+ .filter(query => query.url === url)
247
+ .map(query => {
248
+ const style = selected === query.id ? "selected" : ""
249
+ return (
250
+ <div className={`table-queries-item ${style}`} onClick={() => select(query)}>
251
+ <Icon icon="star" size="small" />
252
+ <label>{query.name}</label>
253
+ <Icon icon="close" clickable size="small" action={() => remove(query.id)} />
254
+ </div>
255
+ )
256
+ }) : <div>...empty...</div>}
254
257
  </main>
255
258
  </Fragment>
256
259
  )
@@ -272,7 +275,6 @@ const TableFilters = (props) => {
272
275
  if (filterSchema[key].filter === false) {
273
276
  delete filterSchema[key]
274
277
  } else {
275
-
276
278
  if (filterSchema[key].type === TYPES.ENTITY) {
277
279
  const fs = filterSchema[key].item
278
280
  for (var key in fs) {
@@ -308,7 +310,9 @@ const TableFilters = (props) => {
308
310
  }
309
311
 
310
312
  function save() {
311
- if (onSave) onSave(form)
313
+ if (onSave) {
314
+ onSave(form)
315
+ }
312
316
  }
313
317
 
314
318
  const content = new Content(filterSchema, form)
@@ -316,7 +320,7 @@ const TableFilters = (props) => {
316
320
  <Fragment>
317
321
  <Header className="table-filters" title={<Text>Filters</Text>} >
318
322
  <Icon icon="filter_list_off" size="small" clickable action={clear} />
319
- { onSave ? <Icon icon="save" size="small" clickable action={save} /> : null }
323
+ {onSave ? <Icon icon="save" size="small" clickable action={save} /> : null}
320
324
  </Header>
321
325
  <main className="table-filters">
322
326
  <ContentEditor content={content} onChange={change} />
@@ -386,9 +390,7 @@ export const TableEditor = (props) => {
386
390
 
387
391
  function renderGroupLabel(groupName) {
388
392
  const grouper = schema[groupBy]
389
-
390
393
  if (!groupName || !grouper) return ""
391
-
392
394
  if (grouper.options) {
393
395
  const options = CHECK['isFunction'](grouper.options) ? grouper.options() : grouper.options
394
396
  const option = options.find(option => option.value === groupName)
@@ -399,9 +401,7 @@ export const TableEditor = (props) => {
399
401
  }
400
402
 
401
403
  function renderGroups() {
402
-
403
404
  const items = filter ? filter(all) : all
404
-
405
405
  const groups = items.reduce((groups, item) => {
406
406
  const groupName = item[groupBy]
407
407
  const group = groups[groupName]
@@ -409,9 +409,7 @@ export const TableEditor = (props) => {
409
409
  groups[groupName].push(item)
410
410
  return groups
411
411
  }, {})
412
-
413
412
  return Object.keys(groups).map(groupName => {
414
-
415
413
  const table = {
416
414
  columns: Object.values(schema)
417
415
  .filter(field => field.column === true)
@@ -442,7 +440,6 @@ export const TableEditor = (props) => {
442
440
  return item
443
441
  })
444
442
  }
445
-
446
443
  table.columns.push({ id: "actions" })
447
444
  const groupSize = groups[groupName].length
448
445
  const title = <span><span className="size">{groupSize}</span>{renderGroupLabel(groupName)}</span>
@@ -17,9 +17,9 @@ const DATE_RANGE = [
17
17
  */
18
18
  export const Planner = ({ title, events = [], lanes = [], navigation = true, onSelectCell, focusEvent, onChange }) => {
19
19
 
20
- const [dateRange, setDateRange] = useState("month");
21
- const [from, setFrom] = useState("2021-02-26");
22
- const [to, setTo] = useState("2021-04-01");
20
+ const [dateRange, setDateRange] = useState("year");
21
+ const [from, setFrom] = useState("2022-01-01");
22
+ const [to, setTo] = useState("2022-12-30");
23
23
 
24
24
  useEffect(() => {
25
25
  const element = document.getElementById(focusEvent)