ywana-core8 0.0.486 → 0.0.489
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 +473 -366
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +25 -18
- package/dist/index.css.map +1 -1
- package/dist/index.modern.js +478 -372
- package/dist/index.modern.js.map +1 -1
- package/dist/index.umd.js +473 -366
- package/dist/index.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/domain/CollectionPage.js +41 -5
- package/src/domain/ContentEditor.js +1 -0
- package/src/domain/ContentType.js +1 -1
- package/src/domain/index.js +1 -1
- package/src/html/table.css +7 -0
- package/src/html/table.js +19 -7
- package/src/html/table.test.js +13 -12
- package/src/html/textfield.js +3 -4
- package/src/site/site.test.js +36 -2
package/dist/index.modern.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
import 'material-design-icons-iconfont/dist/material-design-icons.css';
|
2
|
-
import React, { useContext, useState, useEffect, Fragment, useMemo, useRef, Children } from 'react';
|
2
|
+
import React, { useContext, useState, useEffect, Fragment, useMemo as useMemo$1, useRef, Children } from 'react';
|
3
3
|
import RSwitch from 'react-switch';
|
4
4
|
import moment from 'moment';
|
5
5
|
import { extendMoment } from 'moment-range';
|
@@ -918,275 +918,10 @@ var Stack = function Stack(props) {
|
|
918
918
|
return /*#__PURE__*/React.createElement(Fragment, null, child);
|
919
919
|
};
|
920
920
|
|
921
|
-
/**
|
922
|
-
* Text Field
|
923
|
-
*/
|
924
|
-
|
925
|
-
var TextField = function TextField(props) {
|
926
|
-
var site = useContext(SiteContext);
|
927
|
-
var id = props.id,
|
928
|
-
_props$type = props.type,
|
929
|
-
type = _props$type === void 0 ? 'text' : _props$type,
|
930
|
-
label = props.label,
|
931
|
-
placeholder = props.placeholder,
|
932
|
-
value = props.value,
|
933
|
-
outlined = props.outlined,
|
934
|
-
_props$readOnly = props.readOnly,
|
935
|
-
readOnly = _props$readOnly === void 0 ? false : _props$readOnly,
|
936
|
-
_props$canClear = props.canClear,
|
937
|
-
canClear = _props$canClear === void 0 ? true : _props$canClear,
|
938
|
-
onChange = props.onChange,
|
939
|
-
onEnter = props.onEnter,
|
940
|
-
onClick = props.onClick,
|
941
|
-
onBlur = props.onBlur;
|
942
|
-
|
943
|
-
function onKeyPress(event) {
|
944
|
-
var key = event.charCode ? event.charCode : event.keyCode ? event.keyCode : 0;
|
945
|
-
|
946
|
-
if (key == 13) {
|
947
|
-
if (onEnter) onEnter();
|
948
|
-
}
|
949
|
-
}
|
950
|
-
|
951
|
-
function change(event) {
|
952
|
-
event.stopPropagation();
|
953
|
-
event.preventDefault();
|
954
|
-
var value = event.target.value;
|
955
|
-
if (onChange) onChange(id, value);
|
956
|
-
}
|
957
|
-
|
958
|
-
function focus() {
|
959
|
-
if (site && site.changeFocus) {
|
960
|
-
site.changeFocus({
|
961
|
-
lose: function lose() {// DO NOTHING
|
962
|
-
}
|
963
|
-
});
|
964
|
-
}
|
965
|
-
}
|
966
|
-
|
967
|
-
function blur() {
|
968
|
-
if (onBlur) onBlur();
|
969
|
-
}
|
970
|
-
|
971
|
-
function clear() {
|
972
|
-
if (onChange) onChange(id, "");
|
973
|
-
}
|
974
|
-
|
975
|
-
var borderStyle = outlined ? "textfield-outlined" : "textfield";
|
976
|
-
var labelStyle = label ? "" : "no-label";
|
977
|
-
var style = labelStyle + " " + borderStyle + " textfield-" + type;
|
978
|
-
var labelTxt = /*#__PURE__*/React.createElement(Text, null, label);
|
979
|
-
return /*#__PURE__*/React.createElement("div", {
|
980
|
-
className: "" + style,
|
981
|
-
onClick: onClick
|
982
|
-
}, /*#__PURE__*/React.createElement("input", {
|
983
|
-
id: id,
|
984
|
-
type: type,
|
985
|
-
placeholder: placeholder,
|
986
|
-
value: value,
|
987
|
-
required: true,
|
988
|
-
onChange: change,
|
989
|
-
onKeyDown: onKeyPress,
|
990
|
-
onFocus: focus,
|
991
|
-
onBlur: blur,
|
992
|
-
readOnly: readOnly
|
993
|
-
}), canClear && value && value.length > 0 ? /*#__PURE__*/React.createElement(Icon, {
|
994
|
-
icon: "close",
|
995
|
-
clickable: true,
|
996
|
-
size: "small",
|
997
|
-
action: clear
|
998
|
-
}) : null, /*#__PURE__*/React.createElement("span", {
|
999
|
-
className: "bar"
|
1000
|
-
}), label ? /*#__PURE__*/React.createElement("label", null, labelTxt) : null);
|
1001
|
-
};
|
1002
|
-
/**
|
1003
|
-
* Text Area
|
1004
|
-
*/
|
1005
|
-
|
1006
|
-
var TextArea = function TextArea(props) {
|
1007
|
-
var site = useContext(SiteContext);
|
1008
|
-
var id = props.id,
|
1009
|
-
_props$type2 = props.type,
|
1010
|
-
type = _props$type2 === void 0 ? 'text' : _props$type2,
|
1011
|
-
label = props.label,
|
1012
|
-
placeholder = props.placeholder,
|
1013
|
-
value = props.value,
|
1014
|
-
_props$readOnly2 = props.readOnly,
|
1015
|
-
readOnly = _props$readOnly2 === void 0 ? false : _props$readOnly2,
|
1016
|
-
_props$canClear2 = props.canClear,
|
1017
|
-
canClear = _props$canClear2 === void 0 ? true : _props$canClear2,
|
1018
|
-
onChange = props.onChange,
|
1019
|
-
onEnter = props.onEnter,
|
1020
|
-
onClick = props.onClick;
|
1021
|
-
|
1022
|
-
function onKeyPress(event) {
|
1023
|
-
var key = event.charCode ? event.charCode : event.keyCode ? event.keyCode : 0;
|
1024
|
-
|
1025
|
-
if (key == 13) {
|
1026
|
-
if (onEnter) onEnter();
|
1027
|
-
}
|
1028
|
-
}
|
1029
|
-
|
1030
|
-
function change(event) {
|
1031
|
-
event.stopPropagation();
|
1032
|
-
event.preventDefault();
|
1033
|
-
var value = event.target.value;
|
1034
|
-
if (onChange) onChange(id, value);
|
1035
|
-
}
|
1036
|
-
|
1037
|
-
function focus() {
|
1038
|
-
if (site && site.changeFocus) {
|
1039
|
-
site.changeFocus({
|
1040
|
-
lose: function lose() {// DO NOTHING
|
1041
|
-
}
|
1042
|
-
});
|
1043
|
-
}
|
1044
|
-
}
|
1045
|
-
|
1046
|
-
function clear() {
|
1047
|
-
if (onChange) onChange(id, "");
|
1048
|
-
}
|
1049
|
-
|
1050
|
-
var labelStyle = label ? "" : "no-label";
|
1051
|
-
var style = "textarea " + labelStyle + " textarea-" + type;
|
1052
|
-
var labelTxt = /*#__PURE__*/React.createElement(Text, null, label);
|
1053
|
-
return /*#__PURE__*/React.createElement("div", {
|
1054
|
-
className: "" + style,
|
1055
|
-
onClick: onClick
|
1056
|
-
}, /*#__PURE__*/React.createElement("textarea", {
|
1057
|
-
id: id,
|
1058
|
-
placeholder: placeholder,
|
1059
|
-
value: value,
|
1060
|
-
required: true,
|
1061
|
-
onChange: change,
|
1062
|
-
onKeyDown: onKeyPress,
|
1063
|
-
onFocus: focus,
|
1064
|
-
readOnly: readOnly
|
1065
|
-
}), canClear && value && value.length > 0 ? /*#__PURE__*/React.createElement(Icon, {
|
1066
|
-
icon: "close",
|
1067
|
-
clickable: true,
|
1068
|
-
size: "small",
|
1069
|
-
action: clear
|
1070
|
-
}) : null, /*#__PURE__*/React.createElement("span", {
|
1071
|
-
className: "bar"
|
1072
|
-
}), label ? /*#__PURE__*/React.createElement("label", null, labelTxt) : null);
|
1073
|
-
};
|
1074
|
-
/**
|
1075
|
-
* Dropdown
|
1076
|
-
*/
|
1077
|
-
|
1078
|
-
var DropDown = function DropDown(props) {
|
1079
|
-
var site = useContext(SiteContext);
|
1080
|
-
var id = props.id,
|
1081
|
-
_props$options = props.options,
|
1082
|
-
options = _props$options === void 0 ? [] : _props$options,
|
1083
|
-
value = props.value,
|
1084
|
-
onChange = props.onChange,
|
1085
|
-
_props$predictive = props.predictive,
|
1086
|
-
predictive = _props$predictive === void 0 ? false : _props$predictive,
|
1087
|
-
_props$readOnly3 = props.readOnly,
|
1088
|
-
readOnly = _props$readOnly3 === void 0 ? false : _props$readOnly3,
|
1089
|
-
_props$verbose = props.verbose,
|
1090
|
-
verbose = _props$verbose === void 0 ? true : _props$verbose,
|
1091
|
-
onBlur = props.onBlur;
|
1092
|
-
|
1093
|
-
var _useState = useState(false),
|
1094
|
-
open = _useState[0],
|
1095
|
-
setOpen = _useState[1];
|
1096
|
-
|
1097
|
-
var _useState2 = useState(),
|
1098
|
-
label = _useState2[0],
|
1099
|
-
setLabel = _useState2[1];
|
1100
|
-
|
1101
|
-
useEffect(function () {
|
1102
|
-
if (Array.isArray(options)) {
|
1103
|
-
var option = options.find(function (option) {
|
1104
|
-
return option.value === value;
|
1105
|
-
});
|
1106
|
-
|
1107
|
-
var _label = option ? option.label : "";
|
1108
|
-
|
1109
|
-
setLabel(_label);
|
1110
|
-
}
|
1111
|
-
}, [value]);
|
1112
|
-
|
1113
|
-
function change(id, value) {
|
1114
|
-
if (predictive) {
|
1115
|
-
setLabel(value);
|
1116
|
-
} else {
|
1117
|
-
if (onChange) onChange(id, value);
|
1118
|
-
}
|
1119
|
-
}
|
1120
|
-
|
1121
|
-
function toggle() {
|
1122
|
-
if (site && site.changeFocus) {
|
1123
|
-
site.changeFocus({
|
1124
|
-
lose: function lose() {
|
1125
|
-
setOpen(false);
|
1126
|
-
}
|
1127
|
-
});
|
1128
|
-
}
|
1129
|
-
|
1130
|
-
if (!readOnly) setOpen(!open);
|
1131
|
-
}
|
1132
|
-
|
1133
|
-
function select(event) {
|
1134
|
-
var next = event.target.getAttribute("value");
|
1135
|
-
var option = options.find(function (option) {
|
1136
|
-
return option.value === next;
|
1137
|
-
});
|
1138
|
-
setOpen(false);
|
1139
|
-
var label = verbose ? option.label : "";
|
1140
|
-
setLabel(label);
|
1141
|
-
if (onChange) onChange(id, next);
|
1142
|
-
}
|
1143
|
-
|
1144
|
-
function blur() {
|
1145
|
-
if (onBlur) onBlur();
|
1146
|
-
}
|
1147
|
-
|
1148
|
-
function renderOptions() {
|
1149
|
-
var canShow = open == true && Array.isArray(options);
|
1150
|
-
|
1151
|
-
if (canShow) {
|
1152
|
-
var filterActive = predictive === true && label && label.length > 0;
|
1153
|
-
var items = filterActive ? options.filter(function (option) {
|
1154
|
-
return option.label.toUpperCase().indexOf(label.toUpperCase()) >= 0;
|
1155
|
-
}) : options;
|
1156
|
-
var lis = items.map(function (option) {
|
1157
|
-
return /*#__PURE__*/React.createElement("li", {
|
1158
|
-
key: option.value,
|
1159
|
-
value: option.value
|
1160
|
-
}, option.label);
|
1161
|
-
});
|
1162
|
-
return /*#__PURE__*/React.createElement("menu", null, /*#__PURE__*/React.createElement("ul", {
|
1163
|
-
onMouseDown: select
|
1164
|
-
}, lis));
|
1165
|
-
} else {
|
1166
|
-
return null;
|
1167
|
-
}
|
1168
|
-
}
|
1169
|
-
|
1170
|
-
return /*#__PURE__*/React.createElement("div", {
|
1171
|
-
className: "dropdown"
|
1172
|
-
}, /*#__PURE__*/React.createElement(TextField, _extends({}, props, {
|
1173
|
-
onClick: toggle,
|
1174
|
-
value: label,
|
1175
|
-
onChange: change,
|
1176
|
-
onBlur: blur,
|
1177
|
-
readOnly: !predictive
|
1178
|
-
})), !readOnly ? /*#__PURE__*/React.createElement(Icon, {
|
1179
|
-
icon: "expand_more",
|
1180
|
-
clickable: true,
|
1181
|
-
size: "small",
|
1182
|
-
action: toggle
|
1183
|
-
}) : null, renderOptions());
|
1184
|
-
};
|
1185
|
-
|
1186
921
|
/**
|
1187
922
|
* TYPES
|
1188
923
|
*/
|
1189
|
-
var TYPES = {
|
924
|
+
var TYPES$1 = {
|
1190
925
|
STRING: 'String',
|
1191
926
|
NUMBER: 'Number',
|
1192
927
|
BOOLEAN: 'Boolean',
|
@@ -1201,7 +936,7 @@ var TYPES = {
|
|
1201
936
|
var FORMATS = {
|
1202
937
|
NONE: '',
|
1203
938
|
DATE: 'date',
|
1204
|
-
DATERANGE: '
|
939
|
+
DATERANGE: 'DATERANGE',
|
1205
940
|
TIME: 'time',
|
1206
941
|
EMAIL: 'email',
|
1207
942
|
HTML: 'HTML',
|
@@ -1214,7 +949,7 @@ var FORMATS = {
|
|
1214
949
|
* CHECK
|
1215
950
|
*/
|
1216
951
|
|
1217
|
-
var CHECK = Object.values(TYPES).reduce(function (obj, name) {
|
952
|
+
var CHECK = Object.values(TYPES$1).reduce(function (obj, name) {
|
1218
953
|
obj['is' + name] = function (x) {
|
1219
954
|
return toString.call(x) == '[object ' + name + ']';
|
1220
955
|
};
|
@@ -1242,19 +977,19 @@ var ContentType = /*#__PURE__*/function () {
|
|
1242
977
|
var child = new ContentType(item);
|
1243
978
|
|
1244
979
|
switch (type) {
|
1245
|
-
case TYPES.ARRAY:
|
980
|
+
case TYPES$1.ARRAY:
|
1246
981
|
valid = CHECK['is' + type](data);
|
1247
982
|
validChildren = data.every(function (element) {
|
1248
983
|
return child.validate(element);
|
1249
984
|
});
|
1250
985
|
break;
|
1251
986
|
|
1252
|
-
case TYPES.ENTITY:
|
987
|
+
case TYPES$1.ENTITY:
|
1253
988
|
valid = CHECK['is' + type](data);
|
1254
989
|
validChildren = child.validate(data);
|
1255
990
|
break;
|
1256
991
|
|
1257
|
-
case TYPES.NUMBER:
|
992
|
+
case TYPES$1.NUMBER:
|
1258
993
|
valid = CHECK['is' + type](data.value);
|
1259
994
|
validChildren = true;
|
1260
995
|
break;
|
@@ -1340,27 +1075,27 @@ var ContentType = /*#__PURE__*/function () {
|
|
1340
1075
|
var entryData = data ? data[name] : null;
|
1341
1076
|
|
1342
1077
|
switch (type) {
|
1343
|
-
case TYPES.STRING:
|
1078
|
+
case TYPES$1.STRING:
|
1344
1079
|
next[name] = entryData || field["default"];
|
1345
1080
|
break;
|
1346
1081
|
|
1347
|
-
case TYPES.NUMBER:
|
1082
|
+
case TYPES$1.NUMBER:
|
1348
1083
|
next[name] = entryData || field["default"];
|
1349
1084
|
break;
|
1350
1085
|
|
1351
|
-
case TYPES.BOOLEAN:
|
1086
|
+
case TYPES$1.BOOLEAN:
|
1352
1087
|
next[name] = entryData || field["default"];
|
1353
1088
|
break;
|
1354
1089
|
|
1355
|
-
case TYPES.ENTITY:
|
1090
|
+
case TYPES$1.ENTITY:
|
1356
1091
|
if (optional === true) console.log('OPTIONAL', field, !entryData);
|
1357
1092
|
if (optional === true && !entryData) break;
|
1358
1093
|
var child1 = new ContentType(item);
|
1359
1094
|
next[name] = child1.value(entryData);
|
1360
1095
|
break;
|
1361
1096
|
|
1362
|
-
case TYPES.ARRAY:
|
1363
|
-
if (item === TYPES.STRING) {
|
1097
|
+
case TYPES$1.ARRAY:
|
1098
|
+
if (item === TYPES$1.STRING) {
|
1364
1099
|
next[name] = entryData ? entryData : [];
|
1365
1100
|
} else {
|
1366
1101
|
var child2 = new ContentType(item);
|
@@ -1369,77 +1104,354 @@ var ContentType = /*#__PURE__*/function () {
|
|
1369
1104
|
}) : [];
|
1370
1105
|
}
|
1371
1106
|
|
1372
|
-
break;
|
1107
|
+
break;
|
1108
|
+
|
1109
|
+
default:
|
1110
|
+
next[name] = field;
|
1111
|
+
break;
|
1112
|
+
}
|
1113
|
+
|
1114
|
+
return next;
|
1115
|
+
}, {});
|
1116
|
+
return next;
|
1117
|
+
};
|
1118
|
+
|
1119
|
+
return ContentType;
|
1120
|
+
}();
|
1121
|
+
/**
|
1122
|
+
* Content
|
1123
|
+
*/
|
1124
|
+
|
1125
|
+
var Content = /*#__PURE__*/function () {
|
1126
|
+
function Content(type, value) {
|
1127
|
+
this.type = type;
|
1128
|
+
this._type = new ContentType(type);
|
1129
|
+
this._value = value;
|
1130
|
+
}
|
1131
|
+
|
1132
|
+
var _proto2 = Content.prototype;
|
1133
|
+
|
1134
|
+
_proto2.isValid = function isValid() {
|
1135
|
+
return this._type.validate(this._value);
|
1136
|
+
};
|
1137
|
+
|
1138
|
+
_proto2.value = function value() {
|
1139
|
+
return this._type.value(this._value);
|
1140
|
+
};
|
1141
|
+
|
1142
|
+
_proto2.form = function form() {
|
1143
|
+
return this._type.form(this._value);
|
1144
|
+
};
|
1145
|
+
|
1146
|
+
_proto2.sections = function sections() {
|
1147
|
+
return this._type.sections(this._value);
|
1148
|
+
};
|
1149
|
+
|
1150
|
+
_proto2.update = function update(value) {
|
1151
|
+
this._value = value;
|
1152
|
+
};
|
1153
|
+
|
1154
|
+
return Content;
|
1155
|
+
}();
|
1156
|
+
|
1157
|
+
/**
|
1158
|
+
* Text Field
|
1159
|
+
*/
|
1160
|
+
|
1161
|
+
var TextField = function TextField(props) {
|
1162
|
+
var site = useContext(SiteContext);
|
1163
|
+
var id = props.id,
|
1164
|
+
_props$type = props.type,
|
1165
|
+
type = _props$type === void 0 ? 'text' : _props$type,
|
1166
|
+
label = props.label,
|
1167
|
+
placeholder = props.placeholder,
|
1168
|
+
value = props.value,
|
1169
|
+
outlined = props.outlined,
|
1170
|
+
_props$readOnly = props.readOnly,
|
1171
|
+
readOnly = _props$readOnly === void 0 ? false : _props$readOnly,
|
1172
|
+
_props$canClear = props.canClear,
|
1173
|
+
canClear = _props$canClear === void 0 ? true : _props$canClear,
|
1174
|
+
onChange = props.onChange,
|
1175
|
+
onEnter = props.onEnter,
|
1176
|
+
onClick = props.onClick,
|
1177
|
+
onBlur = props.onBlur;
|
1178
|
+
|
1179
|
+
function onKeyPress(event) {
|
1180
|
+
var key = event.charCode ? event.charCode : event.keyCode ? event.keyCode : 0;
|
1181
|
+
|
1182
|
+
if (key == 13) {
|
1183
|
+
if (onEnter) onEnter();
|
1184
|
+
}
|
1185
|
+
}
|
1186
|
+
|
1187
|
+
function change(event) {
|
1188
|
+
event.stopPropagation();
|
1189
|
+
event.preventDefault();
|
1190
|
+
var value = event.target.value;
|
1191
|
+
if (onChange) onChange(id, value);
|
1192
|
+
}
|
1193
|
+
|
1194
|
+
function focus() {
|
1195
|
+
if (site && site.changeFocus) {
|
1196
|
+
site.changeFocus({
|
1197
|
+
lose: function lose() {// DO NOTHING
|
1198
|
+
}
|
1199
|
+
});
|
1200
|
+
}
|
1201
|
+
}
|
1202
|
+
|
1203
|
+
function blur() {
|
1204
|
+
if (onBlur) onBlur();
|
1205
|
+
}
|
1206
|
+
|
1207
|
+
function clear() {
|
1208
|
+
if (onChange) onChange(id, "");
|
1209
|
+
}
|
1210
|
+
|
1211
|
+
var borderStyle = outlined ? "textfield-outlined" : "textfield";
|
1212
|
+
var labelStyle = label ? "" : "no-label";
|
1213
|
+
var style = labelStyle + " " + borderStyle + " textfield-" + type;
|
1214
|
+
var labelTxt = /*#__PURE__*/React.createElement(Text, null, label);
|
1215
|
+
return /*#__PURE__*/React.createElement("div", {
|
1216
|
+
className: "" + style,
|
1217
|
+
onClick: onClick
|
1218
|
+
}, /*#__PURE__*/React.createElement("input", {
|
1219
|
+
id: id,
|
1220
|
+
type: type,
|
1221
|
+
placeholder: placeholder,
|
1222
|
+
value: value,
|
1223
|
+
required: true,
|
1224
|
+
onChange: change,
|
1225
|
+
onKeyDown: onKeyPress,
|
1226
|
+
onFocus: focus,
|
1227
|
+
onBlur: blur,
|
1228
|
+
readOnly: readOnly
|
1229
|
+
}), canClear && value && value.length > 0 ? /*#__PURE__*/React.createElement(Icon, {
|
1230
|
+
icon: "close",
|
1231
|
+
clickable: true,
|
1232
|
+
size: "small",
|
1233
|
+
action: clear
|
1234
|
+
}) : null, /*#__PURE__*/React.createElement("span", {
|
1235
|
+
className: "bar"
|
1236
|
+
}), label ? /*#__PURE__*/React.createElement("label", null, labelTxt) : null);
|
1237
|
+
};
|
1238
|
+
/**
|
1239
|
+
* Text Area
|
1240
|
+
*/
|
1241
|
+
|
1242
|
+
var TextArea = function TextArea(props) {
|
1243
|
+
var site = useContext(SiteContext);
|
1244
|
+
var id = props.id,
|
1245
|
+
_props$type2 = props.type,
|
1246
|
+
type = _props$type2 === void 0 ? 'text' : _props$type2,
|
1247
|
+
label = props.label,
|
1248
|
+
placeholder = props.placeholder,
|
1249
|
+
value = props.value,
|
1250
|
+
_props$readOnly2 = props.readOnly,
|
1251
|
+
readOnly = _props$readOnly2 === void 0 ? false : _props$readOnly2,
|
1252
|
+
_props$canClear2 = props.canClear,
|
1253
|
+
canClear = _props$canClear2 === void 0 ? true : _props$canClear2,
|
1254
|
+
onChange = props.onChange,
|
1255
|
+
onEnter = props.onEnter,
|
1256
|
+
onClick = props.onClick;
|
1257
|
+
|
1258
|
+
function onKeyPress(event) {
|
1259
|
+
var key = event.charCode ? event.charCode : event.keyCode ? event.keyCode : 0;
|
1260
|
+
|
1261
|
+
if (key == 13) {
|
1262
|
+
if (onEnter) onEnter();
|
1263
|
+
}
|
1264
|
+
}
|
1265
|
+
|
1266
|
+
function change(event) {
|
1267
|
+
event.stopPropagation();
|
1268
|
+
event.preventDefault();
|
1269
|
+
var value = event.target.value;
|
1270
|
+
if (onChange) onChange(id, value);
|
1271
|
+
}
|
1272
|
+
|
1273
|
+
function focus() {
|
1274
|
+
if (site && site.changeFocus) {
|
1275
|
+
site.changeFocus({
|
1276
|
+
lose: function lose() {// DO NOTHING
|
1277
|
+
}
|
1278
|
+
});
|
1279
|
+
}
|
1280
|
+
}
|
1281
|
+
|
1282
|
+
function clear() {
|
1283
|
+
if (onChange) onChange(id, "");
|
1284
|
+
}
|
1285
|
+
|
1286
|
+
var labelStyle = label ? "" : "no-label";
|
1287
|
+
var style = "textarea " + labelStyle + " textarea-" + type;
|
1288
|
+
var labelTxt = /*#__PURE__*/React.createElement(Text, null, label);
|
1289
|
+
return /*#__PURE__*/React.createElement("div", {
|
1290
|
+
className: "" + style,
|
1291
|
+
onClick: onClick
|
1292
|
+
}, /*#__PURE__*/React.createElement("textarea", {
|
1293
|
+
id: id,
|
1294
|
+
placeholder: placeholder,
|
1295
|
+
value: value,
|
1296
|
+
required: true,
|
1297
|
+
onChange: change,
|
1298
|
+
onKeyDown: onKeyPress,
|
1299
|
+
onFocus: focus,
|
1300
|
+
readOnly: readOnly
|
1301
|
+
}), canClear && value && value.length > 0 ? /*#__PURE__*/React.createElement(Icon, {
|
1302
|
+
icon: "close",
|
1303
|
+
clickable: true,
|
1304
|
+
size: "small",
|
1305
|
+
action: clear
|
1306
|
+
}) : null, /*#__PURE__*/React.createElement("span", {
|
1307
|
+
className: "bar"
|
1308
|
+
}), label ? /*#__PURE__*/React.createElement("label", null, labelTxt) : null);
|
1309
|
+
};
|
1310
|
+
/**
|
1311
|
+
* Dropdown
|
1312
|
+
*/
|
1313
|
+
|
1314
|
+
var DropDown = function DropDown(props) {
|
1315
|
+
var site = useContext(SiteContext);
|
1316
|
+
var id = props.id,
|
1317
|
+
_props$options = props.options,
|
1318
|
+
options = _props$options === void 0 ? [] : _props$options,
|
1319
|
+
value = props.value,
|
1320
|
+
onChange = props.onChange,
|
1321
|
+
_props$predictive = props.predictive,
|
1322
|
+
predictive = _props$predictive === void 0 ? false : _props$predictive,
|
1323
|
+
_props$readOnly3 = props.readOnly,
|
1324
|
+
readOnly = _props$readOnly3 === void 0 ? false : _props$readOnly3,
|
1325
|
+
_props$verbose = props.verbose,
|
1326
|
+
verbose = _props$verbose === void 0 ? true : _props$verbose,
|
1327
|
+
onBlur = props.onBlur;
|
1328
|
+
|
1329
|
+
var _useState = useState(false),
|
1330
|
+
open = _useState[0],
|
1331
|
+
setOpen = _useState[1];
|
1373
1332
|
|
1374
|
-
|
1375
|
-
|
1376
|
-
|
1377
|
-
}
|
1333
|
+
var _useState2 = useState(),
|
1334
|
+
label = _useState2[0],
|
1335
|
+
setLabel = _useState2[1];
|
1378
1336
|
|
1379
|
-
|
1380
|
-
|
1381
|
-
|
1382
|
-
|
1337
|
+
useEffect(function () {
|
1338
|
+
if (Array.isArray(options)) {
|
1339
|
+
var option = options.find(function (option) {
|
1340
|
+
return option.value === value;
|
1341
|
+
});
|
1383
1342
|
|
1384
|
-
|
1385
|
-
}();
|
1386
|
-
/**
|
1387
|
-
* Content
|
1388
|
-
*/
|
1343
|
+
var _label = option ? option.label : "";
|
1389
1344
|
|
1390
|
-
|
1391
|
-
|
1392
|
-
|
1393
|
-
this._type = new ContentType(type);
|
1394
|
-
this._value = value;
|
1395
|
-
}
|
1345
|
+
setLabel(_label);
|
1346
|
+
}
|
1347
|
+
}, [value]);
|
1396
1348
|
|
1397
|
-
|
1349
|
+
function change(id, value) {
|
1350
|
+
if (predictive) {
|
1351
|
+
setLabel(value);
|
1352
|
+
} else {
|
1353
|
+
if (onChange) onChange(id, value);
|
1354
|
+
}
|
1355
|
+
}
|
1398
1356
|
|
1399
|
-
|
1400
|
-
|
1401
|
-
|
1357
|
+
function toggle() {
|
1358
|
+
if (site && site.changeFocus) {
|
1359
|
+
site.changeFocus({
|
1360
|
+
lose: function lose() {
|
1361
|
+
setOpen(false);
|
1362
|
+
}
|
1363
|
+
});
|
1364
|
+
}
|
1402
1365
|
|
1403
|
-
|
1404
|
-
|
1405
|
-
};
|
1366
|
+
if (!readOnly) setOpen(!open);
|
1367
|
+
}
|
1406
1368
|
|
1407
|
-
|
1408
|
-
|
1409
|
-
|
1369
|
+
function select(event) {
|
1370
|
+
var next = event.target.getAttribute("value");
|
1371
|
+
var option = options.find(function (option) {
|
1372
|
+
return option.value === next;
|
1373
|
+
});
|
1374
|
+
setOpen(false);
|
1375
|
+
var label = verbose ? option.label : "";
|
1376
|
+
setLabel(label);
|
1377
|
+
if (onChange) onChange(id, next);
|
1378
|
+
}
|
1410
1379
|
|
1411
|
-
|
1412
|
-
|
1413
|
-
}
|
1380
|
+
function blur() {
|
1381
|
+
if (onBlur) onBlur();
|
1382
|
+
}
|
1414
1383
|
|
1415
|
-
|
1416
|
-
|
1417
|
-
};
|
1384
|
+
function renderOptions() {
|
1385
|
+
var canShow = open == true && Array.isArray(options);
|
1418
1386
|
|
1419
|
-
|
1420
|
-
|
1387
|
+
if (canShow) {
|
1388
|
+
var filterActive = predictive === true && label && label.length > 0;
|
1389
|
+
var items = filterActive ? options.filter(function (option) {
|
1390
|
+
return option.label.toUpperCase().indexOf(label.toUpperCase()) >= 0;
|
1391
|
+
}) : options;
|
1392
|
+
var lis = items.map(function (option) {
|
1393
|
+
return /*#__PURE__*/React.createElement("li", {
|
1394
|
+
key: option.value,
|
1395
|
+
value: option.value
|
1396
|
+
}, option.label);
|
1397
|
+
});
|
1398
|
+
return /*#__PURE__*/React.createElement("menu", null, /*#__PURE__*/React.createElement("ul", {
|
1399
|
+
onMouseDown: select
|
1400
|
+
}, lis));
|
1401
|
+
} else {
|
1402
|
+
return null;
|
1403
|
+
}
|
1404
|
+
}
|
1421
1405
|
|
1422
|
-
|
1406
|
+
return /*#__PURE__*/React.createElement("div", {
|
1407
|
+
className: "dropdown"
|
1408
|
+
}, /*#__PURE__*/React.createElement(TextField, _extends({}, props, {
|
1409
|
+
onClick: toggle,
|
1410
|
+
value: label,
|
1411
|
+
onChange: change,
|
1412
|
+
onBlur: blur,
|
1413
|
+
readOnly: !predictive
|
1414
|
+
})), !readOnly ? /*#__PURE__*/React.createElement(Icon, {
|
1415
|
+
icon: "expand_more",
|
1416
|
+
clickable: true,
|
1417
|
+
size: "small",
|
1418
|
+
action: toggle
|
1419
|
+
}) : null, renderOptions());
|
1420
|
+
};
|
1421
|
+
var DateRange = function DateRange(props) {
|
1423
1422
|
var id = props.id,
|
1424
|
-
|
1425
|
-
label = _props$label === void 0 ? "Color" : _props$label,
|
1426
|
-
value = props.value,
|
1423
|
+
label = props.label,
|
1427
1424
|
onChange = props.onChange;
|
1428
1425
|
|
1429
|
-
|
1430
|
-
|
1431
|
-
|
1426
|
+
var _useState3 = useState({}),
|
1427
|
+
form = _useState3[0],
|
1428
|
+
setForm = _useState3[1];
|
1429
|
+
|
1430
|
+
useEffect(function () {
|
1431
|
+
if (onChange) onChange(id, form);
|
1432
|
+
}, [form]);
|
1433
|
+
|
1434
|
+
function change(id, value) {
|
1435
|
+
var _Object$assign;
|
1436
|
+
|
1437
|
+
var next = Object.assign({}, form, (_Object$assign = {}, _Object$assign[id] = value, _Object$assign));
|
1438
|
+
setForm(next);
|
1432
1439
|
}
|
1433
1440
|
|
1434
1441
|
return /*#__PURE__*/React.createElement("div", {
|
1435
|
-
className: "
|
1436
|
-
}, /*#__PURE__*/React.createElement("label", {
|
1437
|
-
|
1438
|
-
|
1439
|
-
|
1440
|
-
|
1441
|
-
onChange: change
|
1442
|
-
|
1442
|
+
className: "date-range"
|
1443
|
+
}, label ? /*#__PURE__*/React.createElement("label", null, label) : null, /*#__PURE__*/React.createElement(TextField, {
|
1444
|
+
id: "from",
|
1445
|
+
type: "date",
|
1446
|
+
label: "From",
|
1447
|
+
value: form.from,
|
1448
|
+
onChange: change
|
1449
|
+
}), /*#__PURE__*/React.createElement(TextField, {
|
1450
|
+
id: "to",
|
1451
|
+
type: "date",
|
1452
|
+
label: "To",
|
1453
|
+
value: form.to,
|
1454
|
+
onChange: change
|
1443
1455
|
}));
|
1444
1456
|
};
|
1445
1457
|
|
@@ -1466,17 +1478,31 @@ var DataTable = function DataTable(props) {
|
|
1466
1478
|
className = props.className;
|
1467
1479
|
|
1468
1480
|
var _useState = useState({}),
|
1469
|
-
sortDir = _useState[0]
|
1481
|
+
sortDir = _useState[0],
|
1482
|
+
setSortDir = _useState[1];
|
1470
1483
|
|
1471
1484
|
var _useState2 = useState(false),
|
1472
1485
|
allChecked = _useState2[0],
|
1473
1486
|
setAllChecked = _useState2[1];
|
1474
1487
|
|
1488
|
+
useEffect(function () {
|
1489
|
+
console.log(sortDir);
|
1490
|
+
}, [sortDir]);
|
1491
|
+
|
1492
|
+
function changeSort(id) {
|
1493
|
+
var _Object$assign;
|
1494
|
+
|
1495
|
+
var nextDir = sortDir[id] ? sortDir[id] * -1 : 1;
|
1496
|
+
var next = Object.assign({}, sortDir, (_Object$assign = {}, _Object$assign[id] = nextDir, _Object$assign));
|
1497
|
+
setSortDir(next);
|
1498
|
+
}
|
1499
|
+
|
1475
1500
|
function multiSort(array, sortObject) {
|
1476
1501
|
if (sortObject === void 0) {
|
1477
1502
|
sortObject = {};
|
1478
1503
|
}
|
1479
1504
|
|
1505
|
+
console.log('multisort', sortObject);
|
1480
1506
|
var sortKeys = Object.keys(sortObject);
|
1481
1507
|
|
1482
1508
|
if (!sortKeys.length) {
|
@@ -1519,7 +1545,7 @@ var DataTable = function DataTable(props) {
|
|
1519
1545
|
}
|
1520
1546
|
}
|
1521
1547
|
|
1522
|
-
function
|
1548
|
+
function moveRow(dragged, dropped) {
|
1523
1549
|
if (onSort) onSort(dragged, dropped);
|
1524
1550
|
}
|
1525
1551
|
|
@@ -1541,7 +1567,7 @@ var DataTable = function DataTable(props) {
|
|
1541
1567
|
item = _ref.item,
|
1542
1568
|
sortable = _ref.sortable;
|
1543
1569
|
|
1544
|
-
var _ref2 = type === TYPES.ENTITY ? [1, Object.values(item).filter(function (v) {
|
1570
|
+
var _ref2 = type === TYPES$1.ENTITY ? [1, Object.values(item).filter(function (v) {
|
1545
1571
|
return v.column === true;
|
1546
1572
|
}).length] : [2, 1],
|
1547
1573
|
rowspan = _ref2[0],
|
@@ -1551,22 +1577,25 @@ var DataTable = function DataTable(props) {
|
|
1551
1577
|
key: id,
|
1552
1578
|
rowSpan: rowspan,
|
1553
1579
|
colSpan: colspan
|
1554
|
-
}, id === "checked" ? /*#__PURE__*/React.createElement(CheckBox, {
|
1580
|
+
}, /*#__PURE__*/React.createElement("div", null, id === "checked" ? /*#__PURE__*/React.createElement(CheckBox, {
|
1555
1581
|
onChange: checkAll,
|
1556
1582
|
value: allChecked
|
1557
1583
|
}) : /*#__PURE__*/React.createElement(Text, {
|
1558
1584
|
key: "th_" + id
|
1559
1585
|
}, label), sortable ? /*#__PURE__*/React.createElement(Icon, {
|
1560
|
-
icon: "
|
1586
|
+
icon: "expand_less",
|
1561
1587
|
size: "small",
|
1562
|
-
clickable: true
|
1563
|
-
|
1588
|
+
clickable: true,
|
1589
|
+
action: function action() {
|
1590
|
+
return changeSort(id);
|
1591
|
+
}
|
1592
|
+
}) : null));
|
1564
1593
|
}), /*#__PURE__*/React.createElement("th", {
|
1565
1594
|
rowSpan: 2,
|
1566
1595
|
colSpan: 1
|
1567
1596
|
})), /*#__PURE__*/React.createElement("tr", null, columns.filter(function (_ref3) {
|
1568
1597
|
var type = _ref3.type;
|
1569
|
-
return type === TYPES.ENTITY;
|
1598
|
+
return type === TYPES$1.ENTITY;
|
1570
1599
|
}).map(function (column) {
|
1571
1600
|
var item = column.item;
|
1572
1601
|
var fields = item ? Object.values(item) : [];
|
@@ -1581,7 +1610,7 @@ var DataTable = function DataTable(props) {
|
|
1581
1610
|
row: row,
|
1582
1611
|
columns: columns,
|
1583
1612
|
onSelect: select,
|
1584
|
-
onDrop:
|
1613
|
+
onDrop: moveRow,
|
1585
1614
|
editable: editable,
|
1586
1615
|
expanded: expanded
|
1587
1616
|
});
|
@@ -1779,7 +1808,7 @@ var DataTableCell = function DataTableCell(_ref4) {
|
|
1779
1808
|
}
|
1780
1809
|
};
|
1781
1810
|
|
1782
|
-
return column.type === TYPES.ENTITY ? /*#__PURE__*/React.createElement(EntityCellViewer, {
|
1811
|
+
return column.type === TYPES$1.ENTITY ? /*#__PURE__*/React.createElement(EntityCellViewer, {
|
1783
1812
|
id: column.id,
|
1784
1813
|
item: column.item,
|
1785
1814
|
value: cell
|
@@ -2584,7 +2613,7 @@ var Planner = function Planner(_ref) {
|
|
2584
2613
|
if (onSelectCell) onSelectCell(lane, date);
|
2585
2614
|
}
|
2586
2615
|
|
2587
|
-
var period = useMemo(function () {
|
2616
|
+
var period = useMemo$1(function () {
|
2588
2617
|
var start = ranges(from, "YYYY-MM-DD");
|
2589
2618
|
var end = ranges(to, "YYYY-MM-DD");
|
2590
2619
|
var range = ranges.range(start, end);
|
@@ -2935,7 +2964,7 @@ var Uploader = function Uploader(_ref) {
|
|
2935
2964
|
onSuccess = _ref.onSuccess,
|
2936
2965
|
onError = _ref.onError,
|
2937
2966
|
onComplete = _ref.onComplete;
|
2938
|
-
var resumable = useMemo(function () {
|
2967
|
+
var resumable = useMemo$1(function () {
|
2939
2968
|
var config = {
|
2940
2969
|
target: target,
|
2941
2970
|
chunkSize: 1 * 1024 * 1024,
|
@@ -3677,12 +3706,12 @@ var ContentFormField = function ContentFormField(props) {
|
|
3677
3706
|
var type = props.type;
|
3678
3707
|
|
3679
3708
|
switch (type) {
|
3680
|
-
case TYPES.BOOLEAN:
|
3709
|
+
case TYPES$1.BOOLEAN:
|
3681
3710
|
return /*#__PURE__*/React.createElement(CheckBox, _extends({
|
3682
3711
|
key: props.id
|
3683
3712
|
}, props));
|
3684
3713
|
|
3685
|
-
case TYPES.NUMBER:
|
3714
|
+
case TYPES$1.NUMBER:
|
3686
3715
|
return /*#__PURE__*/React.createElement(NumberField, _extends({
|
3687
3716
|
key: props.id
|
3688
3717
|
}, props));
|
@@ -3711,7 +3740,7 @@ var StringField = function StringField(_ref2) {
|
|
3711
3740
|
value = _ref2.value,
|
3712
3741
|
onChange = _ref2.onChange,
|
3713
3742
|
outlined = _ref2.outlined;
|
3714
|
-
var fieldTypes = (_fieldTypes = {}, _fieldTypes[TYPES.NUMBER] = 'number', _fieldTypes[TYPES.DATE] = 'date', _fieldTypes);
|
3743
|
+
var fieldTypes = (_fieldTypes = {}, _fieldTypes[TYPES$1.NUMBER] = 'number', _fieldTypes[TYPES$1.DATE] = 'date', _fieldTypes);
|
3715
3744
|
|
3716
3745
|
function buildOptions() {
|
3717
3746
|
var opts = typeof options === 'function' ? options() : options;
|
@@ -3780,6 +3809,30 @@ var NumberField = function NumberField(_ref3) {
|
|
3780
3809
|
});
|
3781
3810
|
};
|
3782
3811
|
|
3812
|
+
var ColorField = function ColorField(props) {
|
3813
|
+
var id = props.id,
|
3814
|
+
_props$label = props.label,
|
3815
|
+
label = _props$label === void 0 ? "Color" : _props$label,
|
3816
|
+
value = props.value,
|
3817
|
+
onChange = props.onChange;
|
3818
|
+
|
3819
|
+
function change(event) {
|
3820
|
+
var color = event.target.value;
|
3821
|
+
if (onChange) onChange(id, color);
|
3822
|
+
}
|
3823
|
+
|
3824
|
+
return /*#__PURE__*/React.createElement("div", {
|
3825
|
+
className: "color-field"
|
3826
|
+
}, /*#__PURE__*/React.createElement("label", {
|
3827
|
+
htmlFor: id
|
3828
|
+
}, label), /*#__PURE__*/React.createElement("input", {
|
3829
|
+
id: id,
|
3830
|
+
type: "color",
|
3831
|
+
onChange: change,
|
3832
|
+
value: value
|
3833
|
+
}));
|
3834
|
+
};
|
3835
|
+
|
3783
3836
|
/**
|
3784
3837
|
* Content Editor
|
3785
3838
|
*/
|
@@ -3920,7 +3973,7 @@ var TreededContentEditor = function TreededContentEditor(_ref3) {
|
|
3920
3973
|
onChange = _ref3.onChange;
|
3921
3974
|
var value = content.value();
|
3922
3975
|
var nodes = Object.values(content.type).filter(function (field) {
|
3923
|
-
return field.type === TYPES.ARRAY;
|
3976
|
+
return field.type === TYPES$1.ARRAY;
|
3924
3977
|
});
|
3925
3978
|
|
3926
3979
|
var _useState2 = useState(),
|
@@ -4007,14 +4060,14 @@ var FieldEditor = function FieldEditor(_ref4) {
|
|
4007
4060
|
return null;
|
4008
4061
|
} else {
|
4009
4062
|
switch (type) {
|
4010
|
-
case TYPES.ENTITY:
|
4063
|
+
case TYPES$1.ENTITY:
|
4011
4064
|
return /*#__PURE__*/React.createElement(EntityEditor, {
|
4012
4065
|
field: field,
|
4013
4066
|
value: value1,
|
4014
4067
|
onChange: change
|
4015
4068
|
});
|
4016
4069
|
|
4017
|
-
case TYPES.STRING:
|
4070
|
+
case TYPES$1.STRING:
|
4018
4071
|
return /*#__PURE__*/React.createElement(StringEditor, {
|
4019
4072
|
outlined: outlined,
|
4020
4073
|
field: field,
|
@@ -4023,7 +4076,7 @@ var FieldEditor = function FieldEditor(_ref4) {
|
|
4023
4076
|
content: content
|
4024
4077
|
});
|
4025
4078
|
|
4026
|
-
case TYPES.BOOLEAN:
|
4079
|
+
case TYPES$1.BOOLEAN:
|
4027
4080
|
return /*#__PURE__*/React.createElement(CheckBox, {
|
4028
4081
|
outlined: true,
|
4029
4082
|
id: id,
|
@@ -4032,7 +4085,7 @@ var FieldEditor = function FieldEditor(_ref4) {
|
|
4032
4085
|
onChange: change
|
4033
4086
|
});
|
4034
4087
|
|
4035
|
-
case TYPES.NUMBER:
|
4088
|
+
case TYPES$1.NUMBER:
|
4036
4089
|
return /*#__PURE__*/React.createElement(NumberEditor, {
|
4037
4090
|
outlined: outlined,
|
4038
4091
|
field: field,
|
@@ -4040,8 +4093,8 @@ var FieldEditor = function FieldEditor(_ref4) {
|
|
4040
4093
|
onChange: change
|
4041
4094
|
});
|
4042
4095
|
|
4043
|
-
case TYPES.ARRAY:
|
4044
|
-
return item === TYPES.STRING ? options ? /*#__PURE__*/React.createElement(MultiSelectionEditor, {
|
4096
|
+
case TYPES$1.ARRAY:
|
4097
|
+
return item === TYPES$1.STRING ? options ? /*#__PURE__*/React.createElement(MultiSelectionEditor, {
|
4045
4098
|
content: content,
|
4046
4099
|
field: field,
|
4047
4100
|
value: value1,
|
@@ -4828,17 +4881,70 @@ var CollectionPage = function CollectionPage(props) {
|
|
4828
4881
|
delay: delay
|
4829
4882
|
}), children ? /*#__PURE__*/React.createElement("article", null, children) : null));
|
4830
4883
|
};
|
4831
|
-
|
4832
4884
|
var CollectionFilters = function CollectionFilters(props) {
|
4833
|
-
|
4834
|
-
|
4835
|
-
|
4885
|
+
var change = function change(next) {
|
4886
|
+
try {
|
4887
|
+
setForm(next);
|
4888
|
+
return Promise.resolve();
|
4889
|
+
} catch (e) {
|
4890
|
+
return Promise.reject(e);
|
4891
|
+
}
|
4892
|
+
};
|
4893
|
+
|
4894
|
+
var schema = props.schema,
|
4895
|
+
onChange = props.onChange;
|
4896
|
+
|
4897
|
+
var _useState = useState({}),
|
4898
|
+
form = _useState[0],
|
4899
|
+
setForm = _useState[1];
|
4900
|
+
|
4901
|
+
var filterSchema = useMemo(function () {
|
4902
|
+
var filterSchema = Object.assign({}, schema);
|
4903
|
+
|
4904
|
+
for (var key in filterSchema) {
|
4905
|
+
if (filterSchema[key].filter === false) {
|
4906
|
+
delete filterSchema[key];
|
4907
|
+
} else {
|
4908
|
+
if (filterSchema[key].type === TYPES.ENTITY) {
|
4909
|
+
var fs = filterSchema[key].item;
|
4910
|
+
|
4911
|
+
for (var key in fs) {
|
4912
|
+
if (fs[key].filter === false) delete fs[key];
|
4913
|
+
}
|
4914
|
+
}
|
4915
|
+
}
|
4916
|
+
}
|
4917
|
+
|
4918
|
+
return filterSchema;
|
4919
|
+
}, [schema]);
|
4920
|
+
useEffect(function () {
|
4921
|
+
if (onChange) onChange(form);
|
4922
|
+
}, [form]);
|
4923
|
+
|
4924
|
+
function clear() {
|
4925
|
+
change({});
|
4926
|
+
}
|
4927
|
+
|
4928
|
+
var content = new Content(filterSchema, form);
|
4929
|
+
return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(Header, {
|
4930
|
+
className: "table-filters",
|
4931
|
+
title: /*#__PURE__*/React.createElement(Text, null, "Filters")
|
4932
|
+
}, /*#__PURE__*/React.createElement(Icon, {
|
4933
|
+
icon: "filter_list_off",
|
4934
|
+
size: "small",
|
4935
|
+
clickable: true,
|
4936
|
+
action: clear
|
4937
|
+
})), /*#__PURE__*/React.createElement("main", {
|
4938
|
+
className: "table-filters"
|
4939
|
+
}, /*#__PURE__*/React.createElement(ContentEditor, {
|
4940
|
+
content: content,
|
4941
|
+
onChange: change
|
4942
|
+
})));
|
4836
4943
|
};
|
4837
4944
|
/**
|
4838
4945
|
* Collection List
|
4839
4946
|
*/
|
4840
4947
|
|
4841
|
-
|
4842
4948
|
var CollectionList = function CollectionList(props) {
|
4843
4949
|
var select = function select(id) {
|
4844
4950
|
try {
|
@@ -5008,9 +5114,9 @@ var CollectionEditor = function CollectionEditor(props) {
|
|
5008
5114
|
delay = _props$delay2 === void 0 ? 1000 : _props$delay2;
|
5009
5115
|
var timer = useRef(null);
|
5010
5116
|
|
5011
|
-
var
|
5012
|
-
form =
|
5013
|
-
setForm =
|
5117
|
+
var _useState2 = useState(selected),
|
5118
|
+
form = _useState2[0],
|
5119
|
+
setForm = _useState2[1];
|
5014
5120
|
|
5015
5121
|
useEffect(function () {
|
5016
5122
|
setForm(selected);
|
@@ -5338,19 +5444,19 @@ var FieldViewer = function FieldViewer(props) {
|
|
5338
5444
|
if (optional && value === undefined) return null;
|
5339
5445
|
|
5340
5446
|
switch (type) {
|
5341
|
-
case TYPES.STRING:
|
5447
|
+
case TYPES$1.STRING:
|
5342
5448
|
return /*#__PURE__*/React.createElement(Property, {
|
5343
5449
|
label: label,
|
5344
5450
|
value: value
|
5345
5451
|
});
|
5346
5452
|
|
5347
|
-
case TYPES.ENTITY:
|
5453
|
+
case TYPES$1.ENTITY:
|
5348
5454
|
return /*#__PURE__*/React.createElement(EntityViewer, {
|
5349
5455
|
field: field,
|
5350
5456
|
value: value
|
5351
5457
|
});
|
5352
5458
|
|
5353
|
-
case TYPES.ARRAY:
|
5459
|
+
case TYPES$1.ARRAY:
|
5354
5460
|
return /*#__PURE__*/React.createElement(ArrayViewer, {
|
5355
5461
|
label: label,
|
5356
5462
|
item: item,
|
@@ -5415,12 +5521,12 @@ var ArrayViewer = function ArrayViewer(props) {
|
|
5415
5521
|
var QUERY = {
|
5416
5522
|
id: {
|
5417
5523
|
id: "id",
|
5418
|
-
type: TYPES.STRING,
|
5524
|
+
type: TYPES$1.STRING,
|
5419
5525
|
editable: false
|
5420
5526
|
},
|
5421
5527
|
name: {
|
5422
5528
|
id: "name",
|
5423
|
-
type: TYPES.STRING,
|
5529
|
+
type: TYPES$1.STRING,
|
5424
5530
|
required: true,
|
5425
5531
|
label: "Name"
|
5426
5532
|
}
|
@@ -5913,14 +6019,14 @@ var TableFilters$1 = function TableFilters(props) {
|
|
5913
6019
|
form = _useState3[0],
|
5914
6020
|
setForm = _useState3[1];
|
5915
6021
|
|
5916
|
-
var filterSchema = useMemo(function () {
|
6022
|
+
var filterSchema = useMemo$1(function () {
|
5917
6023
|
var filterSchema = Object.assign({}, schema);
|
5918
6024
|
|
5919
6025
|
for (var key in filterSchema) {
|
5920
6026
|
if (filterSchema[key].filter === false) {
|
5921
6027
|
delete filterSchema[key];
|
5922
6028
|
} else {
|
5923
|
-
if (filterSchema[key].type === TYPES.ENTITY) {
|
6029
|
+
if (filterSchema[key].type === TYPES$1.ENTITY) {
|
5924
6030
|
var fs = filterSchema[key].item;
|
5925
6031
|
|
5926
6032
|
for (var key in fs) {
|
@@ -6981,14 +7087,14 @@ var TableFilters = function TableFilters(props) {
|
|
6981
7087
|
form = _useState4[0],
|
6982
7088
|
setForm = _useState4[1];
|
6983
7089
|
|
6984
|
-
var filterSchema = useMemo(function () {
|
7090
|
+
var filterSchema = useMemo$1(function () {
|
6985
7091
|
var filterSchema = Object.assign({}, schema);
|
6986
7092
|
|
6987
7093
|
for (var key in filterSchema) {
|
6988
7094
|
if (filterSchema[key].filter === false) {
|
6989
7095
|
delete filterSchema[key];
|
6990
7096
|
} else {
|
6991
|
-
if (filterSchema[key].type === TYPES.ENTITY) {
|
7097
|
+
if (filterSchema[key].type === TYPES$1.ENTITY) {
|
6992
7098
|
var fs = filterSchema[key].item;
|
6993
7099
|
|
6994
7100
|
for (var key in fs) {
|
@@ -7002,7 +7108,7 @@ var TableFilters = function TableFilters(props) {
|
|
7002
7108
|
delete filterSchema.flows;
|
7003
7109
|
return filterSchema;
|
7004
7110
|
}, [schema]);
|
7005
|
-
var likes = useMemo(function () {
|
7111
|
+
var likes = useMemo$1(function () {
|
7006
7112
|
var fields = Object.values(schema);
|
7007
7113
|
return fields.reduce(function (likes, field) {
|
7008
7114
|
if (field.like === true) likes.push(field.id);
|
@@ -7539,5 +7645,5 @@ var isFunction = function isFunction(value) {
|
|
7539
7645
|
return value && (Object.prototype.toString.call(value) === "[object Function]" || "function" === typeof value || value instanceof Function);
|
7540
7646
|
};
|
7541
7647
|
|
7542
|
-
export { Avatar, Button, CheckBox, Chip, Chips, CircularProgress, CollectionContext, CollectionEditor$1 as CollectionEditor, CollectionPage, CollectionTree, Content, ContentEditor, ContentForm, CreateContentDialog, DataTable, Dialog, DropDown, EditContentDialog, FORMATS, FieldEditor, FileExplorer, FileIconsView, Form, HTTPClient, Header, Icon, Kanban, KanbanCard, KanbanColumn, LinearProgress, List, ListEditor, LoginBox, Menu, MenuIcon, MenuItem, MenuSeparator, Page, PageContext, PageProvider, Planner, Property, RadioButton, ResetPasswordBox, Section, Session, Site, SiteContext, SiteProvider, Stack, Switch, TEXTFORMATS, TYPES, Tab, TabbedContentEditor, TabbedTablePage, TableEditor$1 as TableEditor, TablePage, Tabs, Text, TextArea, TextField, Thumbnail, TokenField, Tooltip, Tree, TreeItem, TreeNode, TreededContentEditor, UploadArea, UploadDialog, UploadFile, UploadIcon, Uploader, View, Viewer, WaitScreen, isFunction };
|
7648
|
+
export { Avatar, Button, CheckBox, Chip, Chips, CircularProgress, CollectionContext, CollectionEditor$1 as CollectionEditor, CollectionFilters, CollectionPage, CollectionTree, Content, ContentEditor, ContentForm, CreateContentDialog, DataTable, Dialog, DropDown, EditContentDialog, FORMATS, FieldEditor, FileExplorer, FileIconsView, Form, HTTPClient, Header, Icon, Kanban, KanbanCard, KanbanColumn, LinearProgress, List, ListEditor, LoginBox, Menu, MenuIcon, MenuItem, MenuSeparator, Page, PageContext, PageProvider, Planner, Property, RadioButton, ResetPasswordBox, Section, Session, Site, SiteContext, SiteProvider, Stack, Switch, TEXTFORMATS, TYPES$1 as TYPES, Tab, TabbedContentEditor, TabbedTablePage, TableEditor$1 as TableEditor, TablePage, Tabs, Text, TextArea, TextField, Thumbnail, TokenField, Tooltip, Tree, TreeItem, TreeNode, TreededContentEditor, UploadArea, UploadDialog, UploadFile, UploadIcon, Uploader, View, Viewer, WaitScreen, isFunction };
|
7543
7649
|
//# sourceMappingURL=index.modern.js.map
|