ywana-core8 0.0.159 → 0.0.163

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.159",
3
+ "version": "0.0.163",
4
4
  "description": "ywana-core8",
5
5
  "author": "Ernesto Roldan Garcia",
6
6
  "license": "MIT",
@@ -1,6 +1,6 @@
1
1
  import React, { Fragment, useState } from 'react';
2
2
  import { Button, CheckBox, DataTable, DropDown, Icon, Stack, Tab, Tabs, Text, TextField, Tree, TreeNode, TreeItem, TokenField, Property } from '../html';
3
- import { Content, TYPES } from './ContentType';
3
+ import { CHECK, Content, TYPES } from './ContentType';
4
4
  import './ContentEditor.css';
5
5
  import { FORMATS } from './ContentType';
6
6
 
@@ -168,7 +168,7 @@ export const TreededContentEditor = ({ content, filter, onChange }) => {
168
168
  * FieldEditor
169
169
  */
170
170
  export const FieldEditor = ({ field, onChange, content, outlined = false }) => {
171
- const { id, type, item, label, editable, options, hidden } = field
171
+ const { id, type, item, label, editable, options, hidden = false } = field
172
172
 
173
173
  function change(id, value) {
174
174
  if (onChange) onChange(id, value)
@@ -176,7 +176,8 @@ export const FieldEditor = ({ field, onChange, content, outlined = false }) => {
176
176
 
177
177
  function renderField() {
178
178
  const value1 = field.value ? field.value : field.default
179
- if (hidden(field, value1)) {
179
+ const isHidden = CHECK['isFunction'](hidden) ? hidden(field, value1) : hidden
180
+ if (isHidden) {
180
181
  return null
181
182
  } else {
182
183
  switch (type) {
@@ -233,7 +234,7 @@ const EntityEditor = ({ field, value = {}, onChange }) => {
233
234
  * String Editor
234
235
  */
235
236
  export const StringEditor = ({ field, value = '', onChange, content, outlined }) => {
236
- const { id, format, label, options, editable = true } = field
237
+ const { id, format, label, options, editable = true, predictive = false } = field
237
238
 
238
239
  function change(id, value) {
239
240
  if (onChange) onChange(id, value)
@@ -248,7 +249,7 @@ export const StringEditor = ({ field, value = '', onChange, content, outlined })
248
249
  <div className='field-editor string-editor'>
249
250
  {
250
251
  format === FORMATS.DATE ? <TextField outlined={outlined} id={id} type="date" label={label} value={value} onChange={change} readOnly={!editable} /> :
251
- options ? <DropDown outlined={outlined} id={id} label={label} value={value} onChange={change} options={buildOptions()} readOnly={!editable} canFilter={false} /> :
252
+ options ? <DropDown outlined={outlined} id={id} label={label} value={value} onChange={change} options={buildOptions()} readOnly={!editable} canFilter={predictive} /> :
252
253
  <TextField outlined={outlined} id={id} label={label} value={value} onChange={change} readOnly={!editable} />
253
254
  }
254
255
  </div>
@@ -19,7 +19,7 @@ export const TablePage = (props) => {
19
19
  const { id = "table",
20
20
  icon, title, name,
21
21
  schema, url, field,
22
- actions, dev = false, tableActions, selectionActions = [],
22
+ actions = [], dev = false, tableActions, selectionActions = [],
23
23
  editable, canFilter = false, canQuery = false, canAdd = true, canDelete = true,
24
24
  autosave = true, delay = 1000,
25
25
  groupBy, validator, scenario,
@@ -103,6 +103,14 @@ export const TablePage = (props) => {
103
103
  return null;
104
104
  }
105
105
 
106
+ function renderActions() {
107
+ return actions.map(element => {
108
+ const action = () => element.props.action(pageContext)
109
+ const clone = React.cloneElement(element, [ action ])
110
+ return clone
111
+ })
112
+ }
113
+
106
114
  return (
107
115
  <Fragment>
108
116
  <Header className="table-page" title={<Text>{title}</Text>}>
@@ -113,6 +121,7 @@ export const TablePage = (props) => {
113
121
  </MenuIcon>
114
122
  ) : null}
115
123
  {actions}
124
+ {renderActions()}
116
125
  </Header>
117
126
  <menu className="table-page">
118
127
  {canQuery ? <TableQueries schema={schema} /> : null}