ywana-core8 0.0.239 → 0.0.243
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 +351 -8
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +376 -3
- package/dist/index.css.map +1 -1
- package/dist/index.modern.js +350 -10
- package/dist/index.modern.js.map +1 -1
- package/dist/index.umd.js +353 -12
- package/dist/index.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/html/index.js +1 -1
- package/src/html/property.css +21 -3
- package/src/html/property.js +19 -3
- package/src/html/property.test.js +11 -0
- package/src/html/textarea.css +158 -0
- package/src/html/textfield.js +55 -1
- package/src/html/textfield.test.js +5 -5
- package/src/site/page.css +1 -0
- package/src/site/site.css +1 -0
- package/src/widgets/index.js +2 -1
package/dist/index.cjs
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
require('material-design-icons-iconfont/dist/material-design-icons.css');
|
2
2
|
var React = require('react');
|
3
3
|
var RSwitch = require('react-switch');
|
4
|
+
var moment = require('moment');
|
5
|
+
var momentRange = require('moment-range');
|
4
6
|
var reactNotifications = require('react-notifications');
|
5
7
|
require('react-notifications/lib/notifications.css');
|
6
8
|
var equal = require('deep-equal');
|
@@ -10,6 +12,7 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
10
12
|
|
11
13
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
12
14
|
var RSwitch__default = /*#__PURE__*/_interopDefaultLegacy(RSwitch);
|
15
|
+
var moment__default = /*#__PURE__*/_interopDefaultLegacy(moment);
|
13
16
|
var equal__default = /*#__PURE__*/_interopDefaultLegacy(equal);
|
14
17
|
var ResumableJS__default = /*#__PURE__*/_interopDefaultLegacy(ResumableJS);
|
15
18
|
|
@@ -704,16 +707,45 @@ var LinearProgress = function LinearProgress(props) {
|
|
704
707
|
*/
|
705
708
|
|
706
709
|
var Property = function Property(props) {
|
707
|
-
var
|
710
|
+
var id = props.id,
|
711
|
+
className = props.className,
|
712
|
+
label = props.label,
|
708
713
|
name = props.name,
|
709
|
-
|
714
|
+
initial = props.initial,
|
715
|
+
value = props.value,
|
716
|
+
_props$editable = props.editable,
|
717
|
+
editable = _props$editable === void 0 ? false : _props$editable,
|
718
|
+
onChange = props.onChange;
|
719
|
+
|
720
|
+
function change(event) {
|
721
|
+
if (onChange) {
|
722
|
+
var _value = event.target.value;
|
723
|
+
onChange(id, _value);
|
724
|
+
}
|
725
|
+
}
|
726
|
+
|
727
|
+
function clear() {
|
728
|
+
if (onChange) onChange("");
|
729
|
+
}
|
730
|
+
|
710
731
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
711
|
-
className: "property"
|
732
|
+
className: "property property-" + id + " " + className
|
712
733
|
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
713
734
|
className: "property-name"
|
714
|
-
}, name || label), /*#__PURE__*/React__default["default"].createElement("div", {
|
735
|
+
}, name || label), initial ? /*#__PURE__*/React__default["default"].createElement("div", {
|
736
|
+
className: "property-value"
|
737
|
+
}, initial) : null, /*#__PURE__*/React__default["default"].createElement("div", {
|
715
738
|
className: "property-value"
|
716
|
-
},
|
739
|
+
}, editable ? /*#__PURE__*/React__default["default"].createElement("input", {
|
740
|
+
type: "text",
|
741
|
+
value: value,
|
742
|
+
onChange: change
|
743
|
+
}) : value, editable && value.length > 0 ? /*#__PURE__*/React__default["default"].createElement(Icon, {
|
744
|
+
icon: "close",
|
745
|
+
size: "small",
|
746
|
+
clickable: true,
|
747
|
+
action: clear
|
748
|
+
}) : null));
|
717
749
|
};
|
718
750
|
|
719
751
|
/**
|
@@ -885,7 +917,7 @@ var TextField = function TextField(props) {
|
|
885
917
|
}
|
886
918
|
|
887
919
|
function focus() {
|
888
|
-
if (site) {
|
920
|
+
if (site && site.changeFocus) {
|
889
921
|
site.changeFocus({
|
890
922
|
lose: function lose() {// DO NOTHING
|
891
923
|
}
|
@@ -923,6 +955,79 @@ var TextField = function TextField(props) {
|
|
923
955
|
className: "bar"
|
924
956
|
}), label ? /*#__PURE__*/React__default["default"].createElement("label", null, labelTxt) : null);
|
925
957
|
};
|
958
|
+
/**
|
959
|
+
* Text Area
|
960
|
+
*/
|
961
|
+
|
962
|
+
var TextArea = function TextArea(props) {
|
963
|
+
var site = React.useContext(SiteContext);
|
964
|
+
var id = props.id,
|
965
|
+
_props$type2 = props.type,
|
966
|
+
type = _props$type2 === void 0 ? 'text' : _props$type2,
|
967
|
+
label = props.label,
|
968
|
+
placeholder = props.placeholder,
|
969
|
+
value = props.value,
|
970
|
+
_props$readOnly2 = props.readOnly,
|
971
|
+
readOnly = _props$readOnly2 === void 0 ? false : _props$readOnly2,
|
972
|
+
_props$canClear2 = props.canClear,
|
973
|
+
canClear = _props$canClear2 === void 0 ? true : _props$canClear2,
|
974
|
+
onChange = props.onChange,
|
975
|
+
onEnter = props.onEnter,
|
976
|
+
onClick = props.onClick;
|
977
|
+
|
978
|
+
function onKeyPress(event) {
|
979
|
+
var key = event.charCode ? event.charCode : event.keyCode ? event.keyCode : 0;
|
980
|
+
|
981
|
+
if (key == 13) {
|
982
|
+
if (onEnter) onEnter();
|
983
|
+
}
|
984
|
+
}
|
985
|
+
|
986
|
+
function change(event) {
|
987
|
+
event.stopPropagation();
|
988
|
+
event.preventDefault();
|
989
|
+
var value = event.target.value;
|
990
|
+
console.log(value);
|
991
|
+
if (onChange) onChange(id, value);
|
992
|
+
}
|
993
|
+
|
994
|
+
function focus() {
|
995
|
+
if (site && site.changeFocus) {
|
996
|
+
site.changeFocus({
|
997
|
+
lose: function lose() {// DO NOTHING
|
998
|
+
}
|
999
|
+
});
|
1000
|
+
}
|
1001
|
+
}
|
1002
|
+
|
1003
|
+
function clear() {
|
1004
|
+
if (onChange) onChange(id, "");
|
1005
|
+
}
|
1006
|
+
|
1007
|
+
var labelStyle = label ? "" : "no-label";
|
1008
|
+
var style = "textarea " + labelStyle + " textarea-" + type;
|
1009
|
+
var labelTxt = /*#__PURE__*/React__default["default"].createElement(Text$1, null, label);
|
1010
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
1011
|
+
className: "" + style,
|
1012
|
+
onClick: onClick
|
1013
|
+
}, /*#__PURE__*/React__default["default"].createElement("textarea", {
|
1014
|
+
id: id,
|
1015
|
+
placeholder: placeholder,
|
1016
|
+
value: value,
|
1017
|
+
required: true,
|
1018
|
+
onChange: change,
|
1019
|
+
onKeyDown: onKeyPress,
|
1020
|
+
onFocus: focus,
|
1021
|
+
readOnly: readOnly
|
1022
|
+
}), !readOnly && canClear && value && value.length > 0 ? /*#__PURE__*/React__default["default"].createElement(Icon, {
|
1023
|
+
icon: "close",
|
1024
|
+
clickable: true,
|
1025
|
+
size: "small",
|
1026
|
+
action: clear
|
1027
|
+
}) : null, /*#__PURE__*/React__default["default"].createElement("span", {
|
1028
|
+
className: "bar"
|
1029
|
+
}), label ? /*#__PURE__*/React__default["default"].createElement("label", null, labelTxt) : null);
|
1030
|
+
};
|
926
1031
|
/**
|
927
1032
|
* Dropdown
|
928
1033
|
*/
|
@@ -936,8 +1041,8 @@ var DropDown = function DropDown(props) {
|
|
936
1041
|
onChange = props.onChange,
|
937
1042
|
_props$canFilter = props.canFilter,
|
938
1043
|
canFilter = _props$canFilter === void 0 ? false : _props$canFilter,
|
939
|
-
_props$
|
940
|
-
readOnly = _props$
|
1044
|
+
_props$readOnly3 = props.readOnly,
|
1045
|
+
readOnly = _props$readOnly3 === void 0 ? false : _props$readOnly3;
|
941
1046
|
|
942
1047
|
var _useState = React.useState(false),
|
943
1048
|
open = _useState[0],
|
@@ -2255,6 +2360,242 @@ var WaitScreen = function WaitScreen() {
|
|
2255
2360
|
}));
|
2256
2361
|
};
|
2257
2362
|
|
2363
|
+
var ranges = momentRange.extendMoment(moment__default["default"]);
|
2364
|
+
var DATE_RANGE = [{
|
2365
|
+
label: "Week",
|
2366
|
+
value: "week"
|
2367
|
+
}, {
|
2368
|
+
label: "Month",
|
2369
|
+
value: "month"
|
2370
|
+
}];
|
2371
|
+
/**
|
2372
|
+
* Planner
|
2373
|
+
*/
|
2374
|
+
|
2375
|
+
var Planner = function Planner(_ref) {
|
2376
|
+
var title = _ref.title,
|
2377
|
+
_ref$events = _ref.events,
|
2378
|
+
events = _ref$events === void 0 ? [] : _ref$events,
|
2379
|
+
_ref$lanes = _ref.lanes,
|
2380
|
+
lanes = _ref$lanes === void 0 ? [] : _ref$lanes,
|
2381
|
+
_ref$navigation = _ref.navigation,
|
2382
|
+
navigation = _ref$navigation === void 0 ? true : _ref$navigation;
|
2383
|
+
|
2384
|
+
var _useState = React.useState("month"),
|
2385
|
+
dateRange = _useState[0],
|
2386
|
+
setDateRange = _useState[1];
|
2387
|
+
|
2388
|
+
var _useState2 = React.useState("2021-02-26"),
|
2389
|
+
from = _useState2[0],
|
2390
|
+
setFrom = _useState2[1];
|
2391
|
+
|
2392
|
+
var _useState3 = React.useState("2021-04-01"),
|
2393
|
+
to = _useState3[0],
|
2394
|
+
setTo = _useState3[1];
|
2395
|
+
|
2396
|
+
React.useEffect(function () {
|
2397
|
+
var today = moment__default["default"]();
|
2398
|
+
var from_date = today.startOf(dateRange).format("YYYY-MM-DD");
|
2399
|
+
var to_date = today.endOf(dateRange).format("YYYY-MM-DD");
|
2400
|
+
setFrom(from_date);
|
2401
|
+
setTo(to_date);
|
2402
|
+
}, [dateRange]);
|
2403
|
+
|
2404
|
+
function next() {
|
2405
|
+
var actual = moment__default["default"](from);
|
2406
|
+
var next = actual.add(1, dateRange);
|
2407
|
+
var from_date = next.startOf(dateRange).format("YYYY-MM-DD");
|
2408
|
+
var to_date = next.endOf(dateRange).format("YYYY-MM-DD");
|
2409
|
+
setFrom(from_date);
|
2410
|
+
setTo(to_date);
|
2411
|
+
}
|
2412
|
+
|
2413
|
+
function prev() {
|
2414
|
+
var actual = moment__default["default"](from);
|
2415
|
+
var next = actual.subtract(1, dateRange);
|
2416
|
+
var from_date = next.startOf(dateRange).format("YYYY-MM-DD");
|
2417
|
+
var to_date = next.endOf(dateRange).format("YYYY-MM-DD");
|
2418
|
+
setFrom(from_date);
|
2419
|
+
setTo(to_date);
|
2420
|
+
}
|
2421
|
+
|
2422
|
+
var period = React.useMemo(function () {
|
2423
|
+
var start = ranges(from, "YYYY-MM-DD");
|
2424
|
+
var end = ranges(to, "YYYY-MM-DD");
|
2425
|
+
var range = ranges.range(start, end);
|
2426
|
+
var period = Array.from(range.by("day")).map(function (m) {
|
2427
|
+
return {
|
2428
|
+
year: m.year(),
|
2429
|
+
month: m.month(),
|
2430
|
+
day: m.date(),
|
2431
|
+
moment: m
|
2432
|
+
};
|
2433
|
+
});
|
2434
|
+
return period;
|
2435
|
+
}, [from, to]);
|
2436
|
+
var label = /*#__PURE__*/React__default["default"].createElement(Text$1, {
|
2437
|
+
use: "headline6"
|
2438
|
+
}, title);
|
2439
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
2440
|
+
className: "planner-box"
|
2441
|
+
}, navigation ? /*#__PURE__*/React__default["default"].createElement(Header, {
|
2442
|
+
title: label
|
2443
|
+
}, /*#__PURE__*/React__default["default"].createElement(Icon, {
|
2444
|
+
icon: "chevron_right",
|
2445
|
+
clickable: true,
|
2446
|
+
action: next
|
2447
|
+
}), /*#__PURE__*/React__default["default"].createElement(TextField, {
|
2448
|
+
id: "to",
|
2449
|
+
type: "date",
|
2450
|
+
label: "To",
|
2451
|
+
value: to,
|
2452
|
+
onChange: function onChange(id, value) {
|
2453
|
+
return setTo(value);
|
2454
|
+
}
|
2455
|
+
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
2456
|
+
className: "expand"
|
2457
|
+
}), /*#__PURE__*/React__default["default"].createElement(DropDown, {
|
2458
|
+
id: "ranges",
|
2459
|
+
label: "Date Range",
|
2460
|
+
options: DATE_RANGE,
|
2461
|
+
value: dateRange,
|
2462
|
+
onChange: function onChange(id, value) {
|
2463
|
+
return setDateRange(value);
|
2464
|
+
}
|
2465
|
+
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
2466
|
+
className: "expand"
|
2467
|
+
}), /*#__PURE__*/React__default["default"].createElement(TextField, {
|
2468
|
+
id: "from",
|
2469
|
+
type: "date",
|
2470
|
+
label: "From",
|
2471
|
+
value: from,
|
2472
|
+
onChange: function onChange(id, value) {
|
2473
|
+
return setFrom(value);
|
2474
|
+
}
|
2475
|
+
}), /*#__PURE__*/React__default["default"].createElement(Icon, {
|
2476
|
+
icon: "chevron_left",
|
2477
|
+
clickable: true,
|
2478
|
+
action: prev
|
2479
|
+
})) : null, /*#__PURE__*/React__default["default"].createElement("main", {
|
2480
|
+
className: "planner"
|
2481
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
2482
|
+
className: "column0"
|
2483
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
2484
|
+
className: "column-header"
|
2485
|
+
}), lanes.map(function (lane) {
|
2486
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
2487
|
+
className: "row-header"
|
2488
|
+
}, lane.label);
|
2489
|
+
})), /*#__PURE__*/React__default["default"].createElement("div", {
|
2490
|
+
className: "rows"
|
2491
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
2492
|
+
className: "row row0"
|
2493
|
+
}, period.map(function (date, index) {
|
2494
|
+
var first = index === 0 || date.day === 1 ? "first" : "";
|
2495
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
2496
|
+
className: "column-header"
|
2497
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
2498
|
+
className: "month-header " + first
|
2499
|
+
}, /*#__PURE__*/React__default["default"].createElement(Text$1, {
|
2500
|
+
use: "overline"
|
2501
|
+
}, date.moment.format("MMM"))));
|
2502
|
+
})), /*#__PURE__*/React__default["default"].createElement("div", {
|
2503
|
+
className: "row row1"
|
2504
|
+
}, period.map(function (date) {
|
2505
|
+
var isWekend = [0, 6].includes(date.moment.day());
|
2506
|
+
var weekend = isWekend ? "weekend" : "";
|
2507
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
2508
|
+
className: "column-header"
|
2509
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
2510
|
+
className: "date-header " + weekend
|
2511
|
+
}, /*#__PURE__*/React__default["default"].createElement(Text$1, {
|
2512
|
+
use: "headline6"
|
2513
|
+
}, date.moment.format("DD")), "\xA0", /*#__PURE__*/React__default["default"].createElement(Text$1, {
|
2514
|
+
use: "caption"
|
2515
|
+
}, date.moment.format("ddd"))));
|
2516
|
+
})), lanes.map(function (lane) {
|
2517
|
+
return /*#__PURE__*/React__default["default"].createElement(PlannerRow, {
|
2518
|
+
lane: lane,
|
2519
|
+
events: events,
|
2520
|
+
period: period
|
2521
|
+
});
|
2522
|
+
}))));
|
2523
|
+
};
|
2524
|
+
/**
|
2525
|
+
* Planner Row
|
2526
|
+
*/
|
2527
|
+
|
2528
|
+
var PlannerRow = function PlannerRow(props) {
|
2529
|
+
var lane = props.lane,
|
2530
|
+
_props$events = props.events,
|
2531
|
+
events = _props$events === void 0 ? [] : _props$events,
|
2532
|
+
period = props.period;
|
2533
|
+
var rowEvents = events.filter(function (event) {
|
2534
|
+
return event.lane === lane.id;
|
2535
|
+
});
|
2536
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
2537
|
+
className: "row"
|
2538
|
+
}, period.map(function (date) {
|
2539
|
+
var slotDate = new Date(date.year, date.month, date.day);
|
2540
|
+
slotDate.setHours(0, 0, 0);
|
2541
|
+
var cellEvents = rowEvents.filter(function (event) {
|
2542
|
+
var eventDate = new Date(event.date);
|
2543
|
+
eventDate.setHours(0, 0, 0);
|
2544
|
+
return eventDate.getTime() === slotDate.getTime();
|
2545
|
+
});
|
2546
|
+
return /*#__PURE__*/React__default["default"].createElement(PlannerCell, {
|
2547
|
+
date: date,
|
2548
|
+
events: cellEvents
|
2549
|
+
});
|
2550
|
+
}));
|
2551
|
+
};
|
2552
|
+
/**
|
2553
|
+
* Planner Cell
|
2554
|
+
*/
|
2555
|
+
|
2556
|
+
|
2557
|
+
var PlannerCell = function PlannerCell(_ref3) {
|
2558
|
+
var lane = _ref3.lane,
|
2559
|
+
date = _ref3.date,
|
2560
|
+
onDrop = _ref3.onDrop;
|
2561
|
+
|
2562
|
+
var _useState4 = React.useState(false),
|
2563
|
+
dragOver = _useState4[0],
|
2564
|
+
setDragOver = _useState4[1];
|
2565
|
+
|
2566
|
+
function onDragOver(event) {
|
2567
|
+
if (!dragOver) setDragOver(true);
|
2568
|
+
event.stopPropagation();
|
2569
|
+
event.preventDefault();
|
2570
|
+
}
|
2571
|
+
|
2572
|
+
function onDragLeave(event) {
|
2573
|
+
setDragOver(false);
|
2574
|
+
event.stopPropagation();
|
2575
|
+
event.preventDefault();
|
2576
|
+
}
|
2577
|
+
|
2578
|
+
function drop(event) {
|
2579
|
+
event.stopPropagation();
|
2580
|
+
event.preventDefault();
|
2581
|
+
var id = event.dataTransfer.getData("text");
|
2582
|
+
if (onDrop) onDrop({
|
2583
|
+
id: id,
|
2584
|
+
lane: lane.id,
|
2585
|
+
date: date.moment.format("YYYY-MM-DD")
|
2586
|
+
});
|
2587
|
+
}
|
2588
|
+
|
2589
|
+
var isWekend = [0, 6].includes(date.moment.day());
|
2590
|
+
var weekend = isWekend ? "weekend" : "";
|
2591
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
2592
|
+
className: "cell " + weekend,
|
2593
|
+
onDragOver: onDragOver,
|
2594
|
+
onDragLeave: onDragLeave,
|
2595
|
+
onDrop: drop
|
2596
|
+
}, "c");
|
2597
|
+
};
|
2598
|
+
|
2258
2599
|
/**
|
2259
2600
|
* Page Context
|
2260
2601
|
*/
|
@@ -5472,6 +5813,7 @@ exports.MenuSeparator = MenuSeparator;
|
|
5472
5813
|
exports.Page = Page;
|
5473
5814
|
exports.PageContext = PageContext;
|
5474
5815
|
exports.PageProvider = PageProvider;
|
5816
|
+
exports.Planner = Planner;
|
5475
5817
|
exports.Property = Property;
|
5476
5818
|
exports.RadioButton = RadioButton;
|
5477
5819
|
exports.ResetPasswordBox = ResetPasswordBox;
|
@@ -5488,6 +5830,7 @@ exports.TabbedContentEditor = TabbedContentEditor;
|
|
5488
5830
|
exports.TablePage = TablePage;
|
5489
5831
|
exports.Tabs = Tabs;
|
5490
5832
|
exports.Text = Text$1;
|
5833
|
+
exports.TextArea = TextArea;
|
5491
5834
|
exports.TextField = TextField;
|
5492
5835
|
exports.Thumbnail = Thumbnail;
|
5493
5836
|
exports.TokenField = TokenField;
|