ywana-core8 0.0.580 → 0.0.583

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.
@@ -1,5 +1,5 @@
1
1
  import 'material-design-icons-iconfont/dist/material-design-icons.css';
2
- import React, { useState, useContext, useEffect, Fragment, useRef, useMemo, Children } from 'react';
2
+ import React, { useState, useEffect, useContext, Fragment, useRef, useMemo, Children } from 'react';
3
3
  import RSwitch from 'react-switch';
4
4
  import moment$1 from 'moment';
5
5
  import { extendMoment } from 'moment-range';
@@ -198,18 +198,25 @@ var Accordion = function Accordion(props) {
198
198
  sections = _props$sections === void 0 ? [] : _props$sections,
199
199
  onCheck = props.onCheck;
200
200
 
201
- var _useState = useState(sections.map(function (section) {
202
- return section.open;
203
- })),
201
+ var _useState = useState([]),
204
202
  openSections = _useState[0],
205
203
  setOpenSections = _useState[1];
206
204
 
207
- var _useState2 = useState(sections.map(function (section) {
208
- return section.checked;
209
- })),
205
+ var _useState2 = useState([]),
210
206
  checkedSections = _useState2[0],
211
207
  setCheckedSections = _useState2[1];
212
208
 
209
+ useEffect(function () {
210
+ var openSections = sections.map(function (section) {
211
+ return section.open;
212
+ });
213
+ var checkedSections = sections.map(function (section) {
214
+ return section.checked;
215
+ });
216
+ setOpenSections(openSections);
217
+ setCheckedSections(checkedSections);
218
+ }, [sections]);
219
+
213
220
  function toggle(index) {
214
221
  var next = openSections.map(function (open, i) {
215
222
  return i === index ? !open : open;
@@ -5143,6 +5150,130 @@ var TableEditor$3 = function TableEditor(props) {
5143
5150
  }, renderGroups()));
5144
5151
  };
5145
5152
 
5153
+ /**
5154
+ * Content Viewer
5155
+ *
5156
+ * @param {*} props
5157
+ * @returns
5158
+ */
5159
+
5160
+ var ContentViewer = function ContentViewer(props) {
5161
+ var content = props.content;
5162
+ if (!content) return /*#__PURE__*/React.createElement("div", null, "No Content...");
5163
+ var sections = content.sections();
5164
+ var value = content.value();
5165
+ return /*#__PURE__*/React.createElement("div", {
5166
+ className: "content-viewer"
5167
+ }, sections.map(function (section) {
5168
+ var title = section.title,
5169
+ fields = section.fields;
5170
+ return /*#__PURE__*/React.createElement("section", {
5171
+ key: title,
5172
+ className: "content-viewer"
5173
+ }, /*#__PURE__*/React.createElement("header", null, title), /*#__PURE__*/React.createElement("main", null, fields.map(function (field) {
5174
+ return /*#__PURE__*/React.createElement(FieldViewer, {
5175
+ key: field.id,
5176
+ field: field,
5177
+ value: value[field.id]
5178
+ });
5179
+ })));
5180
+ }));
5181
+ };
5182
+ /**
5183
+ * Field Viewer
5184
+ *
5185
+ * @param {} props
5186
+ * @returns
5187
+ */
5188
+
5189
+ var FieldViewer = function FieldViewer(props) {
5190
+ var field = props.field,
5191
+ value = props.value;
5192
+ var type = field.type,
5193
+ item = field.item,
5194
+ label = field.label,
5195
+ _field$visible = field.visible,
5196
+ visible = _field$visible === void 0 ? true : _field$visible,
5197
+ optional = field.optional;
5198
+ if (!visible) return null;
5199
+ if (optional && value === undefined) return null;
5200
+
5201
+ switch (type) {
5202
+ case TYPES.STRING:
5203
+ return /*#__PURE__*/React.createElement(Property, {
5204
+ label: label,
5205
+ value: value,
5206
+ options: field.options
5207
+ });
5208
+
5209
+ case TYPES.ENTITY:
5210
+ return /*#__PURE__*/React.createElement(EntityViewer, {
5211
+ field: field,
5212
+ value: value
5213
+ });
5214
+
5215
+ case TYPES.ARRAY:
5216
+ return /*#__PURE__*/React.createElement(ArrayViewer, {
5217
+ label: label,
5218
+ item: item,
5219
+ value: value
5220
+ });
5221
+
5222
+ default:
5223
+ return /*#__PURE__*/React.createElement("div", null, label);
5224
+ }
5225
+ };
5226
+ /**
5227
+ * EntityViewer
5228
+ */
5229
+
5230
+
5231
+ var EntityViewer = function EntityViewer(props) {
5232
+ var field = props.field,
5233
+ value = props.value;
5234
+ var item = field.item,
5235
+ label = field.label;
5236
+ var content = new Content(item, value);
5237
+ var form = content.form();
5238
+ var fields = Object.keys(form).map(function (key) {
5239
+ return form[key];
5240
+ });
5241
+ return /*#__PURE__*/React.createElement("div", {
5242
+ className: "entity-viewer"
5243
+ }, /*#__PURE__*/React.createElement("header", null, label), /*#__PURE__*/React.createElement("main", null, fields.map(function (field) {
5244
+ return /*#__PURE__*/React.createElement(FieldViewer, {
5245
+ field: field,
5246
+ value: value[field.id]
5247
+ });
5248
+ })));
5249
+ };
5250
+ /**
5251
+ * Array Viewer
5252
+ */
5253
+
5254
+
5255
+ var ArrayViewer = function ArrayViewer(props) {
5256
+ var label = props.label,
5257
+ item = props.item,
5258
+ value = props.value;
5259
+ var columns = Object.keys(item).map(function (key) {
5260
+ return item[key]["label"];
5261
+ });
5262
+ return /*#__PURE__*/React.createElement("div", {
5263
+ className: "array-viewer"
5264
+ }, /*#__PURE__*/React.createElement("header", null, label), /*#__PURE__*/React.createElement("table", null, /*#__PURE__*/React.createElement("thead", null, columns.map(function (column) {
5265
+ return /*#__PURE__*/React.createElement("th", {
5266
+ key: column
5267
+ }, column);
5268
+ })), /*#__PURE__*/React.createElement("tbody", null, value.map(function (v) {
5269
+ return /*#__PURE__*/React.createElement("tr", null, Object.keys(item).map(function (key) {
5270
+ return /*#__PURE__*/React.createElement("td", {
5271
+ key: v[key]
5272
+ }, v[key]);
5273
+ }));
5274
+ }))));
5275
+ };
5276
+
5146
5277
  /**
5147
5278
  * Create Content Dialog
5148
5279
  */
@@ -5734,14 +5865,16 @@ var CollectionTree = function CollectionTree(props) {
5734
5865
  open: true
5735
5866
  }, node.nodes ? renderNodes(node.nodes) : node.items.map(function (item) {
5736
5867
  var selected = pageContext.selected && item.id === pageContext.selected.id;
5868
+ var actions = [];
5737
5869
  return /*#__PURE__*/React.createElement(TreeItem, {
5738
5870
  icon: icon,
5739
5871
  key: item.id,
5740
5872
  id: item.id,
5741
5873
  label: item.name,
5742
5874
  onSelect: select,
5743
- selected: selected
5744
- }, "item");
5875
+ selected: selected,
5876
+ actions: actions
5877
+ });
5745
5878
  }));
