ywana-core8 0.0.516 → 0.0.519
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 +32 -10
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +19 -0
- package/dist/index.css.map +1 -1
- package/dist/index.modern.js +32 -10
- package/dist/index.modern.js.map +1 -1
- package/dist/index.umd.js +32 -10
- package/dist/index.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/css/html.css +12 -0
- package/src/domain/CollectionPage.js +1 -6
- package/src/html/table.js +12 -3
- package/src/html/table.test.js +16 -2
- package/src/widgets/planner/Planner.css +5 -0
- package/src/widgets/planner/Planner.js +23 -3
- package/src/widgets/planner/Planner.test.js +2 -2
- package/src/widgets/planner/Planner2.css +7 -0
package/package.json
CHANGED
package/src/css/html.css
CHANGED
@@ -42,4 +42,16 @@ td.actions {
|
|
42
42
|
*/
|
43
43
|
body > iframe[style*="2147483647"]:not([id="webpack-dev-server-client-overlay"]) {
|
44
44
|
display: none;
|
45
|
+
}
|
46
|
+
|
47
|
+
.empty-message {
|
48
|
+
width: 100%;
|
49
|
+
height: 100%;
|
50
|
+
min-height: 10rem;
|
51
|
+
flex: 1;
|
52
|
+
display: flex;
|
53
|
+
flex-direction: column;
|
54
|
+
justify-content: center;
|
55
|
+
align-items: center;
|
56
|
+
color: var(--text-color-lighter)
|
45
57
|
}
|
@@ -213,12 +213,7 @@ export const CollectionTree = (props) => {
|
|
213
213
|
})
|
214
214
|
}
|
215
215
|
|
216
|
-
const items = sorter ? all
|
217
|
-
const labelA = `${a.studio}${a.name}`
|
218
|
-
const labelB = `${b.studio}${b.name}`
|
219
|
-
return labelA.localeCompare(labelB)
|
220
|
-
}) : all
|
221
|
-
|
216
|
+
const items = sorter ? sorter(all) : all
|
222
217
|
const nodes = generateNodes(levels, items)
|
223
218
|
return (
|
224
219
|
<main>
|
package/src/html/table.js
CHANGED
@@ -110,10 +110,19 @@ export const DataTable = (props) => {
|
|
110
110
|
</tr>
|
111
111
|
</thead>
|
112
112
|
<tbody>
|
113
|
-
{
|
113
|
+
{rows.length > 0 ?
|
114
114
|
multiSort(rows, sortDir).map(row => (
|
115
115
|
<DataTableRow key={row.id} row={row} columns={columns} onSelect={select} onDrop={moveRow} editable={editable} expanded={expanded} />
|
116
|
-
))
|
116
|
+
)) : (
|
117
|
+
<tr>
|
118
|
+
<td colSpan={columns.length+1}>
|
119
|
+
<div className='empty-message'>
|
120
|
+
<Icon icon="search_off" />
|
121
|
+
<Text>No Result Found</Text>
|
122
|
+
</div>
|
123
|
+
</td>
|
124
|
+
</tr>
|
125
|
+
)
|
117
126
|
}
|
118
127
|
</tbody>
|
119
128
|
</table>
|
@@ -194,7 +203,7 @@ const EntityCellViewer = ({ id, item, value }) => {
|
|
194
203
|
|
195
204
|
const fields = Object.values(item).filter(field => field.column === true)
|
196
205
|
const locale = window.navigator.userLanguage || window.navigator.language;
|
197
|
-
|
206
|
+
|
198
207
|
return fields.map(field => {
|
199
208
|
|
200
209
|
let text = value[field.id]
|
package/src/html/table.test.js
CHANGED
@@ -35,7 +35,7 @@ export const TableTest = (prop) => {
|
|
35
35
|
setRows(next)
|
36
36
|
}
|
37
37
|
|
38
|
-
const
|
38
|
+
const table1 = {
|
39
39
|
className: "xxx",
|
40
40
|
editable: true,
|
41
41
|
columns : [
|
@@ -49,9 +49,23 @@ export const TableTest = (prop) => {
|
|
49
49
|
rows
|
50
50
|
}
|
51
51
|
|
52
|
+
const table2 = {
|
53
|
+
className: "xxx",
|
54
|
+
editable: true,
|
55
|
+
columns : [
|
56
|
+
{ id: "checked", onChange: check },
|
57
|
+
{ id: "name", label: "Name", type: "String", onChange: editCell },
|
58
|
+
{ id: "name", label: "Name", type: "String", sortable: true },
|
59
|
+
{ id: "thumb", label: "Thumb", type: "String", format: FORMATS.IMG },
|
60
|
+
{ id: "color", label: "Color", type: "String", format: FORMATS.COLOR },
|
61
|
+
{ id: "date", label: "Date", type: "String", format: FORMATS.DATE },
|
62
|
+
],
|
63
|
+
rows: []
|
64
|
+
}
|
65
|
+
|
52
66
|
return (
|
53
67
|
<div style={{ maxHeight: "20rem", overflow: "hidden", border: "solid 1px red", margin: "2rem" }}>
|
54
|
-
<DataTable {...
|
68
|
+
<DataTable {...table2} onRowSelection={select} onCheckAll={checkAll}/>
|
55
69
|
</div>
|
56
70
|
)
|
57
71
|
}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import React, { useEffect, useMemo, useState } from "react";
|
2
|
-
import { DropDown, Header, Icon, Text, TextField } from "../../html";
|
2
|
+
import { DropDown, Header, Icon, Text, TextField, Button } from "../../html";
|
3
3
|
import moment from "moment";
|
4
4
|
import { extendMoment } from "moment-range";
|
5
5
|
import "./Planner2.css";
|
@@ -21,6 +21,10 @@ export const Planner = ({ title, events = [], lanes = [], navigation = true, onS
|
|
21
21
|
const [from, setFrom] = useState(config.from);
|
22
22
|
const [to, setTo] = useState(config.to);
|
23
23
|
|
24
|
+
useEffect(() => {
|
25
|
+
showThisWeek()
|
26
|
+
}, [])
|
27
|
+
|
24
28
|
useEffect(() => {
|
25
29
|
const element = document.getElementById(focusEvent)
|
26
30
|
if (element) element.scrollIntoView({
|
@@ -60,6 +64,15 @@ export const Planner = ({ title, events = [], lanes = [], navigation = true, onS
|
|
60
64
|
if (onSelectCell) onSelectCell(lane, date);
|
61
65
|
}
|
62
66
|
|
67
|
+
function showThisWeek() {
|
68
|
+
const element = document.querySelector(".thisMonday")
|
69
|
+
if (element) element.scrollIntoView({
|
70
|
+
behavior: 'smooth',
|
71
|
+
block: 'start',
|
72
|
+
inline: 'start'
|
73
|
+
})
|
74
|
+
}
|
75
|
+
|
63
76
|
const period = useMemo(() => {
|
64
77
|
const start = ranges(from, "YYYY-MM-DD");
|
65
78
|
const end = ranges(to, "YYYY-MM-DD");
|
@@ -79,6 +92,8 @@ export const Planner = ({ title, events = [], lanes = [], navigation = true, onS
|
|
79
92
|
|
80
93
|
{navigation ? (
|
81
94
|
<Header title={label}>
|
95
|
+
|
96
|
+
<Button label="Esta Semana" outlined action={showThisWeek}/>
|
82
97
|
<Icon icon="chevron_right" clickable action={next} />
|
83
98
|
<TextField id="to" type="date" label="To" value={to} onChange={(id, value) => setTo(value)} />
|
84
99
|
<div className="expand"></div>
|
@@ -117,9 +132,10 @@ export const Planner = ({ title, events = [], lanes = [], navigation = true, onS
|
|
117
132
|
{period.map((date) => {
|
118
133
|
const isWekend = [0, 6].includes(date.moment.day());
|
119
134
|
const weekend = isWekend ? "weekend" : "";
|
135
|
+
const thisWeek = moment().startOf('week').isSame(date.moment, "week") ? "thisWeek" : "";
|
120
136
|
return (
|
121
137
|
<div className="column-header">
|
122
|
-
<div className={`date-header ${weekend}`}>
|
138
|
+
<div className={`date-header ${weekend} ${thisWeek}`}>
|
123
139
|
<Text use="headline6">{date.moment.format("DD")}</Text>
|
124
140
|
|
125
141
|
<Text use="caption">{date.moment.format("ddd")}</Text>
|
@@ -206,9 +222,13 @@ const PlannerCell = ({ lane, events, date, disabled = false, onAdd, onDelete, on
|
|
206
222
|
|
207
223
|
const isWekend = [0, 6].includes(date.moment.day());
|
208
224
|
const weekend = isWekend ? "weekend" : "";
|
225
|
+
|
226
|
+
const today = moment()
|
227
|
+
var weekStart = today.clone().startOf('week')
|
228
|
+
const thisMonday = (date.moment.isSame(weekStart)) ? "thisMonday" : ""
|
209
229
|
const dragOverStyle = dragOver ? "drag-over" : ""
|
210
230
|
return (
|
211
|
-
<div className={`cell ${weekend} ${dragOverStyle}`} onDragOver={onDragOver} onDragLeave={onDragLeave} onDrop={drop} onClick={select}>
|
231
|
+
<div className={`cell ${thisMonday} ${weekend} ${dragOverStyle}`} onDragOver={onDragOver} onDragLeave={onDragLeave} onDrop={drop} onClick={select}>
|
212
232
|
{events.map(event => {
|
213
233
|
const { Renderer = EventCard } = event
|
214
234
|
return <Renderer key={event.id} event={event} />
|
@@ -38,6 +38,13 @@
|
|
38
38
|
border-bottom: solid 1px var(--divider-color);
|
39
39
|
}
|
40
40
|
|
41
|
+
.planner .date-header.thisWeek {
|
42
|
+
background-color: rgb(10, 176, 35);
|
43
|
+
border-radius: 3px;
|
44
|
+
padding: .2rem;
|
45
|
+
color: var(--paper-color);
|
46
|
+
}
|
47
|
+
|
41
48
|
.planner .row-header {
|
42
49
|
width: var(--column-width);
|
43
50
|
background-color: var(--paper-color);
|