ywana-core8 0.0.271 → 0.0.274

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.
@@ -3,9 +3,10 @@ import React, { useContext, useState, useEffect, Fragment, useRef, useMemo, Chil
3
3
  import RSwitch from 'react-switch';
4
4
  import moment from 'moment';
5
5
  import { extendMoment } from 'moment-range';
6
- import 'react-notifications/lib/notifications.css';
7
- import equal from 'deep-equal';
8
6
  import ResumableJS from 'resumablejs';
7
+ import { ReactNotifications, Store } from 'react-notifications-component';
8
+ import 'react-notifications-component/dist/theme.css';
9
+ import equal from 'deep-equal';
9
10
 
10
11
  function _catch$2(body, recover) {
11
12
  try {
@@ -168,7 +169,7 @@ var Icon = function Icon(_ref) {
168
169
  * HTML Button
169
170
  */
170
171
 
171
- var Button$1 = function Button(_ref) {
172
+ var Button = function Button(_ref) {
172
173
  var label = _ref.label,
173
174
  icon = _ref.icon,
174
175
  action = _ref.action,
@@ -219,7 +220,8 @@ var TEXTFORMATS = {
219
220
 
220
221
  var Text$1 = function Text(_ref) {
221
222
  var format = _ref.format,
222
- children = _ref.children;
223
+ children = _ref.children,
224
+ className = _ref.className;
223
225
  var site = useContext(SiteContext);
224
226
  var value = children;
225
227
 
@@ -240,7 +242,9 @@ var Text$1 = function Text(_ref) {
240
242
  break;
241
243
  }
242
244
 
243
- return children ? /*#__PURE__*/React.createElement("span", null, value) : '';
245
+ return children ? /*#__PURE__*/React.createElement("span", {
246
+ className: className
247
+ }, value) : '';
244
248
  };
245
249
 
246
250
  /**
@@ -2108,7 +2112,7 @@ var LoginBox = function LoginBox(_ref) {
2108
2112
  onEnter: ok,
2109
2113
  type: "password",
2110
2114
  outlined: true
2111
- })), /*#__PURE__*/React.createElement("footer", null, onForgot ? /*#__PURE__*/React.createElement(Button$1, {
2115
+ })), /*#__PURE__*/React.createElement("footer", null, onForgot ? /*#__PURE__*/React.createElement(Button, {
2112
2116
  label: tx(forgotLabel),
2113
2117
  action: forgot,
2114
2118
  disabled: !canForgot()
@@ -2116,7 +2120,7 @@ var LoginBox = function LoginBox(_ref) {
2116
2120
  className: "load-box"
2117
2121
  }, /*#__PURE__*/React.createElement(Icon, {
2118
2122
  icon: "refresh"
2119
- })) : /*#__PURE__*/React.createElement(Button$1, {
2123
+ })) : /*#__PURE__*/React.createElement(Button, {
2120
2124
  label: tx(loginLabel),
2121
2125
  action: ok,
2122
2126
  disabled: !canOK(),
@@ -2199,10 +2203,10 @@ var ResetPasswordBox = function ResetPasswordBox(_ref) {
2199
2203
  onEnter: ok
2200
2204
  }), error ? /*#__PURE__*/React.createElement("div", {
2201
2205
  className: "error"
2202
- }, error) : null), /*#__PURE__*/React.createElement("footer", null, /*#__PURE__*/React.createElement(Button$1, {
2206
+ }, error) : null), /*#__PURE__*/React.createElement("footer", null, /*#__PURE__*/React.createElement(Button, {
2203
2207
  label: "Close",
2204
2208
  action: close
2205
- }), /*#__PURE__*/React.createElement(Button$1, {
2209
+ }), /*#__PURE__*/React.createElement(Button, {
2206
2210
  label: "OK",
2207
2211
  raised: true,
2208
2212
  disabled: !canOK(),
@@ -2656,6 +2660,204 @@ var EventCard = function EventCard(props) {
2656
2660
  }, title);
2657
2661
  };
2658
2662
 
2663
+ /**
2664
+ * Upload Area
2665
+ */
2666
+
2667
+ var UploadArea = function UploadArea(props) {
2668
+ var icon = props.icon,
2669
+ _props$label = props.label,
2670
+ label = _props$label === void 0 ? 'Add file or drop file here...' : _props$label;
2671
+ var areaElement = useRef();
2672
+
2673
+ var _useState = useState(false),
2674
+ drag = _useState[0],
2675
+ setDrag = _useState[1];
2676
+
2677
+ useEffect(function () {
2678
+ var resumable = props.resumable;
2679
+ if (resumable && areaElement) resumable.assignDrop(areaElement.current);
2680
+ }, []);
2681
+
2682
+ var onDragOver = function onDragOver() {
2683
+ setDrag(true);
2684
+ };
2685
+
2686
+ var onDragLeave = function onDragLeave() {
2687
+ setDrag(false);
2688
+ };
2689
+
2690
+ var dragging = drag === true ? 'drag-over' : '';
2691
+ return /*#__PURE__*/React.createElement("div", {
2692
+ className: "upload-area6 " + dragging,
2693
+ onDragOver: onDragOver,
2694
+ onDragLeave: onDragLeave,
2695
+ ref: areaElement
2696
+ }, /*#__PURE__*/React.createElement(UploadIcon, {
2697
+ icon: icon,
2698
+ resumable: props.resumable
2699
+ }), /*#__PURE__*/React.createElement("label", null, label));
2700
+ };
2701
+ /**
2702
+ * Upload Icon
2703
+ */
2704
+
2705
+ var UploadIcon = function UploadIcon(_ref) {
2706
+ var _ref$icon = _ref.icon,
2707
+ icon = _ref$icon === void 0 ? "folder_open" : _ref$icon,
2708
+ resumable = _ref.resumable;
2709
+ var iconElement = useRef();
2710
+ useEffect(function () {
2711
+ if (resumable && iconElement) resumable.assignBrowse(iconElement.current);
2712
+ }, []);
2713
+ return /*#__PURE__*/React.createElement("div", {
2714
+ className: "upload-icon",
2715
+ ref: iconElement
2716
+ }, /*#__PURE__*/React.createElement(Icon, {
2717
+ icon: icon,
2718
+ clickable: true
2719
+ }));
2720
+ };
2721
+
2722
+ var UPLOAD_STATES = {
2723
+ IDLE: 0,
2724
+ RUNNING: 1,
2725
+ SUCCESS: 2,
2726
+ ERROR: 3,
2727
+ COMPLETED: 4
2728
+ };
2729
+
2730
+ /**
2731
+ * Upload File
2732
+ */
2733
+
2734
+ var UploadFile = function UploadFile(_ref) {
2735
+ var file = _ref.file;
2736
+ var icon = file.icon,
2737
+ name = file.name,
2738
+ state = file.state,
2739
+ progress = file.progress,
2740
+ error = file.error;
2741
+ return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement("div", {
2742
+ className: "upload-file"
2743
+ }, icon ? /*#__PURE__*/React.createElement(Icon, {
2744
+ icon: icon
2745
+ }) : null, /*#__PURE__*/React.createElement("label", null, name), state === UPLOAD_STATES.RUNNING ? /*#__PURE__*/React.createElement("main", null, /*#__PURE__*/React.createElement(LinearProgress, {
2746
+ progress: progress
2747
+ }), /*#__PURE__*/React.createElement(Icon, {
2748
+ icon: "close",
2749
+ clickable: true
2750
+ })) : '', state === UPLOAD_STATES.SUCCESS ? /*#__PURE__*/React.createElement("main", null, /*#__PURE__*/React.createElement(Icon, {
2751
+ icon: "done"
2752
+ })) : '', state === UPLOAD_STATES.ERROR ? /*#__PURE__*/React.createElement("main", null, /*#__PURE__*/React.createElement("div", {
2753
+ className: "error"
2754
+ }, error), /*#__PURE__*/React.createElement(Icon, {
2755
+ icon: "error"
2756
+ })) : ''));
2757
+ };
2758
+
2759
+ var UploadProgress = function UploadProgress(_ref) {
2760
+ var _ref$files = _ref.files,
2761
+ files = _ref$files === void 0 ? [] : _ref$files;
2762
+ return /*#__PURE__*/React.createElement("div", null, files.map(function (file) {
2763
+ var f = {
2764
+ icon: "description",
2765
+ name: file.fileName,
2766
+ progress: file.progress() * 100,
2767
+ state: file.uploadState,
2768
+ error: file.uploadError
2769
+ };
2770
+ return /*#__PURE__*/React.createElement(UploadFile, {
2771
+ key: f.name,
2772
+ file: f
2773
+ });
2774
+ }));
2775
+ };
2776
+
2777
+ /**
2778
+ * Uploader
2779
+ */
2780
+
2781
+ var Uploader = function Uploader(_ref) {
2782
+ var label = _ref.label,
2783
+ target = _ref.target,
2784
+ accept = _ref.accept,
2785
+ _ref$simultaneousUplo = _ref.simultaneousUploads,
2786
+ simultaneousUploads = _ref$simultaneousUplo === void 0 ? 1 : _ref$simultaneousUplo,
2787
+ className = _ref.className,
2788
+ onProgress = _ref.onProgress,
2789
+ onSuccess = _ref.onSuccess,
2790
+ onError = _ref.onError,
2791
+ onComplete = _ref.onComplete;
2792
+ var resumable = useMemo(function () {
2793
+ var config = {
2794
+ target: target,
2795
+ chunkSize: 1 * 1024 * 1024,
2796
+ simultaneousUploads: simultaneousUploads,
2797
+ testChunks: false,
2798
+ throttleProgressCallbacks: 1,
2799
+ fileType: accept
2800
+ };
2801
+ var resumable = new ResumableJS(config);
2802
+ resumable.on('fileAdded', onFileAdded);
2803
+ resumable.on('fileProgress', onFileProgress);
2804
+ resumable.on('fileSuccess', onFileSuccess);
2805
+ resumable.on('fileError', onFileError);
2806
+ resumable.on('complete', onAllComplete);
2807
+ return resumable;
2808
+ }, []);
2809
+
2810
+ var _useState = useState(0),
2811
+ setProgress = _useState[1];
2812
+
2813
+ var _useState2 = useState(UPLOAD_STATES.IDLE),
2814
+ state = _useState2[0],
2815
+ setState = _useState2[1];
2816
+
2817
+ var _useState3 = useState([]),
2818
+ files = _useState3[0],
2819
+ setFiles = _useState3[1];
2820
+
2821
+ function onFileAdded(file) {
2822
+ files.push(file);
2823
+ setFiles(files);
2824
+ setState(UPLOAD_STATES.RUNNING);
2825
+ resumable.upload();
2826
+ }
2827
+
2828
+ function onFileProgress(file) {
2829
+ file.uploadState = UPLOAD_STATES.RUNNING;
2830
+ var progress = file.progress();
2831
+ setProgress(progress);
2832
+ if (onProgress) onProgress(files);
2833
+ }
2834
+
2835
+ function onFileSuccess(file, message) {
2836
+ file.uploadState = UPLOAD_STATES.SUCCESS;
2837
+ if (onSuccess) onSuccess(file, message);
2838
+ }
2839
+
2840
+ function onFileError(file, message) {
2841
+ file.uploadState = UPLOAD_STATES.ERROR;
2842
+ file.uploadError = message;
2843
+ if (onError) onError(file, message);
2844
+ }
2845
+
2846
+ function onAllComplete() {
2847
+ setState(UPLOAD_STATES.COMPLETED);
2848
+ if (onComplete) onComplete(files);
2849
+ }
2850
+
2851
+ return /*#__PURE__*/React.createElement("div", {
2852
+ className: "uploader " + className
2853
+ }, state === UPLOAD_STATES.IDLE ? /*#__PURE__*/React.createElement(UploadArea, {
2854
+ resumable: resumable,
2855
+ label: label
2856
+ }) : /*#__PURE__*/React.createElement(UploadProgress, {
2857
+ files: files
2858
+ }));
2859
+ };
2860
+
2659
2861
  /**
2660
2862
  * Page Context
2661
2863
  */
@@ -2796,7 +2998,24 @@ var SiteProvider = function SiteProvider(_ref) {
2796
2998
  confirm: function confirm(message) {
2797
2999
  return window.confirm(message);
2798
3000
  },
2799
- notify: function notify(_ref2) {//NotificationManager.info(body, title)
3001
+ notify: function notify(_ref2) {
3002
+ var title = _ref2.title,
3003
+ body = _ref2.body,
3004
+ _ref2$type = _ref2.type,
3005
+ type = _ref2$type === void 0 ? "success" : _ref2$type;
3006
+ Store.addNotification({
3007
+ title: title,
3008
+ message: body,
3009
+ type: type,
3010
+ insert: "top",
3011
+ container: "top-right",
3012
+ animationIn: ["animate__animated", "animate__fadeIn"],
3013
+ animationOut: ["animate__animated", "animate__fadeOut"],
3014
+ dismiss: {
3015
+ duration: 3000,
3016
+ onScreen: true
3017
+ }
3018
+ });
2800
3019
  }
2801
3020
  };
2802
3021
  return /*#__PURE__*/React.createElement(SiteContext.Provider, {
@@ -2837,7 +3056,7 @@ var Site = function Site(_ref3) {
2837
3056
  };
2838
3057
 
2839
3058
  var SiteNotifications = function SiteNotifications() {
2840
- return /*#__PURE__*/React.createElement("div", null);
3059
+ return /*#__PURE__*/React.createElement(ReactNotifications, null);
2841
3060
  };
2842
3061
  /**
2843
3062
  * Site Header
@@ -3040,6 +3259,51 @@ var Dialog = function Dialog(props) {
3040
3259
  }) : null, /*#__PURE__*/React.createElement(Text$1, null, title)), /*#__PURE__*/React.createElement("main", null, children), /*#__PURE__*/React.createElement("footer", null, actions))));
3041
3260
  };
3042
3261
 
3262
+ /**
3263
+ * Upload Dialog
3264
+ */
3265
+
3266
+ var UploadDialog = function UploadDialog(_ref) {
3267
+ var label = _ref.label,
3268
+ target = _ref.target,
3269
+ accept = _ref.accept,
3270
+ onSuccess = _ref.onSuccess,
3271
+ onClose = _ref.onClose;
3272
+ var site = useContext(SiteContext);
3273
+
3274
+ function onComplete(uploads) {
3275
+ if (onSuccess) onSuccess(uploads);
3276
+ }
3277
+
3278
+ function onAction(action) {
3279
+ if (action === 'CLOSE') {
3280
+ site.closeDialog();
3281
+ onClose();
3282
+ }
3283
+ }
3284
+
3285
+ var actions = /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(Button, {
3286
+ label: "CLOSE",
3287
+ action: function action() {
3288
+ return onAction("CLOSE");
3289
+ }
3290
+ }));
3291
+ var title = /*#__PURE__*/React.createElement(Text$1, {
3292
+ use: "headline6"
3293
+ }, label);
3294
+ return /*#__PURE__*/React.createElement(Dialog, {
3295
+ title: title,
3296
+ open: true,
3297
+ onAction: onAction,
3298
+ actions: actions
3299
+ }, /*#__PURE__*/React.createElement(Uploader, {
3300
+ label: label,
3301
+ accept: accept,
3302
+ target: target,
3303
+ onComplete: onComplete
3304
+ }));
3305
+ };
3306
+
3043
3307
  /**
3044
3308
  * Content Form
3045
3309
  */
@@ -3832,7 +4096,7 @@ var CollectionAdder = function CollectionAdder(_ref11) {
3832
4096
  className: "collection-adder"
3833
4097
  }, edit ? /*#__PURE__*/React.createElement(DataTable, _extends({}, table, {
3834
4098
  editable: true
3835
- })) : /*#__PURE__*/React.createElement(Button$1, {
4099
+ })) : /*#__PURE__*/React.createElement(Button, {
3836
4100
  icon: "add",
3837
4101
  label: "A\xF1adir",
3838
4102
  action: toggle
@@ -3891,14 +4155,14 @@ var CreateContentDialog$1 = function CreateContentDialog(_ref) {
3891
4155
  return filter ? visible && filter(field, content) : visible;
3892
4156
  }
3893
4157
 
3894
- var actions = /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(Button$1, {
4158
+ var actions = /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(Button, {
3895
4159
  label: "CLOSE",
3896
4160
  action: function action() {
3897
4161
  return onAction("CLOSE");
3898
4162
  }
3899
4163
  }), /*#__PURE__*/React.createElement("div", {
3900
4164
  className: "expand"
3901
- }), /*#__PURE__*/React.createElement(Button$1, {
4165
+ }), /*#__PURE__*/React.createElement(Button, {
3902
4166
  label: "OK",
3903
4167
  action: function action() {
3904
4168
  return onAction("OK");
@@ -3980,14 +4244,14 @@ var EditContentDialog = function EditContentDialog(_ref) {
3980
4244
  return filter ? visible && filter(field, content) : visible;
3981
4245
  }
3982
4246
 
3983
- var actions = /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(Button$1, {
4247
+ var actions = /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(Button, {
3984
4248
  label: "CLOSE",
3985
4249
  action: function action() {
3986
4250
  return onAction("CLOSE");
3987
4251
  }
3988
4252
  }), /*#__PURE__*/React.createElement("div", {
3989
4253
  className: "expand"
3990
- }), /*#__PURE__*/React.createElement(Button$1, {
4254
+ }), /*#__PURE__*/React.createElement(Button, {
3991
4255
  label: "OK",
3992
4256
  action: function action() {
3993
4257
  return onAction("OK");
@@ -4075,12 +4339,12 @@ var CreateContentDialog = function CreateContentDialog(_ref) {
4075
4339
  return creation;
4076
4340
  }
4077
4341
 
4078
- var actions = /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(Button$1, {
4342
+ var actions = /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(Button, {
4079
4343
  label: "CLOSE",
4080
4344
  action: function action() {
4081
4345
  return onAction("CLOSE");
4082
4346
  }
4083
- }), /*#__PURE__*/React.createElement(Button$1, {
4347
+ }), /*#__PURE__*/React.createElement(Button, {
4084
4348
  label: "OK",
4085
4349
  action: function action() {
4086
4350
  return onAction("OK");
@@ -4211,11 +4475,11 @@ var CollectionPage = function CollectionPage(props) {
4211
4475
  return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(Header, {
4212
4476
  className: "collection-page",
4213
4477
  title: /*#__PURE__*/React.createElement(Text$1, null, title)
4214
- }, /*#__PURE__*/React.createElement(Button$1, {
4478
+ }, /*#__PURE__*/React.createElement(Button, {
4215
4479
  icon: "add",
4216
4480
  label: "Add",
4217
4481
  action: add
4218
- }), /*#__PURE__*/React.createElement(Button$1, {
4482
+ }), /*#__PURE__*/React.createElement(Button, {
4219
4483
  icon: "refresh",
4220
4484
  label: "Reload",
4221
4485
  action: reload
@@ -4479,7 +4743,7 @@ var CollectionEditor = function CollectionEditor(props) {
4479
4743
  }, /*#__PURE__*/React.createElement(Menu, null, /*#__PURE__*/React.createElement(MenuItem, {
4480
4744
  label: "Eliminar",
4481
4745
  onSelect: remove
4482
- }))), autosave === true ? null : /*#__PURE__*/React.createElement(Button$1, {
4746
+ }))), autosave === true ? null : /*#__PURE__*/React.createElement(Button, {
4483
4747
  icon: "save",
4484
4748
  label: "Guardar Cambios",
4485
4749
  raised: true,
@@ -4962,7 +5226,7 @@ var TablePage = function TablePage(props) {
4962
5226
  return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(Header, {
4963
5227
  className: "table-page",
4964
5228
  title: /*#__PURE__*/React.createElement(Text$1, null, title)
4965
- }, canAdd ? /*#__PURE__*/React.createElement(Button$1, {
5229
+ }, canAdd ? /*#__PURE__*/React.createElement(Button, {
4966
5230
  icon: "add",
4967
5231
  label: "A\xF1adir",
4968
5232
  action: add,
@@ -5053,7 +5317,7 @@ var TableSelector = function TableSelector(props) {
5053
5317
  var buttons = actions.map(function (_ref) {
5054
5318
  var label = _ref.label,
5055
5319
  _action = _ref.action;
5056
- return /*#__PURE__*/React.createElement(Button$1, {
5320
+ return /*#__PURE__*/React.createElement(Button, {
5057
5321
  label: label,
5058
5322
  raised: true,
5059
5323
  action: function action() {
@@ -5536,325 +5800,9 @@ var TableAPI = function TableAPI(url) {
5536
5800
  };
5537
5801
  };
5538
5802
 
5539
- /**
5540
- * Component
5541
- */
5542
-
5543
- var UploadArea = function UploadArea(props) {
5544
- var STATES = {
5545
- 'IDLE': 0,
5546
- 'RUNNING': 1,
5547
- 'SUCCESS': 2,
5548
- 'ERROR': 3
5549
- };
5550
- var areaElement = useRef();
5551
-
5552
- var _useState = useState(false),
5553
- drag = _useState[0],
5554
- setDrag = _useState[1];
5555
-
5556
- useEffect(function () {
5557
- var resumable = props.resumable;
5558
- if (resumable && areaElement) resumable.assignDrop(areaElement.current);
5559
- }, []);
5560
-
5561
- var onDragOver = function onDragOver() {
5562
- setDrag(true);
5563
- };
5564
-
5565
- var onDragLeave = function onDragLeave() {
5566
- setDrag(false);
5567
- };
5568
-
5569
- var _props$state = props.state,
5570
- state = _props$state === void 0 ? STATES.IDLE : _props$state,
5571
- _props$label = props.label,
5572
- label = _props$label === void 0 ? 'Add file or drop file here...' : _props$label,
5573
- error = props.error;
5574
- var dragging = drag === true ? 'drag-over' : '';
5575
- return /*#__PURE__*/React.createElement("div", {
5576
- className: "upload-area6 " + dragging,
5577
- onDragOver: onDragOver,
5578
- onDragLeave: onDragLeave,
5579
- ref: areaElement
5580
- }, state === STATES.IDLE ? /*#__PURE__*/React.createElement(UploadIcon, {
5581
- resumable: props.resumable
5582
- }) : '', state === STATES.IDLE ? /*#__PURE__*/React.createElement("label", null, label) : '', state === STATES.RUNNING ? /*#__PURE__*/React.createElement(CircularProgress, {
5583
- size: "xlarge"
5584
- }) : '', state === STATES.SUCCESS ? /*#__PURE__*/React.createElement(Icon, {
5585
- icon: "done_all"
5586
- }) : '', state === STATES.ERROR ? /*#__PURE__*/React.createElement(Text$1, {
5587
- use: "body1"
5588
- }, error) : '', props.children);
5589
- };
5590
- /**
5591
- * Component
5592
- */
5593
-
5594
- var UploadIcon = function UploadIcon(_ref) {
5595
- var resumable = _ref.resumable;
5596
- var iconElement = useRef();
5597
- useEffect(function () {
5598
- if (resumable && iconElement) resumable.assignBrowse(iconElement.current);
5599
- }, []);
5600
- return /*#__PURE__*/React.createElement("div", {
5601
- className: "upload-icon",
5602
- ref: iconElement
5603
- }, /*#__PURE__*/React.createElement(Icon, {
5604
- icon: "folder_open",
5605
- clickable: true
5606
- }));
5607
- };
5608
- /**
5609
- * Upload Button
5610
- */
5611
-
5612
-
5613
- function UploadButton(_ref2) {
5614
- var resumable = _ref2.resumable,
5615
- _ref2$icon = _ref2.icon,
5616
- icon = _ref2$icon === void 0 ? "file_upload" : _ref2$icon,
5617
- _ref2$label = _ref2.label,
5618
- label = _ref2$label === void 0 ? "Upload" : _ref2$label;
5619
- var buttonElement = useRef();
5620
- useEffect(function () {
5621
- if (resumable && buttonElement) resumable.assignBrowse(buttonElement.current);
5622
- }, []);
5623
- return /*#__PURE__*/React.createElement("div", {
5624
- className: "upload-button",
5625
- ref: buttonElement
5626
- }, /*#__PURE__*/React.createElement(Button, {
5627
- icon: icon,
5628
- label: label,
5629
- outlined: true
5630
- }));
5631
- }
5632
-
5633
- /**
5634
- * Upload File
5635
- */
5636
-
5637
- var UploadFile = function UploadFile(_ref) {
5638
- var file = _ref.file,
5639
- state = _ref.state,
5640
- progress = _ref.progress,
5641
- error = _ref.error;
5642
- var STATES = {
5643
- 'IDLE': 0,
5644
- 'RUNNING': 1,
5645
- 'SUCCESS': 2,
5646
- 'ERROR': 3
5647
- };
5648
- var icon = error ? /*#__PURE__*/React.createElement(Icon, {
5649
- icon: "image",
5650
- className: "error"
5651
- }) : /*#__PURE__*/React.createElement(Icon, {
5652
- icon: "image"
5653
- });
5654
- return state !== STATES.IDLE ? /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement("div", {
5655
- className: "upload-file"
5656
- }, icon, /*#__PURE__*/React.createElement(Text$1, {
5657
- use: "body1",
5658
- tag: "label"
5659
- }, file.fileName), state === STATES.RUNNING ? /*#__PURE__*/React.createElement(LinearProgress, {
5660
- progress: progress
5661
- }) : '', state === STATES.RUNNING ? /*#__PURE__*/React.createElement(Icon, {
5662
- icon: "close",
5663
- clickable: true
5664
- }) : '', state === STATES.SUCCESS ? /*#__PURE__*/React.createElement(Icon, {
5665
- icon: "done"
5666
- }) : '', state === STATES.ERROR ? /*#__PURE__*/React.createElement(Icon, {
5667
- icon: "error"
5668
- }) : ''), error ? /*#__PURE__*/React.createElement("div", {
5669
- className: "error"
5670
- }, /*#__PURE__*/React.createElement(Text$1, {
5671
- use: "overline"
5672
- }, error)) : '') : '';
5673
- };
5674
-
5675
- var STATES = {
5676
- IDLE: 0,
5677
- RUNNING: 1,
5678
- SUCCESS: 2,
5679
- ERROR: 3,
5680
- COMPLETED: 4
5681
- };
5682
- /**
5683
- * Uploader
5684
- */
5685
-
5686
- var Uploader = function Uploader(_ref) {
5687
- var label = _ref.label,
5688
- target = _ref.target,
5689
- accept = _ref.accept,
5690
- _ref$simultaneousUplo = _ref.simultaneousUploads,
5691
- simultaneousUploads = _ref$simultaneousUplo === void 0 ? 1 : _ref$simultaneousUplo,
5692
- className = _ref.className,
5693
- onProgress = _ref.onProgress,
5694
- onSuccess = _ref.onSuccess,
5695
- onError = _ref.onError,
5696
- onComplete = _ref.onComplete,
5697
- _ref$errors = _ref.errors,
5698
- errors = _ref$errors === void 0 ? [] : _ref$errors;
5699
- var resumable = useMemo(function () {
5700
- var config = {
5701
- target: target,
5702
- chunkSize: 1 * 1024 * 1024,
5703
- simultaneousUploads: simultaneousUploads,
5704
- testChunks: false,
5705
- throttleProgressCallbacks: 1,
5706
- fileType: accept
5707
- };
5708
- var resumable = new ResumableJS(config);
5709
- resumable.on('fileAdded', onFileAdded);
5710
- resumable.on('fileProgress', onFileProgress);
5711
- resumable.on('fileSuccess', onFileSuccess);
5712
- resumable.on('fileError', onFileError);
5713
- resumable.on('complete', onAllComplete);
5714
- return resumable;
5715
- }, []);
5716
-
5717
- var _useState = useState(0),
5718
- progress = _useState[0],
5719
- setProgress = _useState[1];
5720
-
5721
- var _useState2 = useState(STATES.IDLE),
5722
- state = _useState2[0],
5723
- setState = _useState2[1];
5724
-
5725
- var _useState3 = useState(),
5726
- error = _useState3[0],
5727
- setError = _useState3[1];
5728
-
5729
- var _useState4 = useState([]),
5730
- files = _useState4[0],
5731
- setFiles = _useState4[1];
5732
-
5733
- function onFileAdded(file) {
5734
- files.push(file);
5735
- setFiles(files);
5736
- setState(STATES.RUNNING);
5737
- resumable.upload();
5738
- }
5739
-
5740
- function onFileProgress(file) {
5741
- var progress = file.progress();
5742
- setProgress(progress);
5743
- if (onProgress) onProgress(files);
5744
- }
5745
-
5746
- function onFileSuccess(file, message) {
5747
- setState(STATES.SUCCESS);
5748
- if (onSuccess) onSuccess(file, message);
5749
- }
5750
-
5751
- function onFileError(file, message) {
5752
- setError(message);
5753
- setState(STATES.ERROR);
5754
- if (onError) onError(file, message);
5755
- }
5756
-
5757
- function onAllComplete() {
5758
- setState(STATES.IDLE);
5759
- if (onComplete) onComplete(files);
5760
- }
5761
-
5762
- return /*#__PURE__*/React.createElement("div", {
5763
- className: "uploader " + className
5764
- }, state === STATES.IDLE ? /*#__PURE__*/React.createElement(UploadArea, {
5765
- resumable: resumable,
5766
- state: state,
5767
- label: label,
5768
- error: error,
5769
- progress: progress
5770
- }) : null, state === STATES.RUNNING || STATES.SUCCESS || STATES.ERROR ? /*#__PURE__*/React.createElement(UploadProgress, {
5771
- files: files,
5772
- errors: errors
5773
- }) : null);
5774
- };
5775
-
5776
- var UploadProgress = function UploadProgress(_ref2) {
5777
- var _ref2$files = _ref2.files,
5778
- files = _ref2$files === void 0 ? [] : _ref2$files,
5779
- errors = _ref2.errors;
5780
- return /*#__PURE__*/React.createElement("div", null, files.map(function (file) {
5781
- errors.some(function (e) {
5782
- return e === file.fileName;
5783
- }) ? "Fichero Mal Nombrado" : "";
5784
- return /*#__PURE__*/React.createElement(UploadFile, {
5785
- file: file,
5786
- state: STATES.RUNNING,
5787
- progress: file.progress()
5788
- });
5789
- }));
5790
- };
5791
-
5792
- /**
5793
- * Upload Dialog
5794
- */
5795
-
5796
- var UploadDialog = function UploadDialog(_ref) {
5797
- var label = _ref.label,
5798
- target = _ref.target,
5799
- accept = _ref.accept,
5800
- onSuccess = _ref.onSuccess,
5801
- onClose = _ref.onClose,
5802
- _ref$onActionClose = _ref.onActionClose,
5803
- onActionClose = _ref$onActionClose === void 0 ? true : _ref$onActionClose;
5804
- var site = useContext(SiteContext);
5805
-
5806
- var _useState = useState(),
5807
- file = _useState[0],
5808
- setFile = _useState[1];
5809
-
5810
- var _useState2 = useState([]),
5811
- errors = _useState2[0];
5812
-
5813
- function onComplete(uploads) {
5814
- setFile(uploads[0]);
5815
- if (onSuccess) onSuccess(uploads[0]);
5816
- }
5817
-
5818
- function onAction(action) {
5819
- if (action === 'CLOSE' || onActionClose === true) {
5820
- site.closeDialog();
5821
- onClose();
5822
- }
5823
- }
5824
-
5825
- var actions = /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(Button$1, {
5826
- label: "CLOSE",
5827
- action: function action() {
5828
- return onAction("CLOSE");
5829
- }
5830
- }));
5831
- var title = /*#__PURE__*/React.createElement(Text$1, {
5832
- use: "headline6"
5833
- }, label);
5834
- return /*#__PURE__*/React.createElement(Dialog, {
5835
- title: title,
5836
- open: true,
5837
- onAction: onAction,
5838
- actions: actions
5839
- }, file ? /*#__PURE__*/React.createElement(UploadFile, {
5840
- file: file
5841
- }) : /*#__PURE__*/React.createElement(Uploader, {
5842
- label: label,
5843
- accept: accept,
5844
- target: target,
5845
- onComplete: onComplete
5846
- }), errors.map(function (error) {
5847
- return /*#__PURE__*/React.createElement(Text$1, {
5848
- use: "overline",
5849
- tag: "div",
5850
- className: "error"
5851
- }, error);
5852
- }));
5853
- };
5854
-
5855
5803
  var isFunction = function isFunction(value) {
5856
5804
  return value && (Object.prototype.toString.call(value) === "[object Function]" || "function" === typeof value || value instanceof Function);
5857
5805
  };
5858
5806
 
5859
- export { Avatar, Button$1 as Button, CheckBox, Chip, Chips, CircularProgress, CollectionContext, CollectionEditor$1 as CollectionEditor, CollectionPage, Content, ContentEditor, ContentForm, CreateContentDialog$1 as CreateContentDialog, DataTable, Dialog, DropDown, EditContentDialog, FORMATS, FieldEditor, 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, TableEditor, TablePage, Tabs, Text$1 as Text, TextArea, TextField, Thumbnail, TokenField, Tooltip, Tree, TreeItem, TreeNode, TreededContentEditor, UploadArea, UploadButton, UploadDialog, UploadFile, Uploader, Viewer, WaitScreen, isFunction };
5807
+ export { Avatar, Button, CheckBox, Chip, Chips, CircularProgress, CollectionContext, CollectionEditor$1 as CollectionEditor, CollectionPage, Content, ContentEditor, ContentForm, CreateContentDialog$1 as CreateContentDialog, DataTable, Dialog, DropDown, EditContentDialog, FORMATS, FieldEditor, 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, TableEditor, TablePage, Tabs, Text$1 as Text, TextArea, TextField, Thumbnail, TokenField, Tooltip, Tree, TreeItem, TreeNode, TreededContentEditor, UploadArea, UploadDialog, UploadFile, Uploader, Viewer, WaitScreen, isFunction };
5860
5808
  //# sourceMappingURL=index.modern.js.map