ywana-core8 0.0.910 → 0.0.912
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 +208 -14
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +129 -6
- package/dist/index.css.map +1 -1
- package/dist/index.modern.js +208 -15
- package/dist/index.modern.js.map +1 -1
- package/dist/index.umd.js +208 -14
- package/dist/index.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/domain/CollectionAPI.js +11 -1
- package/src/domain/CollectionPage.js +4 -4
- package/src/widgets/calendar/Calendar.css +129 -6
- package/src/widgets/calendar/Calendar.js +176 -7
package/dist/index.umd.js
CHANGED
@@ -3208,14 +3208,70 @@
|
|
3208
3208
|
|
3209
3209
|
moment__default["default"].locale('es');
|
3210
3210
|
var moment = momentRange.extendMoment(moment__default["default"]);
|
3211
|
+
|
3212
|
+
/**
|
3213
|
+
* Calendar
|
3214
|
+
*/
|
3211
3215
|
var Calendar = function Calendar(props) {
|
3212
3216
|
var _props$events = props.events,
|
3213
3217
|
events = _props$events === void 0 ? [] : _props$events,
|
3214
3218
|
children = props.children,
|
3215
3219
|
onChange = props.onChange;
|
3216
|
-
var _useState = React.useState(),
|
3217
|
-
|
3218
|
-
|
3220
|
+
var _useState = React.useState(props.range || "year"),
|
3221
|
+
range = _useState[0],
|
3222
|
+
setRange = _useState[1];
|
3223
|
+
function onChangeRange(range) {
|
3224
|
+
setRange(range);
|
3225
|
+
}
|
3226
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
3227
|
+
className: "calendar"
|
3228
|
+
}, /*#__PURE__*/React__default["default"].createElement(CalendarRangeControl, {
|
3229
|
+
range: range,
|
3230
|
+
onChange: onChangeRange
|
3231
|
+
}), range === "year" && /*#__PURE__*/React__default["default"].createElement(YearCalendar, {
|
3232
|
+
events: events,
|
3233
|
+
onChange: onChange
|
3234
|
+
}, children), range === "month" && /*#__PURE__*/React__default["default"].createElement(MonthCalendar, {
|
3235
|
+
events: events,
|
3236
|
+
onChange: onChange,
|
3237
|
+
onRange: onChangeRange
|
3238
|
+
}, children));
|
3239
|
+
};
|
3240
|
+
|
3241
|
+
/**
|
3242
|
+
* CalendarRangeControl
|
3243
|
+
*/
|
3244
|
+
var CalendarRangeControl = function CalendarRangeControl(props) {
|
3245
|
+
var range = props.range,
|
3246
|
+
onChange = props.onChange;
|
3247
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
3248
|
+
className: "calendar-range-control"
|
3249
|
+
}, /*#__PURE__*/React__default["default"].createElement(Button, {
|
3250
|
+
label: "Year",
|
3251
|
+
outlined: range == "year",
|
3252
|
+
action: function action() {
|
3253
|
+
return onChange("year");
|
3254
|
+
}
|
3255
|
+
}), /*#__PURE__*/React__default["default"].createElement(Button, {
|
3256
|
+
label: "Month",
|
3257
|
+
outlined: range == "month",
|
3258
|
+
action: function action() {
|
3259
|
+
return onChange("month");
|
3260
|
+
}
|
3261
|
+
}));
|
3262
|
+
};
|
3263
|
+
|
3264
|
+
/**
|
3265
|
+
* MonthCalendar
|
3266
|
+
*/
|
3267
|
+
var MonthCalendar = function MonthCalendar(props) {
|
3268
|
+
var _props$events2 = props.events,
|
3269
|
+
events = _props$events2 === void 0 ? [] : _props$events2,
|
3270
|
+
children = props.children,
|
3271
|
+
onChange = props.onChange;
|
3272
|
+
var _useState2 = React.useState(),
|
3273
|
+
position = _useState2[0],
|
3274
|
+
setPosition = _useState2[1];
|
3219
3275
|
React.useEffect(function () {
|
3220
3276
|
var today = moment();
|
3221
3277
|
setPosition(today);
|
@@ -3253,17 +3309,18 @@
|
|
3253
3309
|
var days = Array.from(range.by('days'));
|
3254
3310
|
var cells = days.map(function (day) {
|
3255
3311
|
var eventsOfDay = events.filter(function (event) {
|
3256
|
-
console.log(event.date, day.format("YYYY-MM-DD"));
|
3257
3312
|
var eventDay = moment(event.date);
|
3258
3313
|
return eventDay.isSame(day, 'day');
|
3259
3314
|
});
|
3315
|
+
var sameMonthStyle = day.isSame(moment(position), 'month') ? '' : 'other-month';
|
3260
3316
|
return {
|
3261
3317
|
day: day,
|
3262
|
-
events: eventsOfDay
|
3318
|
+
events: eventsOfDay,
|
3319
|
+
sameMonthStyle: sameMonthStyle
|
3263
3320
|
};
|
3264
3321
|
});
|
3265
3322
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
3266
|
-
className: "calendar"
|
3323
|
+
className: "month-calendar"
|
3267
3324
|
}, /*#__PURE__*/React__default["default"].createElement("nav", null, /*#__PURE__*/React__default["default"].createElement("label", null, " ", /*#__PURE__*/React__default["default"].createElement(Text, null, monthName), " ", year), /*#__PURE__*/React__default["default"].createElement(Button, {
|
3268
3325
|
icon: "chevron_left",
|
3269
3326
|
action: prev
|
@@ -3300,9 +3357,9 @@
|
|
3300
3357
|
cell = _props$cell === void 0 ? [] : _props$cell,
|
3301
3358
|
children = props.children;
|
3302
3359
|
var day = cell.day,
|
3303
|
-
events = cell.events
|
3360
|
+
events = cell.events,
|
3361
|
+
sameMonthStyle = cell.sameMonthStyle;
|
3304
3362
|
var todayStyle = day.isSame(moment(), 'day') ? 'today' : '';
|
3305
|
-
var sameMonthStyle = day.isSame(moment(), 'month') ? '' : 'other-month';
|
3306
3363
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
3307
3364
|
className: "day-cell " + todayStyle + " " + sameMonthStyle
|
3308
3365
|
}, /*#__PURE__*/React__default["default"].createElement("header", null, day.format("DD")), /*#__PURE__*/React__default["default"].createElement("main", null, events.map(function (event) {
|
@@ -3312,6 +3369,10 @@
|
|
3312
3369
|
}, children);
|
3313
3370
|
})));
|
3314
3371
|
};
|
3372
|
+
|
3373
|
+
/**
|
3374
|
+
* Event
|
3375
|
+
*/
|
3315
3376
|
var Event = function Event(props) {
|
3316
3377
|
var event = props.event,
|
3317
3378
|
children = props.children;
|
@@ -3329,6 +3390,129 @@
|
|
3329
3390
|
}
|
3330
3391
|
};
|
3331
3392
|
|
3393
|
+
/**
|
3394
|
+
* YearCalendar
|
3395
|
+
*/
|
3396
|
+
var YearCalendar = function YearCalendar(props) {
|
3397
|
+
var _props$events3 = props.events,
|
3398
|
+
events = _props$events3 === void 0 ? [] : _props$events3,
|
3399
|
+
children = props.children,
|
3400
|
+
onChange = props.onChange;
|
3401
|
+
var _useState3 = React.useState(),
|
3402
|
+
position = _useState3[0],
|
3403
|
+
setPosition = _useState3[1];
|
3404
|
+
React.useEffect(function () {
|
3405
|
+
var today = moment();
|
3406
|
+
setPosition(today);
|
3407
|
+
}, []);
|
3408
|
+
React.useEffect(function () {
|
3409
|
+
if (position && onChange) {
|
3410
|
+
var _firstDayOfYear = position.clone().startOf('year');
|
3411
|
+
var firstDayOfRange = _firstDayOfYear.clone().startOf('isoweek');
|
3412
|
+
var _lastDayOfYear = position.clone().endOf('year');
|
3413
|
+
var lastDayOfRange = _lastDayOfYear.clone().endOf('isoweek');
|
3414
|
+
var range = moment.range(firstDayOfRange, lastDayOfRange);
|
3415
|
+
onChange(position, range);
|
3416
|
+
}
|
3417
|
+
}, [position]);
|
3418
|
+
function next() {
|
3419
|
+
var next = position.clone().add(1, 'year');
|
3420
|
+
setPosition(next);
|
3421
|
+
}
|
3422
|
+
function prev() {
|
3423
|
+
var prev = position.clone().subtract(1, 'year');
|
3424
|
+
setPosition(prev);
|
3425
|
+
}
|
3426
|
+
function today() {
|
3427
|
+
var today = moment();
|
3428
|
+
setPosition(today);
|
3429
|
+
}
|
3430
|
+
if (!position) return "...";
|
3431
|
+
var year = position.format("YYYY");
|
3432
|
+
var firstDayOfYear = moment(position).startOf('year');
|
3433
|
+
var lastDayOfYear = moment(position).endOf('year');
|
3434
|
+
var months = [];
|
3435
|
+
for (var currentMonth = moment(firstDayOfYear); currentMonth.isBefore(lastDayOfYear); currentMonth.add(1, 'month')) {
|
3436
|
+
months.push(moment(currentMonth));
|
3437
|
+
}
|
3438
|
+
var cells = months.map(function (month) {
|
3439
|
+
var firstDayOfMonth = month.clone().startOf('month');
|
3440
|
+
var firstDayOfRange = firstDayOfMonth.clone().startOf('isoweek');
|
3441
|
+
var lastDayOfMonth = month.clone().endOf('month');
|
3442
|
+
var lastDayOfRange = lastDayOfMonth.clone().endOf('isoweek');
|
3443
|
+
var range = moment.range(firstDayOfRange, lastDayOfRange);
|
3444
|
+
var days = Array.from(range.by('days'));
|
3445
|
+
var cells = days.map(function (day) {
|
3446
|
+
var eventsOfDay = events.filter(function (event) {
|
3447
|
+
var eventDay = moment(event.date);
|
3448
|
+
return eventDay.isSame(day, 'day');
|
3449
|
+
});
|
3450
|
+
var sameMonthStyle = day.isSame(moment(month), 'month') ? '' : 'other-month';
|
3451
|
+
return {
|
3452
|
+
day: day,
|
3453
|
+
events: eventsOfDay,
|
3454
|
+
sameMonthStyle: sameMonthStyle
|
3455
|
+
};
|
3456
|
+
});
|
3457
|
+
return {
|
3458
|
+
month: month,
|
3459
|
+
cells: cells
|
3460
|
+
};
|
3461
|
+
});
|
3462
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
3463
|
+
className: "year-calendar"
|
3464
|
+
}, /*#__PURE__*/React__default["default"].createElement("nav", null, /*#__PURE__*/React__default["default"].createElement("label", null, " ", /*#__PURE__*/React__default["default"].createElement(Text, null, year)), /*#__PURE__*/React__default["default"].createElement(Button, {
|
3465
|
+
icon: "chevron_left",
|
3466
|
+
action: prev
|
3467
|
+
}), /*#__PURE__*/React__default["default"].createElement(Button, {
|
3468
|
+
label: "Today",
|
3469
|
+
outlined: true,
|
3470
|
+
action: today
|
3471
|
+
}), /*#__PURE__*/React__default["default"].createElement(Button, {
|
3472
|
+
icon: "chevron_right",
|
3473
|
+
action: next
|
3474
|
+
})), /*#__PURE__*/React__default["default"].createElement("main", null, cells.map(function (cell) {
|
3475
|
+
return /*#__PURE__*/React__default["default"].createElement(MonthCell, {
|
3476
|
+
key: cell.month,
|
3477
|
+
cell: cell
|
3478
|
+
}, children);
|
3479
|
+
})));
|
3480
|
+
};
|
3481
|
+
|
3482
|
+
/**
|
3483
|
+
* MonthCell
|
3484
|
+
*/
|
3485
|
+
var MonthCell = function MonthCell(props) {
|
3486
|
+
var _props$cell2 = props.cell,
|
3487
|
+
cell = _props$cell2 === void 0 ? [] : _props$cell2,
|
3488
|
+
children = props.children;
|
3489
|
+
var month = cell.month,
|
3490
|
+
cells = cell.cells;
|
3491
|
+
var monthName = month.format("MMMM");
|
3492
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
3493
|
+
className: "month-cell"
|
3494
|
+
}, /*#__PURE__*/React__default["default"].createElement("nav", null, monthName), /*#__PURE__*/React__default["default"].createElement("header", null, /*#__PURE__*/React__default["default"].createElement("div", {
|
3495
|
+
className: "week-day-cell"
|
3496
|
+
}, /*#__PURE__*/React__default["default"].createElement(Text, null, "Mon")), /*#__PURE__*/React__default["default"].createElement("div", {
|
3497
|
+
className: "week-day-cell"
|
3498
|
+
}, /*#__PURE__*/React__default["default"].createElement(Text, null, "Tue")), /*#__PURE__*/React__default["default"].createElement("div", {
|
3499
|
+
className: "week-day-cell"
|
3500
|
+
}, /*#__PURE__*/React__default["default"].createElement(Text, null, "Wed")), /*#__PURE__*/React__default["default"].createElement("div", {
|
3501
|
+
className: "week-day-cell"
|
3502
|
+
}, /*#__PURE__*/React__default["default"].createElement(Text, null, "Thu")), /*#__PURE__*/React__default["default"].createElement("div", {
|
3503
|
+
className: "week-day-cell"
|
3504
|
+
}, /*#__PURE__*/React__default["default"].createElement(Text, null, "Fri")), /*#__PURE__*/React__default["default"].createElement("div", {
|
3505
|
+
className: "week-day-cell"
|
3506
|
+
}, /*#__PURE__*/React__default["default"].createElement(Text, null, "Sat")), /*#__PURE__*/React__default["default"].createElement("div", {
|
3507
|
+
className: "week-day-cell"
|
3508
|
+
}, /*#__PURE__*/React__default["default"].createElement(Text, null, "Sun"))), /*#__PURE__*/React__default["default"].createElement("main", null, cells.map(function (cell) {
|
3509
|
+
return /*#__PURE__*/React__default["default"].createElement(DayCell, {
|
3510
|
+
key: cell.day,
|
3511
|
+
cell: cell
|
3512
|
+
}, children);
|
3513
|
+
})));
|
3514
|
+
};
|
3515
|
+
|
3332
3516
|
var ranges = momentRange.extendMoment(moment__default["default"]);
|
3333
3517
|
var DATE_RANGE = [{
|
3334
3518
|
label: "Week",
|
@@ -6814,7 +6998,7 @@
|
|
6814
6998
|
/**
|
6815
6999
|
* Collection API
|
6816
7000
|
*/
|
6817
|
-
var CollectionAPI$1 = function CollectionAPI(url, host) {
|
7001
|
+
var CollectionAPI$1 = function CollectionAPI(url, host, params) {
|
6818
7002
|
var http = HTTPClient(host || window.API || process.env.REACT_APP_API, Session);
|
6819
7003
|
|
6820
7004
|
/**
|
@@ -6839,8 +7023,8 @@
|
|
6839
7023
|
}).join("&");
|
6840
7024
|
return "" + query + values + "&";
|
6841
7025
|
} else if (typeof value === "object") {
|
6842
|
-
var
|
6843
|
-
|
7026
|
+
var _params = objectToQueryParamString(value, likes);
|
7027
|
+
_params.split("&").forEach(function (param) {
|
6844
7028
|
query = query.concat(key + "." + param + "&");
|
6845
7029
|
});
|
6846
7030
|
return query;
|
@@ -6855,9 +7039,17 @@
|
|
6855
7039
|
if (likes === void 0) {
|
6856
7040
|
likes = [];
|
6857
7041
|
}
|
7042
|
+
// build query params
|
6858
7043
|
var queryParams = page ? "?page=" + page + "&" : "?";
|
7044
|
+
|
7045
|
+
// concat optional params to queryparams
|
7046
|
+
queryParams = "" + queryParams + params;
|
7047
|
+
|
7048
|
+
// concat filters to queryparams
|
6859
7049
|
var filterQuery = objectToQueryParamString(filters, likes);
|
6860
7050
|
queryParams = "" + queryParams + filterQuery;
|
7051
|
+
|
7052
|
+
// remove last &
|
6861
7053
|
queryParams = queryParams.substring(0, queryParams.length - 1);
|
6862
7054
|
return http.GET("" + url + queryParams);
|
6863
7055
|
},
|
@@ -6937,6 +7129,7 @@
|
|
6937
7129
|
page = props.page,
|
6938
7130
|
_props$fetching = props.fetching,
|
6939
7131
|
fetching = _props$fetching === void 0 ? false : _props$fetching,
|
7132
|
+
params = props.params,
|
6940
7133
|
_props$actions = props.actions,
|
6941
7134
|
actions = _props$actions === void 0 ? [] : _props$actions,
|
6942
7135
|
onSelect = props.onSelect,
|
@@ -6971,7 +7164,7 @@
|
|
6971
7164
|
filters = props.filters,
|
6972
7165
|
footer = props.footer,
|
6973
7166
|
children = props.children;
|
6974
|
-
var context = CollectionContext$1(url, field, host, page, fetching, versioning);
|
7167
|
+
var context = CollectionContext$1(url, field, host, page, fetching, versioning, params);
|
6975
7168
|
var _useContext = React.useContext(PageContext),
|
6976
7169
|
pageContext = _useContext[0],
|
6977
7170
|
setPageContext = _useContext[1];
|
@@ -7524,11 +7717,11 @@
|
|
7524
7717
|
/**
|
7525
7718
|
* Collection Context
|
7526
7719
|
*/
|
7527
|
-
var CollectionContext$1 = function CollectionContext(url, field, host, page, fetching, versioning) {
|
7720
|
+
var CollectionContext$1 = function CollectionContext(url, field, host, page, fetching, versioning, params) {
|
7528
7721
|
if (versioning === void 0) {
|
7529
7722
|
versioning = false;
|
7530
7723
|
}
|
7531
|
-
var API = CollectionAPI$1(url, host);
|
7724
|
+
var API = CollectionAPI$1(url, host, params);
|
7532
7725
|
return {
|
7533
7726
|
all: [],
|
7534
7727
|
filters: {},
|
@@ -11366,6 +11559,7 @@
|
|
11366
11559
|
exports.MenuIcon = MenuIcon;
|
11367
11560
|
exports.MenuItem = MenuItem;
|
11368
11561
|
exports.MenuSeparator = MenuSeparator;
|
11562
|
+
exports.MonthCalendar = MonthCalendar;
|
11369
11563
|
exports.MultiSelector = MultiSelector;
|
11370
11564
|
exports.Page = Page;
|
11371
11565
|
exports.PageContext = PageContext;
|