ywana-core8 0.0.574 → 0.0.577

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.574",
3
+ "version": "0.0.577",
4
4
  "description": "ywana-core8",
5
5
  "homepage": "https://ywana.github.io/workspace",
6
6
  "author": "Ernesto Roldan Garcia",
@@ -333,11 +333,14 @@ const TableFilters = (props) => {
333
333
  }, [schema])
334
334
 
335
335
  useEffect(() => {
336
- if (filters) setForm(filters)
336
+ if (filters && !equal(filters, form)) setForm(filters)
337
337
  }, [filters])
338
338
 
339
339
  useEffect(() => {
340
- reload()
340
+ if (pageContext.changeFilters && !equal(filters,form)) {
341
+ pageContext.changeFilters(form)
342
+ setPageContext(Object.assign({}, pageContext))
343
+ }
341
344
  }, [form])
342
345
 
343
346
  async function change(next) {
@@ -384,6 +387,13 @@ export const TableEditor = (props) => {
384
387
  const { icon, title, schema, editable, canDelete, filter, actions, tabs, className } = props
385
388
  const [groupBy, setGroupBy] = useState(props.groupBy)
386
389
 
390
+ useEffect(async () => {
391
+ if (filters) {
392
+ await pageContext.load(filters)
393
+ setPageContext(Object.assign({}, pageContext))
394
+ }
395
+ }, [filters])
396
+
387
397
  function changeGroup(id, value) {
388
398
  setGroupBy(value)
389
399
  }
@@ -31,7 +31,7 @@ export const TablePage2 = (props) => {
31
31
  children
32
32
  } = props
33
33
 
34
- const [cd, setPageContext] = useContext(PageContext)
34
+ const [pageContext, setPageContext] = useContext(PageContext)
35
35
  const context = TableContext(url, field, host, urlQuery, params)
36
36
  const { selected } = pageContext
37
37
  const timer = useRef(null)
@@ -283,22 +283,20 @@ const TableFilters = (props) => {
283
283
  }, [schema])
284
284
 
285
285
  useEffect(() => {
286
- if (filters) setForm(filters)
286
+ if (filters && !equal(filters, form)) setForm(filters)
287
287
  }, [filters])
288
288
 
289
289
  useEffect(() => {
290
- reload()
290
+ if (pageContext.changeFilters && !equal(filters,form)) {
291
+ pageContext.changeFilters(form)
292
+ setPageContext(Object.assign({}, pageContext))
293
+ }
291
294
  }, [form])
292
295
 
293
296
  async function change(next) {
294
297
  setForm(next)
295
298
  }
296
299
 
297
- async function reload() {
298
- await pageContext.load(form)
299
- setPageContext(Object.assign({}, pageContext))
300
- }
301
-
302
300
  function clear() {
303
301
  change({})
304
302
  }
@@ -331,10 +329,17 @@ export const TableEditor = (props) => {
331
329
  const site = useContext(SiteContext)
332
330
  const [pageContext, setPageContext] = useContext(PageContext)
333
331
  const { all = [], filters } = pageContext
334
- const { icon, title, schema, editable, canDelete, filter, actions, className } = props
332
+ const { icon, title, schema, editable, canDelete, filter, actions, className, tabbedBy } = props
335
333
  const [groupBy, setGroupBy] = useState(props.groupBy)
336
334
  const [tab, setTab] = useState(0)
337
335
 
336
+ useEffect(async () => {
337
+ if (filters) {
338
+ await pageContext.load(filters)
339
+ setPageContext(Object.assign({}, pageContext))
340
+ }
341
+ }, [filters])
342
+
338
343
  useEffect(async () => {
339
344
  if (tab) {
340
345
  const filter = { [tab.field]: tab.value }
@@ -632,7 +637,7 @@ const TableAPI = (url, host, params = "") => {
632
637
  }, "")
633
638
  return query.concat(param)
634
639
  } else {
635
- return query.concat(`${key}=%${filters[key]}%&`)
640
+ return query.concat(`${key}=${filters[key]}&`)
636
641
  }
637
642
  }, "")
638
643
  queryParams = queryParams.concat(filterQuery)
@@ -23,9 +23,8 @@ export const Planner = ({ title, events = [], lanes = [], navigation = true, onS
23
23
  const thisMondayElement = useRef(null)
24
24
 
25
25
  useEffect(() => {
26
- console.log(thisMondayElement.current)
27
26
  if (thisMondayElement.current) { showThisWeek() }
28
- })
27
+ }, [thisMondayElement])
29
28
 
30
29
  useEffect(() => {
31
30
  const element = document.getElementById(focusEvent)
@@ -67,7 +66,8 @@ export const Planner = ({ title, events = [], lanes = [], navigation = true, onS
67
66
  }
68
67
 
69
68
  function showThisWeek() {
70
- const element = document.querySelector(".thisMonday")
69
+ const element = thisMondayElement.current
70
+ //const element = document.querySelector(".thisMonday")
71
71
  if (element) element.scrollIntoView({
72
72
  behavior: 'smooth',
73
73
  block: 'start',
@@ -131,8 +131,13 @@ export const Planner = ({ title, events = [], lanes = [], navigation = true, onS
131
131
  const isWekend = [0, 6].includes(date.moment.day());
132
132
  const weekend = isWekend ? "weekend" : "";
133
133
  const thisWeek = moment().startOf('week').isSame(date.moment, "week") ? "thisWeek" : "";
134
+
135
+ const today = moment()
136
+ var weekStart = today.clone().startOf('week')
137
+ const isThisMonday = (date.moment.isSame(weekStart))
138
+
134
139
  return (
135
- <div className="column-header">
140
+ <div className="column-header" ref={isThisMonday ? thisMondayElement : null}>
136
141
  <div className={`date-header ${weekend} ${thisWeek}`}>
137
142
  <Text use="headline6">{date.moment.format("DD")}</Text>
138
143
  &nbsp;
@@ -143,7 +148,7 @@ export const Planner = ({ title, events = [], lanes = [], navigation = true, onS
143
148
  })}
144
149
  </div>
145
150
 
146
- {lanes.map((lane) => <PlannerRow key={lane.id} lane={lane} events={events} period={period} onSelectCell={selectCell} onChange={onChange} thisMondayRef={thisMondayElement} />)}
151
+ {lanes.map((lane) => <PlannerRow key={lane.id} lane={lane} events={events} period={period} onSelectCell={selectCell} onChange={onChange} />)}
147
152
 
148
153
  </div>
149
154
  </main>
@@ -156,7 +161,7 @@ export const Planner = ({ title, events = [], lanes = [], navigation = true, onS
156
161
  */
157
162
  const PlannerRow = (props) => {
158
163
 
159
- const { lane, events = [], period, onSelectCell, onChange, thisMondayRef } = props
164
+ const { lane, events = [], period, onSelectCell, onChange } = props
160
165
  const rowEvents = events.filter(event => event.lane === lane.id)
161
166
 
162
167
 
@@ -175,7 +180,7 @@ const PlannerRow = (props) => {
175
180
  return eventDate.getTime() === slotDate.getTime();
176
181
  })
177
182
  return (
178
- <PlannerCell key={`${lane.id}-${slotDate.toString()}`} lane={lane} date={date} events={cellEvents} onSelect={onSelectCell} onDrop={change} thisMondayRef={thisMondayRef} />
183
+ <PlannerCell key={`${lane.id}-${slotDate.toString()}`} lane={lane} date={date} events={cellEvents} onSelect={onSelectCell} onDrop={change} />
179
184
  );
180
185
  })}
181
186
  </div>
@@ -185,7 +190,7 @@ const PlannerRow = (props) => {
185
190
  /**
186
191
  * Planner Cell
187
192
  */
188
- const PlannerCell = ({ lane, events, date, disabled = false, onAdd, onDelete, onSelect, onDrop, editable = false, thisMondayRef }) => {
193
+ const PlannerCell = ({ lane, events, date, disabled = false, onAdd, onDelete, onSelect, onDrop, editable = false }) => {
189
194
 
190
195
  const [dragOver, setDragOver] = useState(false);
191
196
 
@@ -223,11 +228,10 @@ const PlannerCell = ({ lane, events, date, disabled = false, onAdd, onDelete, on
223
228
 
224
229
  const today = moment()
225
230
  var weekStart = today.clone().startOf('week')
226
- const isThisMonday = (date.moment.isSame(weekStart))
227
231
  const thisMonday = (date.moment.isSame(weekStart)) ? "thisMonday" : ""
228
232
  const dragOverStyle = dragOver ? "drag-over" : ""
229
233
  return (
230
- <div className={`cell ${thisMonday} ${weekend} ${dragOverStyle}`} ref={isThisMonday ? thisMondayRef : null} onDragOver={onDragOver} onDragLeave={onDragLeave} onDrop={drop} onClick={select}>
234
+ <div className={`cell ${thisMonday} ${weekend} ${dragOverStyle}`} onDragOver={onDragOver} onDragLeave={onDragLeave} onDrop={drop} onClick={select}>
231
235
  {events.map(event => {
232
236
  const { Renderer = EventCard } = event
233
237
  return <Renderer key={event.id} event={event} />