5746
5879
  });
5747
5880
  }
@@ -6111,130 +6244,6 @@ var CollectionAPI = function CollectionAPI(url, host) {
6111
6244
  };
6112
6245
  };
6113
6246
 
6114
- /**
6115
- * Content Viewer
6116
- *
6117
- * @param {*} props
6118
- * @returns
6119
- */
6120
-
6121
- var ContentViewer = function ContentViewer(props) {
6122
- var content = props.content;
6123
- if (!content) return /*#__PURE__*/React.createElement("div", null, "No Content...");
6124
- var sections = content.sections();
6125
- var value = content.value();
6126
- return /*#__PURE__*/React.createElement("div", {
6127
- className: "content-viewer"
6128
- }, sections.map(function (section) {
6129
- var title = section.title,
6130
- fields = section.fields;
6131
- return /*#__PURE__*/React.createElement("section", {
6132
- key: title,
6133
- className: "content-viewer"
6134
- }, /*#__PURE__*/React.createElement("header", null, title), /*#__PURE__*/React.createElement("main", null, fields.map(function (field) {
6135
- return /*#__PURE__*/React.createElement(FieldViewer, {
6136
- key: field.id,
6137
- field: field,
6138
- value: value[field.id]
6139
- });
6140
- })));
6141
- }));
6142
- };
6143
- /**
6144
- * Field Viewer
6145
- *
6146
- * @param {} props
6147
- * @returns
6148
- */
6149
-
6150
- var FieldViewer = function FieldViewer(props) {
6151
- var field = props.field,
6152
- value = props.value;
6153
- var type = field.type,
6154
- item = field.item,
6155
- label = field.label,
6156
- _field$visible = field.visible,
6157
- visible = _field$visible === void 0 ? true : _field$visible,
6158
- optional = field.optional;
6159
- if (!visible) return null;
6160
- if (optional && value === undefined) return null;
6161
-
6162
- switch (type) {
6163
- case TYPES.STRING:
6164
- return /*#__PURE__*/React.createElement(Property, {
6165
- label: label,
6166
- value: value,
6167
- options: field.options
6168
- });
6169
-
6170
- case TYPES.ENTITY:
6171
- return /*#__PURE__*/React.createElement(EntityViewer, {
6172
- field: field,
6173
- value: value
6174
- });
6175
-
6176
- case TYPES.ARRAY:
6177
- return /*#__PURE__*/React.createElement(ArrayViewer, {
6178
- label: label,
6179
- item: item,
6180
- value: value
6181
- });
6182
-
6183
- default:
6184
- return /*#__PURE__*/React.createElement("div", null, label);
6185
- }
6186
- };
6187
- /**
6188
- * EntityViewer
6189
- */
6190
-
6191
-
6192
- var EntityViewer = function EntityViewer(props) {
6193
- var field = props.field,
6194
- value = props.value;
6195
- var item = field.item,
6196
- label = field.label;
6197
- var content = new Content(item, value);
6198
- var form = content.form();
6199
- var fields = Object.keys(form).map(function (key) {
6200
- return form[key];
6201
- });
6202
- return /*#__PURE__*/React.createElement("div", {
6203
- className: "entity-viewer"
6204
- }, /*#__PURE__*/React.createElement("header", null, label), /*#__PURE__*/React.createElement("main", null, fields.map(function (field) {
6205
- return /*#__PURE__*/React.createElement(FieldViewer, {
6206
- field: field,
6207
- value: value[field.id]
6208
- });
6209
- })));
6210
- };
6211
- /**
6212
- * Array Viewer
6213
- */
6214
-
6215
-
6216
- var ArrayViewer = function ArrayViewer(props) {
6217
- var label = props.label,
6218
- item = props.item,
6219
- value = props.value;
6220
- var columns = Object.keys(item).map(function (key) {
6221
- return item[key]["label"];
6222
- });
6223
- return /*#__PURE__*/React.createElement("div", {
6224
- className: "array-viewer"
6225
- }, /*#__PURE__*/React.createElement("header", null, label), /*#__PURE__*/React.createElement("table", null, /*#__PURE__*/React.createElement("thead", null, columns.map(function (column) {
6226
- return /*#__PURE__*/React.createElement("th", {
6227
- key: column
6228
- }, column);
6229
- })), /*#__PURE__*/React.createElement("tbody", null, value.map(function (v) {
6230
- return /*#__PURE__*/React.createElement("tr", null, Object.keys(item).map(function (key) {
6231
- return /*#__PURE__*/React.createElement("td", {
6232
- key: v[key]
6233
- }, v[key]);
6234
- }));
6235
- }))));
6236
- };
6237
-
6238
6247
  var QUERY = {
6239
6248
  id: {
6240
6249
  id: "id",
@@ -6710,7 +6719,7 @@ var TableQueries$2 = function TableQueries(props) {
6710
6719
  var TableFilters$2 = function TableFilters(props) {
6711
6720
  var reload = function reload() {
6712
6721
  try {
6713
- return Promise.resolve(pageContext.load(form)).then(function () {
6722
+ return Promise.resolve(pageContext.load(form, likes)).then(function () {
6714
6723
  setPageContext(Object.assign({}, pageContext));
6715
6724
  });
6716
6725
  } catch (e) {
@@ -6760,6 +6769,13 @@ var TableFilters$2 = function TableFilters(props) {
6760
6769
  delete filterSchema.flows;
6761
6770
  return filterSchema;
6762
6771
  }, [schema]);
6772
+ var likes = useMemo(function () {
6773
+ var fields = Object.values(schema);
6774
+ return fields.reduce(function (likes, field) {
6775
+ if (field.like === true) likes.push(field.id);
6776
+ return likes;
6777
+ }, []);
6778
+ }, [schema]);
6763
6779
  useEffect(function () {
6764
6780
  if (filters) setForm(filters);
6765
6781
  }, [filters]);
@@ -7043,7 +7059,11 @@ var TableContext$2 = function TableContext(url, field, host, urlQuery, params) {
7043
7059
  selected: null,
7044
7060
  filters: {},
7045
7061
  queries: [],
7046
- load: function load(filter) {
7062
+ load: function load(filter, like) {
7063
+ if (like === void 0) {
7064
+ like = [];
7065
+ }
7066
+
7047
7067
  try {
7048
7068
  var _this2 = this;
7049
7069
 
@@ -7064,7 +7084,7 @@ var TableContext$2 = function TableContext(url, field, host, urlQuery, params) {
7064
7084
 
7065
7085
  return filters;
7066
7086
  }, {}) : [];
7067
- return Promise.resolve(API.all(filters)).then(function (data) {
7087
+ return Promise.resolve(API.all(filters, like)).then(function (data) {
7068
7088
  _this2.all = field ? data[field] : data;
7069
7089
  });
7070
7090
  }, function (error) {
@@ -7224,7 +7244,11 @@ var TableAPI$2 = function TableAPI(url, host, params) {
7224
7244
 
7225
7245
  var http = HTTPClient(host || window.API || process.env.REACT_APP_API, Session);
7226
7246
  return {
7227
- all: function all(filters) {
7247
+ all: function all(filters, like) {
7248
+ if (like === void 0) {
7249
+ like = [];
7250
+ }
7251
+
7228
7252
  var queryParams = "?" + params;
7229
7253
 
7230
7254
  if (filters) {
@@ -7240,7 +7264,7 @@ var TableAPI$2 = function TableAPI(url, host, params) {
7240
7264
  }, "");
7241
7265
  return query.concat(param);
7242
7266
  } else {
7243
- return query.concat(key + "=%" + filters[key] + "%&");
7267
+ return like.includes(key) ? query.concat(key + "=%" + filters[key] + "%&") : query.concat(key + "=" + filters[key] + "&");
7244
7268
  }
7245
7269
  }, "");
7246
7270
  queryParams = queryParams.concat(filterQuery);
@@ -9414,5 +9438,5 @@ var isFunction = function isFunction(value) {
9414
9438
  return value && (Object.prototype.toString.call(value) === "[object Function]" || "function" === typeof value || value instanceof Function);
9415
9439
  };
9416
9440
 
9417
- export { Accordion, Avatar, Button, Calendar, 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, Tab, TabbedContentEditor, TabbedTablePage, TabbedView, TableEditor$2 as TableEditor, TablePage, TablePage2, Tabs, Text, TextArea, TextField, Thumbnail, TokenField, Tooltip, Tree, TreeItem, TreeNode, TreededContentEditor, UploadArea, UploadDialog, UploadFile, UploadIcon, Uploader, View, Viewer, WaitScreen, isFunction };
9441
+ export { Accordion, Avatar, Button, Calendar, CheckBox, Chip, Chips, CircularProgress, CollectionContext, CollectionEditor$1 as CollectionEditor, CollectionFilters, CollectionPage, CollectionTree, Content, ContentEditor, ContentForm, ContentViewer, 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, TabbedView, TableEditor$2 as TableEditor, TablePage, TablePage2, Tabs, Text, TextArea, TextField, Thumbnail, TokenField, Tooltip, Tree, TreeItem, TreeNode, TreededContentEditor, UploadArea, UploadDialog, UploadFile, UploadIcon, Uploader, View, Viewer, WaitScreen, isFunction };
9418
9442
  //# sourceMappingURL=index.modern.js.map