ywana-core8 0.0.911 → 0.0.913

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.911",
3
+ "version": "0.0.913",
4
4
  "description": "ywana-core8",
5
5
  "homepage": "https://ywana.github.io/workspace",
6
6
  "author": "Ernesto Roldan Garcia",
@@ -4,7 +4,7 @@ import { isEmpty} from '../commons'
4
4
  /**
5
5
  * Collection API
6
6
  */
7
- export const CollectionAPI = (url, host) => {
7
+ export const CollectionAPI = (url, host, params) => {
8
8
 
9
9
  const http = HTTPClient(host || window.API || process.env.REACT_APP_API, Session);
10
10
 
@@ -45,10 +45,20 @@ import { isEmpty} from '../commons'
45
45
  return {
46
46
 
47
47
  all(filters, likes = [], page) {
48
+
49
+ // build query params
48
50
  let queryParams = page ? `?page=${page}&` : "?"
51
+
52
+ // concat optional params to queryparams
53
+ queryParams = `${queryParams}${params}`
54
+
55
+ // concat filters to queryparams
49
56
  const filterQuery = objectToQueryParamString(filters, likes)
50
57
  queryParams = `${queryParams}${filterQuery}`
58
+
59
+ // remove last &
51
60
  queryParams = queryParams.substring(0, queryParams.length - 1)
61
+
52
62
  return http.GET(`${url}${queryParams}`)
53
63
  },
54
64
 
@@ -18,7 +18,7 @@ export const CollectionPage = (props) => {
18
18
  const {
19
19
  id = "collection",
20
20
  icon, title, name = "Collection 1", className,
21
- schema, url, field, host, page, fetching = false,
21
+ schema, url, field, host, page, fetching = false, params,
22
22
  actions = [], onSelect, onChange,
23
23
  canFilter = false, canAdd = false, canDelete = false, searchBy, addValidator,
24
24
  autosave = false, delay = 1000, patch = false, versioning = false,
@@ -30,7 +30,7 @@ export const CollectionPage = (props) => {
30
30
  children
31
31
  } = props
32
32
 
33
- const context = CollectionContext(url, field, host, page, fetching, versioning)
33
+ const context = CollectionContext(url, field, host, page, fetching, versioning, params)
34
34
  const [pageContext, setPageContext] = useContext(PageContext)
35
35
  const { all } = pageContext
36
36
 
@@ -460,9 +460,9 @@ const CollectionEditor = (props) => {
460
460
  /**
461
461
  * Collection Context
462
462
  */
463
- export const CollectionContext = (url, field, host, page, fetching, versioning = false) => {
463
+ export const CollectionContext = (url, field, host, page, fetching, versioning = false, params) => {
464
464
 
465
- const API = CollectionAPI(url, host)
465
+ const API = CollectionAPI(url, host, params)
466
466
 
467
467
  return {
468
468
 
package/src/html/table.js CHANGED
@@ -148,10 +148,13 @@ export const DataTable = (props) => {
148
148
  const DataTableFiltersRow = ({ columns }) => {
149
149
  return (
150
150
  <tr className="filters-row">
151
- {columns.map(({ id, filterable, onFilter }) => {
151
+ {columns.map(({ id, filterable, onFilter, options }) => {
152
+
153
+ const field = options ? <DropDown id={id} options={options} onChange={onFilter} outlined /> : <TextField id={id} onChange={onFilter} outlined />
154
+
152
155
  return (
153
156
  <td className='filter-cell'>
154
- {filterable ? <TextField id={id} onChange={onFilter} outlined /> : null}
157
+ {filterable ? field : null}
155
158
  </td>
156
159
  )
157
160
  })}
@@ -43,8 +43,13 @@ export const TableTest = (prop) => {
43
43
  columns: [
44
44
  { id: "index" , label: "#" , type: "INDEX" },
45
45
  { id: "checked" , onChange: check },
46
- { id: "name" , label: "Name" , type: "String", sortable: true, filtrable: true, resizable: true },
47
- { id: "description", label: "Description", type: "String", sortable: true },
46
+ { id: "name" , label: "Name" , type: "String", sortable: true, filterable: true, resizable: true },
47
+ { id: "category" , label: "Category" , type: "String", sortable: true, filterable: true, resizable: false, options: [
48
+ { label: "A", value: "A" },
49
+ { label: "B", value: "B" },
50
+ { label: "C", value: "C" },
51
+ ]},
52
+ { id: "description", label: "Description", type: "String", sortable: true },
48
53
  { id: "color" , label: "Color" , type: "String", format: FORMATS.COLOR },
49
54
  { id: "date" , label: "Date" , type: "String", format: FORMATS.DATE },
50
55
  { id: "num" , label: "Num" , type: "Number", maxDecimals: 2, sortable: true},
@@ -58,7 +63,7 @@ export const TableTest = (prop) => {
58
63
  <DataTable {...table1} onRowSelection={select} outlined multisort={true}/>
59
64
  </div>
60
65
  <div style={{ maxHeight: "20rem", overflow: "auto", margin: "2rem" }}>
61
- <DataTable {...table1} onRowSelection={select} onCheckAll={checkAll} />
66
+ <DataTable {...table1} onRowSelection={select} onCheckAll={checkAll} filterable={true} />
62
67
  </div>
63
68
  </>
64
69
  )