ywana-core8 0.0.362 → 0.0.365
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/dist/index.cjs +23 -5
- package/dist/index.cjs.map +1 -1
- package/dist/index.modern.js +23 -5
- package/dist/index.modern.js.map +1 -1
- package/dist/index.umd.js +23 -5
- package/dist/index.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/domain/ContentViewer.js +6 -6
- package/src/domain/TablePage.js +2 -2
- package/src/html/textfield.js +13 -1
- package/src/html/textfield.test.js +3 -1
- package/src/site/site.test.js +22 -3
package/package.json
CHANGED
@@ -27,7 +27,7 @@ export const ContentViewer = (props) => {
|
|
27
27
|
{title}
|
28
28
|
</header>
|
29
29
|
<main>
|
30
|
-
{
|
30
|
+
{fields.map(field => <FieldViewer key={field.id} field={field} value={value[field.id]} />)}
|
31
31
|
</main>
|
32
32
|
</section>
|
33
33
|
)
|
@@ -44,12 +44,12 @@ export const ContentViewer = (props) => {
|
|
44
44
|
*/
|
45
45
|
const FieldViewer = (props) => {
|
46
46
|
|
47
|
-
const {
|
48
|
-
const {
|
49
|
-
|
47
|
+
const { field, value } = props
|
48
|
+
const { type, label, visible = true } = field
|
49
|
+
|
50
50
|
if (!visible) return null
|
51
51
|
|
52
|
-
switch(type) {
|
52
|
+
switch (type) {
|
53
53
|
case TYPES.STRING:
|
54
54
|
return <Property label={label} value={value} />
|
55
55
|
case TYPES.ENTITY:
|
@@ -74,7 +74,7 @@ const EntityViewer = (props) => {
|
|
74
74
|
{label}
|
75
75
|
</header>
|
76
76
|
<main>
|
77
|
-
{
|
77
|
+
{fields.map(field => <FieldViewer field={field} value={value[field.id]} />)}
|
78
78
|
</main>
|
79
79
|
</div>
|
80
80
|
)
|
package/src/domain/TablePage.js
CHANGED
@@ -431,10 +431,10 @@ export const TableEditor = (props) => {
|
|
431
431
|
|
432
432
|
table.columns.push({ id: "actions" })
|
433
433
|
const groupSize = groups[groupName].length
|
434
|
-
|
434
|
+
const title = <span><span className="size">{groupSize}</span>{renderGroupLabel(groupName)}</span>
|
435
435
|
return (
|
436
436
|
<Fragment key={groupName}>
|
437
|
-
<Header title={
|
437
|
+
<Header title={title} >
|
438
438
|
<span className="size">{groupSize}</span>
|
439
439
|
</Header>
|
440
440
|
<DataTable {...table} onRowSelection={select} editable={editable} onCheckAll={check} />
|
package/src/html/textfield.js
CHANGED
@@ -29,6 +29,18 @@ export const TextField = (props) => {
|
|
29
29
|
}
|
30
30
|
|
31
31
|
function focus() {
|
32
|
+
console.log("FOCUS")
|
33
|
+
if (site && site.changeFocus) {
|
34
|
+
site.changeFocus({
|
35
|
+
lose: () => {
|
36
|
+
// DO NOTHING
|
37
|
+
}
|
38
|
+
})
|
39
|
+
}
|
40
|
+
}
|
41
|
+
|
42
|
+
function focusOut() {
|
43
|
+
console.log("FOCUS OUT")
|
32
44
|
if (site && site.changeFocus) {
|
33
45
|
site.changeFocus({
|
34
46
|
lose: () => {
|
@@ -49,7 +61,7 @@ export const TextField = (props) => {
|
|
49
61
|
|
50
62
|
return (
|
51
63
|
<div className={`${style}`} onClick={onClick}>
|
52
|
-
<input id={id} type={type} placeholder={placeholder} value={value} required onChange={change} onKeyDown={onKeyPress} onFocus={focus} readOnly={readOnly} />
|
64
|
+
<input id={id} type={type} placeholder={placeholder} value={value} required onChange={change} onKeyDown={onKeyPress} onFocus={focus} onBlur={focusOut} readOnly={readOnly} />
|
53
65
|
{!readOnly && canClear && value && value.length > 0 ? <Icon icon="close" clickable size="small" action={clear} /> : null }
|
54
66
|
<span className="bar"></span>
|
55
67
|
{label ? <label>{labelTxt}</label> : null}
|
@@ -21,7 +21,9 @@ const TextFieldTest = (prop) => {
|
|
21
21
|
|
22
22
|
return (
|
23
23
|
<>
|
24
|
-
<
|
24
|
+
<TextField id="name" label="Name" value={form.name} onChange={change} />
|
25
|
+
<DropDown id="gender1" label="Dropdown 1" value={form.gender1} onChange={change} options={options} predictive={true}/>
|
26
|
+
<DropDown id="gender2" label="Dropdown 2" value={form.gender1} onChange={change} options={options} predictive={true}/>
|
25
27
|
<TextArea id="text1" label="Text 1" value={form.text1} onChange={change} />
|
26
28
|
<TextField id="date1" type="DATE" label="Date" value={form.date1} onChange={change} />
|
27
29
|
</>
|
package/src/site/site.test.js
CHANGED
@@ -4,16 +4,15 @@ import { Site } from './site'
|
|
4
4
|
import { Page } from './page'
|
5
5
|
import './site.css'
|
6
6
|
import './page.css'
|
7
|
-
import { TablePage } from '../domain/TablePage'
|
8
7
|
import { Dialog } from './dialog'
|
9
|
-
import { Button } from '../html'
|
8
|
+
import { Button, DropDown, TextField, TextArea } from '../html'
|
10
9
|
|
11
10
|
const SiteTest = (prop) => {
|
12
11
|
|
13
12
|
const footer = <div>FOOTER</div>
|
14
13
|
|
15
14
|
return (
|
16
|
-
<Site icon="star" title="Site Test" init={"
|
15
|
+
<Site icon="star" title="Site Test" init={"PAGE1"} footer={footer}>
|
17
16
|
<Page id="PAGE1" section="SECTION1" icon="description" title="Page 1" layout="workspace">
|
18
17
|
<Page1 />
|
19
18
|
</Page>
|
@@ -27,14 +26,34 @@ const SiteTest = (prop) => {
|
|
27
26
|
const Page1 = (props) => {
|
28
27
|
|
29
28
|
const site = useContext(SiteContext)
|
29
|
+
const [form, setForm] = useState({})
|
30
|
+
|
30
31
|
useEffect(() => {
|
31
32
|
site.notify({ title: "Notification 1", body: "Lorem ipsum dolor sit amet" })
|
32
33
|
}, [])
|
33
34
|
|
35
|
+
function change(id, value) {
|
36
|
+
const next = Object.assign({}, form, { [id]: value })
|
37
|
+
setForm(next)
|
38
|
+
}
|
39
|
+
|
40
|
+
const options = [
|
41
|
+
{ label: "One", value: "1" },
|
42
|
+
{ label: "Two", value: "2" },
|
43
|
+
{ label: "Three", value: "3" },
|
44
|
+
{ label: "Four", value: "4" },
|
45
|
+
{ label: "Five", value: "5" },
|
46
|
+
]
|
47
|
+
|
34
48
|
return (
|
35
49
|
<Fragment>
|
36
50
|
<header>Page 1</header>
|
37
51
|
<main>
|
52
|
+
<TextField id="name" label="Name" value={form.name} onChange={change} />
|
53
|
+
<DropDown id="gender1" label="Dropdown 1" value={form.gender1} onChange={change} options={options} predictive={true} />
|
54
|
+
<DropDown id="gender2" label="Dropdown 2" value={form.gender1} onChange={change} options={options} predictive={true} />
|
55
|
+
<TextArea id="text1" label="Text 1" value={form.text1} onChange={change} />
|
56
|
+
<TextField id="date1" type="DATE" label="Date" value={form.date1} onChange={change} />
|
38
57
|
</main>
|
39
58
|
<footer>f1</footer>
|
40
59
|
</Fragment>
|