@clake/react-bootstrap4-window 0.7.7 → 1.0.2

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.
Files changed (62) hide show
  1. package/dist/react-bootstrap4-window.js +4 -4
  2. package/lib/CTable.js +190 -203
  3. package/lib/CTable.js.map +3 -3
  4. package/lib/CTableInput.js +18 -24
  5. package/lib/CTableInput.js.map +3 -3
  6. package/lib/Drag.js +63 -27
  7. package/lib/Drag.js.map +3 -3
  8. package/lib/IconButton.js +22 -24
  9. package/lib/IconButton.js.map +3 -3
  10. package/lib/PageBar.js +9 -21
  11. package/lib/PageBar.js.map +3 -3
  12. package/lib/TopMenu.js +104 -107
  13. package/lib/TopMenu.js.map +3 -3
  14. package/lib/WCalendar.js +17 -20
  15. package/lib/WCalendar.js.map +3 -3
  16. package/lib/WCombo.js +14 -9
  17. package/lib/WCombo.js.map +3 -3
  18. package/lib/WModal.js +118 -79
  19. package/lib/WModal.js.map +3 -3
  20. package/lib/Window.js +58 -40
  21. package/lib/Window.js.map +3 -3
  22. package/lib/WindowGroup.js +19 -11
  23. package/lib/WindowGroup.js.map +3 -3
  24. package/lib/i18n/CTable.js +4 -4
  25. package/lib/i18n/CTable.js.map +3 -3
  26. package/lib/index.js +59 -36
  27. package/lib/index.js.map +3 -3
  28. package/lib/types/gulpfile.babel.d.ts +2 -0
  29. package/lib/types/gulpfile.babel.d.ts.map +1 -0
  30. package/lib/types/src/CTable.d.ts +224 -0
  31. package/lib/types/src/CTable.d.ts.map +1 -0
  32. package/lib/types/src/CTableInput.d.ts +41 -0
  33. package/lib/types/src/CTableInput.d.ts.map +1 -0
  34. package/lib/types/src/Drag.d.ts +50 -0
  35. package/lib/types/src/Drag.d.ts.map +1 -0
  36. package/lib/types/src/IconButton.d.ts +19 -0
  37. package/lib/types/src/IconButton.d.ts.map +1 -0
  38. package/lib/types/src/PageBar.d.ts +27 -0
  39. package/lib/types/src/PageBar.d.ts.map +1 -0
  40. package/lib/types/src/TopMenu.d.ts +42 -0
  41. package/lib/types/src/TopMenu.d.ts.map +1 -0
  42. package/lib/types/src/WCalendar.d.ts +32 -0
  43. package/lib/types/src/WCalendar.d.ts.map +1 -0
  44. package/lib/types/src/WCombo.d.ts +28 -0
  45. package/lib/types/src/WCombo.d.ts.map +1 -0
  46. package/lib/types/src/WModal.d.ts +106 -0
  47. package/lib/types/src/WModal.d.ts.map +1 -0
  48. package/lib/types/src/Window.d.ts +79 -0
  49. package/lib/types/src/Window.d.ts.map +1 -0
  50. package/lib/types/src/WindowGroup.d.ts +28 -0
  51. package/lib/types/src/WindowGroup.d.ts.map +1 -0
  52. package/lib/types/src/i18n/CTable.d.ts +3 -0
  53. package/lib/types/src/i18n/CTable.d.ts.map +1 -0
  54. package/lib/types/src/index.d.ts +6 -0
  55. package/lib/types/src/index.d.ts.map +1 -0
  56. package/lib/types/webpack.common.d.ts +55 -0
  57. package/lib/types/webpack.common.d.ts.map +1 -0
  58. package/lib/types/webpack.dev.d.ts +3 -0
  59. package/lib/types/webpack.dev.d.ts.map +1 -0
  60. package/lib/types/webpack.prod.d.ts +3 -0
  61. package/lib/types/webpack.prod.d.ts.map +1 -0
  62. package/package.json +17 -9
package/lib/WModal.js CHANGED
@@ -1,19 +1,17 @@
1
- /* @clake/react-bootstrap4-window v0.7.7 | by Clake
1
+ /* @clake/react-bootstrap4-window v1.0.2 | by Clake
2
2
  * Copyright (c) 2024 Clake,
3
- * 2024-03-18T14:45:06+0800
3
+ * 2024-03-28T14:51:23+0800
4
4
  */
5
5
  "use strict";
6
6
 
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
- exports["default"] = void 0;
10
+ exports["default"] = exports.WModal = void 0;
11
11
 
12
12
  var _react = _interopRequireDefault(require("react"));
13
13
 
14
- var _propTypes = _interopRequireDefault(require("prop-types"));
15
-
16
- var _bind = _interopRequireDefault(require("classnames/bind"));
14
+ var _classnames = _interopRequireDefault(require("classnames"));
17
15
 
18
16
  var _reactBootstrap = require("@clake/react-bootstrap4");
19
17
 
@@ -41,17 +39,29 @@ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || func
41
39
 
42
40
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
43
41
 
44
- var ModalAlert = 0;
45
- var ModalConfirm = 1;
46
- var ModalLoading = 2;
47
- var ModalView = 3;
42
+ // const ModalAlert = 0;
43
+ // const ModalConfirm = 1;
44
+ // const ModalLoading = 2;
45
+ // const ModalView = 3;
46
+ //基础INDEX值
48
47
  var BaseModal = 950;
48
+
49
+ var ModalTypes =
50
+ /*#__PURE__*/
51
+ function (ModalTypes) {
52
+ ModalTypes[ModalTypes["ModalAlert"] = 0] = "ModalAlert";
53
+ ModalTypes[ModalTypes["ModalConfirm"] = 1] = "ModalConfirm";
54
+ ModalTypes[ModalTypes["ModalLoading"] = 2] = "ModalLoading";
55
+ ModalTypes[ModalTypes["ModalView"] = 3] = "ModalView";
56
+ return ModalTypes;
57
+ }(ModalTypes || {});
58
+
49
59
  var defBtns = {
50
60
  ok: 'Ok',
51
61
  cancel: 'Cancel'
52
62
  };
53
63
 
54
- var WModal =
64
+ var WModal = exports.WModal =
55
65
  /*#__PURE__*/
56
66
  function (_React$Component) {
57
67
  _inherits(WModal, _React$Component);
@@ -63,13 +73,37 @@ function (_React$Component) {
63
73
 
64
74
  _this = _possibleConstructorReturn(this, _getPrototypeOf(WModal).call(this, props));
65
75
 
66
- _defineProperty(_assertThisInitialized(_this), "closeHandler", function (e) {
76
+ _defineProperty(_assertThisInitialized(_this), "domId", void 0);
77
+
78
+ _defineProperty(_assertThisInitialized(_this), "offsetIndex", void 0);
79
+
80
+ _defineProperty(_assertThisInitialized(_this), "is_open", void 0);
81
+
82
+ _defineProperty(_assertThisInitialized(_this), "fadeTime", void 0);
83
+
84
+ _defineProperty(_assertThisInitialized(_this), "modalType", void 0);
85
+
86
+ _defineProperty(_assertThisInitialized(_this), "callback", void 0);
87
+
88
+ _defineProperty(_assertThisInitialized(_this), "_main", void 0);
89
+
90
+ _defineProperty(_assertThisInitialized(_this), "_shadow", void 0);
91
+
92
+ _defineProperty(_assertThisInitialized(_this), "_dialog", void 0);
93
+
94
+ _defineProperty(_assertThisInitialized(_this), "defaultProps", {
95
+ center: false,
96
+ width: '300px',
97
+ fade: true
98
+ });
99
+
100
+ _defineProperty(_assertThisInitialized(_this), "closeHandler", function () {
67
101
  if (typeof _this.props.onClose === 'function') {
68
102
  _this.props.onClose();
69
103
  }
70
104
  });
71
105
 
72
- _defineProperty(_assertThisInitialized(_this), "openHandler", function (e) {
106
+ _defineProperty(_assertThisInitialized(_this), "openHandler", function () {
73
107
  if (typeof _this.props.onOpen === 'function') {
74
108
  _this.props.onOpen();
75
109
  }
@@ -79,17 +113,18 @@ function (_React$Component) {
79
113
  content: '',
80
114
  title: '',
81
115
  isCloseBtn: true,
82
- type: ModalAlert,
116
+ type: ModalTypes.ModalAlert,
83
117
  center: _this.props.center,
84
118
  fade: _this.props.fade,
85
119
  show: false,
86
120
  header: true,
87
- btns: defBtns
121
+ btns: defBtns,
122
+ width: ''
88
123
  }; //modal type
89
124
 
90
- _this.modalType = ModalAlert; //alert confirm callback function
125
+ _this.modalType = ModalTypes.ModalAlert; //alert confirm callback function
91
126
 
92
- _this.callback = null;
127
+ _this.callback = undefined;
93
128
  _this.domId = 'modal-' + _reactBootstrap.Common.RandomString(16);
94
129
 
95
130
  if (_this.props.id) {
@@ -172,25 +207,32 @@ function (_React$Component) {
172
207
  * }
173
208
  * @param opt object
174
209
  */
175
- value: function alert(opt, cb) {
210
+ value: function alert(args, cb) {
176
211
  var _this4 = this;
177
212
 
178
- this.callback = opt.callback || cb || null;
179
- this.modalType = ModalAlert;
213
+ var opt;
214
+
215
+ if (typeof args === 'string') {
216
+ opt = {
217
+ content: args
218
+ };
219
+ } else {
220
+ opt = args;
221
+ }
222
+
223
+ this.callback = opt.callback || cb || undefined;
224
+ this.modalType = ModalTypes.ModalAlert;
180
225
  this.setState({
181
226
  title: opt.title || 'Prompt',
182
227
  content: opt.content || opt || '',
183
228
  isCloseBtn: true,
184
- type: ModalAlert,
229
+ type: ModalTypes.ModalAlert,
185
230
  center: opt.center || this.props.center,
186
231
  fade: opt.fade || this.props.fade,
187
232
  header: typeof opt.header === 'undefined' ? true : opt.header,
188
233
  btns: typeof opt.btns != 'undefined' ? opt.btns : defBtns
189
234
  }, function () {
190
- _this4.open({
191
- backdrop: 'static',
192
- keyboard: false
193
- });
235
+ _this4.open();
194
236
  });
195
237
  }
196
238
  /**
@@ -206,25 +248,32 @@ function (_React$Component) {
206
248
 
207
249
  }, {
208
250
  key: "confirm",
209
- value: function confirm(opt, cb) {
251
+ value: function confirm(args, cb) {
210
252
  var _this5 = this;
211
253
 
212
- this.callback = opt.callback || cb || null;
213
- this.modalType = ModalConfirm;
254
+ var opt;
255
+
256
+ if (typeof args === 'string') {
257
+ opt = {
258
+ content: args
259
+ };
260
+ } else {
261
+ opt = args;
262
+ }
263
+
264
+ this.callback = opt.callback || cb || undefined;
265
+ this.modalType = ModalTypes.ModalConfirm;
214
266
  this.setState({
215
267
  title: opt.title || 'Prompt',
216
268
  content: opt.content || '',
217
269
  isCloseBtn: true,
218
- type: ModalConfirm,
270
+ type: ModalTypes.ModalConfirm,
219
271
  center: opt.center || this.props.center,
220
272
  fade: opt.fade || this.props.fade,
221
273
  header: typeof opt.header === 'undefined' ? true : opt.header,
222
274
  btns: typeof opt.btns != 'undefined' ? opt.btns : defBtns
223
275
  }, function () {
224
- _this5.open({
225
- backdrop: 'static',
226
- keyboard: false
227
- });
276
+ _this5.open();
228
277
  });
229
278
  }
230
279
  /**
@@ -234,10 +283,20 @@ function (_React$Component) {
234
283
 
235
284
  }, {
236
285
  key: "loading",
237
- value: function loading(opt) {
286
+ value: function loading(args) {
238
287
  var _this6 = this;
239
288
 
240
- this.modalType = ModalLoading;
289
+ var opt;
290
+
291
+ if (typeof args === 'string') {
292
+ opt = {
293
+ content: args
294
+ };
295
+ } else {
296
+ opt = args;
297
+ }
298
+
299
+ this.modalType = ModalTypes.ModalLoading;
241
300
  this.setState({
242
301
  title: opt.title || 'Prompt',
243
302
  // content:(
@@ -247,15 +306,12 @@ function (_React$Component) {
247
306
  // ),
248
307
  content: opt.content || opt || '',
249
308
  isCloseBtn: false,
250
- type: ModalLoading,
309
+ type: ModalTypes.ModalLoading,
251
310
  center: opt.center || this.props.center,
252
311
  fade: this.props.fade,
253
312
  header: opt.header || false
254
313
  }, function () {
255
- _this6.open({
256
- backdrop: 'static',
257
- keyboard: false
258
- });
314
+ _this6.open();
259
315
  });
260
316
  }
261
317
  /**
@@ -274,21 +330,18 @@ function (_React$Component) {
274
330
  value: function view(opt) {
275
331
  var _this7 = this;
276
332
 
277
- this.callback = opt.callback || null;
278
- this.modalType = ModalView;
333
+ this.callback = opt.callback || undefined;
334
+ this.modalType = ModalTypes.ModalView;
279
335
  this.setState({
280
336
  title: opt.title || 'Prompt',
281
337
  content: opt.content || '',
282
338
  isCloseBtn: true,
283
- type: ModalView,
339
+ type: ModalTypes.ModalView,
284
340
  center: opt.center || this.props.center,
285
341
  fade: opt.fade || this.props.fade,
286
342
  header: typeof opt.header === 'undefined' ? true : opt.header
287
343
  }, function () {
288
- _this7.open({
289
- backdrop: 'static',
290
- keyboard: false
291
- });
344
+ _this7.open();
292
345
  });
293
346
  }
294
347
  }, {
@@ -297,25 +350,25 @@ function (_React$Component) {
297
350
  var base = 'wmodal-main';
298
351
 
299
352
  if (this.state.fade) {
300
- base = (0, _bind["default"])(base, 'wmodal-fade');
353
+ base = (0, _classnames["default"])(base, 'wmodal-fade');
301
354
  }
302
355
 
303
- return (0, _bind["default"])(base, this.props.className);
356
+ return (0, _classnames["default"])(base, this.props.className);
304
357
  }
305
358
  }, {
306
359
  key: "getClasses",
307
360
  value: function getClasses() {
308
361
  var base = 'modal wmodal-sm d-block';
309
362
 
310
- if (this.modalType === ModalView) {
311
- base = (0, _bind["default"])(base, "bd-example-modal-lg");
363
+ if (this.modalType === ModalTypes.ModalView) {
364
+ base = (0, _classnames["default"])(base, "bd-example-modal-lg");
312
365
  }
313
366
 
314
367
  if (this.state.fade) {
315
- base = (0, _bind["default"])(base, 'wmodal-fade');
368
+ base = (0, _classnames["default"])(base, 'wmodal-fade');
316
369
  }
317
370
 
318
- return (0, _bind["default"])(base, this.props.className);
371
+ return (0, _classnames["default"])(base, this.props.className);
319
372
  }
320
373
  }, {
321
374
  key: "getDialogStyles",
@@ -323,9 +376,9 @@ function (_React$Component) {
323
376
  var base = {};
324
377
 
325
378
  if (this.state.width) {
326
- base['maxWidth'] = this.state.width;
379
+ base.maxWidth = this.state.width;
327
380
  } else if (this.props.width) {
328
- base['maxWidth'] = this.props.width;
381
+ base.maxWidth = this.props.width;
329
382
  }
330
383
 
331
384
  return base;
@@ -335,21 +388,21 @@ function (_React$Component) {
335
388
  value: function getDialogClasses() {
336
389
  var base = 'modal-dialog';
337
390
 
338
- if (this.modalType === ModalView) {
339
- base = (0, _bind["default"])(base, "modal-lg");
391
+ if (this.modalType === ModalTypes.ModalView) {
392
+ base = (0, _classnames["default"])(base, "modal-lg");
340
393
  }
341
394
 
342
395
  if (this.state.center) {
343
- base = (0, _bind["default"])(base, "modal-dialog-centered");
396
+ base = (0, _classnames["default"])(base, "modal-dialog-centered");
344
397
  }
345
398
 
346
- return (0, _bind["default"])(base, this.props.className);
399
+ return (0, _classnames["default"])(base, this.props.className);
347
400
  }
348
401
  }, {
349
402
  key: "getShadowClasses",
350
403
  value: function getShadowClasses() {
351
404
  var base = 'modal-backdrop ck-modal-shadow show';
352
- return (0, _bind["default"])(base, this.props.className);
405
+ return (0, _classnames["default"])(base, this.props.className);
353
406
  }
354
407
  }, {
355
408
  key: "renderFooter",
@@ -359,7 +412,7 @@ function (_React$Component) {
359
412
  var content = null;
360
413
 
361
414
  switch (this.state.type) {
362
- case ModalAlert:
415
+ case ModalTypes.ModalAlert:
363
416
  content = _react["default"].createElement(_reactBootstrap.Button, {
364
417
  className: "w-100",
365
418
  size: "sm",
@@ -374,7 +427,7 @@ function (_React$Component) {
374
427
  }, this.state.btns['ok']);
375
428
  break;
376
429
 
377
- case ModalConfirm:
430
+ case ModalTypes.ModalConfirm:
378
431
  content = _react["default"].createElement("div", {
379
432
  className: "row flex-grow-1 g-1 btn"
380
433
  }, _react["default"].createElement(_reactBootstrap.ButtonGroup, null, _react["default"].createElement(_reactBootstrap.Button, {
@@ -435,7 +488,7 @@ function (_React$Component) {
435
488
  }), _react["default"].createElement("div", {
436
489
  className: this.getClasses(),
437
490
  style: modalIndex,
438
- tabIndex: "-1",
491
+ tabIndex: -1,
439
492
  id: this.domId,
440
493
  role: "dialog"
441
494
  }, _react["default"].createElement("div", {
@@ -459,26 +512,12 @@ function (_React$Component) {
459
512
  }
460
513
  }) : null) : null, _react["default"].createElement("div", {
461
514
  className: "modal-body"
462
- }, this.state.type === ModalLoading ? _react["default"].createElement(_react["default"].Fragment, null, _react["default"].createElement(_reactBootstrap.Load, null), "\xA0\xA0\xA0", this.state.content) : this.state.content), this.renderFooter()))));
515
+ }, this.state.type === ModalTypes.ModalLoading ? _react["default"].createElement(_react["default"].Fragment, null, _react["default"].createElement(_reactBootstrap.Load, null), "\xA0\xA0\xA0", this.state.content) : this.state.content), this.renderFooter()))));
463
516
  }
464
517
  }]);
465
518
 
466
519
  return WModal;
467
520
  }(_react["default"].Component);
468
521
 
469
- WModal.propTypes = {
470
- onOpen: _propTypes["default"].func,
471
- onClose: _propTypes["default"].func,
472
- center: _propTypes["default"].bool,
473
- fade: _propTypes["default"].bool,
474
- blurSelector: _propTypes["default"].string,
475
- width: _propTypes["default"].string
476
- };
477
- WModal.defaultProps = {
478
- center: false,
479
- width: '300px',
480
- fade: true
481
- };
482
- var _default = WModal;
483
- exports["default"] = _default;
522
+ var _default = exports["default"] = WModal;
484
523
  //# sourceMappingURL=WModal.js.map
package/lib/WModal.js.map CHANGED
@@ -1,5 +1,5 @@
1
- /* @clake/react-bootstrap4-window v0.7.7 | by Clake
1
+ /* @clake/react-bootstrap4-window v1.0.2 | by Clake
2
2
  * Copyright (c) 2024 Clake,
3
- * 2024-03-18T14:45:06+0800
3
+ * 2024-03-28T14:51:23+0800
4
4
  */
5
- {"version":3,"sources":["WModal.jsx"],"names":["ModalAlert","ModalConfirm","ModalLoading","ModalView","BaseModal","defBtns","ok","cancel","WModal","props","e","onClose","onOpen","state","content","title","isCloseBtn","type","center","fade","show","header","btns","modalType","callback","domId","Common","RandomString","id","offsetIndex","document","querySelectorAll","length","is_open","fadeTime","open","close","nextProps","nextState","clearTimeout","_main","classList","add","setTimeout","_shadow","_dialog","style","opacity","marginTop","remove","opt","cb","setState","backdrop","keyboard","base","className","width","modalIndex","zIndex","shadowIndex","c","getMainClasses","getShadowClasses","getClasses","getDialogClasses","getDialogStyles","renderFooter","React","Component","propTypes","PropTypes","func","bool","blurSelector","string","defaultProps"],"mappings":"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","sourcesContent":["/** @module react-bootstrap-v4-window/WModal */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames/bind';\nimport {\n Button,\n Load,\n Common,\n ButtonGroup\n} from '@clake/react-bootstrap4';\nimport './css/WModal.less';\n\nconst ModalAlert = 0;\nconst ModalConfirm = 1;\nconst ModalLoading = 2;\nconst ModalView = 3;\nconst BaseModal = 950;\n\nconst defBtns = {\n ok:'Ok',\n cancel:'Cancel',\n};\n\nclass WModal extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n content:'',\n title:'',\n isCloseBtn:true,\n type:ModalAlert,\n center:this.props.center,\n fade:this.props.fade,\n show:false,\n header:true,\n btns:defBtns,\n };\n //modal type\n this.modalType = ModalAlert;\n //alert confirm callback function\n this.callback = null;\n\n this.domId = 'modal-'+Common.RandomString(16);\n if (this.props.id) {\n this.domId = this.props.id;\n }\n this.offsetIndex = document.querySelectorAll(\".modal\").length * 10;\n this.is_open = false;\n this.fadeTime = {\n open:0,\n close:0\n };\n }\n\n shouldComponentUpdate(nextProps, nextState) {\n return this.state.content !== nextState.content\n }\n\n componentDidMount() {\n\n }\n\n componentWillUnmount() {\n\n }\n\n open() {\n if (this.is_open) {\n clearTimeout(this.fadeTime.open);\n clearTimeout(this.fadeTime.close);\n }\n\n this._main.classList.add('d-block');\n this.is_open = true;\n if (this.state.fade) {\n this.fadeTime.open = setTimeout(()=>{\n this._shadow.classList.add('modal-show');\n this._dialog.style.opacity = '1';\n this._dialog.style.marginTop = '1.75rem';\n },150);\n }\n }\n\n close() {\n if (this.state.fade) {\n this._dialog.style.opacity = '0';\n this._dialog.style.marginTop = '-1rem';\n this._shadow.classList.remove('modal-show');\n }\n this.fadeTime.close = setTimeout(()=>{\n if (this?._main) {\n this._main.classList.remove('d-block');\n this.is_open = false;\n }\n },150);\n }\n\n closeHandler = (e)=>{\n if (typeof this.props.onClose === 'function') {\n this.props.onClose();\n }\n };\n\n openHandler = (e) =>{\n if (typeof this.props.onOpen === 'function') {\n this.props.onOpen();\n }\n };\n\n /**\n * modal alert method\n * opt example\n * {\n * title: '',\n * content: ''\n * [,callback: func]\n * }\n * @param opt object\n */\n alert(opt,cb) {\n this.callback = opt.callback||cb||null;\n this.modalType = ModalAlert;\n this.setState({\n title:opt.title||'Prompt',\n content:opt.content||opt||'',\n isCloseBtn:true,\n type:ModalAlert,\n center:opt.center||this.props.center,\n fade:opt.fade||this.props.fade,\n header: typeof opt.header === 'undefined' ? true:opt.header,\n btns: typeof opt.btns != 'undefined' ? opt.btns:defBtns,\n },()=>{\n this.open({\n backdrop:'static',\n keyboard:false,\n });\n });\n }\n\n /**\n * modal confirm method\n * opt example\n * {\n * title:'',\n * content:'',\n * [callback: func]\n * }\n * @param opt\n */\n confirm(opt,cb) {\n this.callback = opt.callback||cb||null;\n this.modalType = ModalConfirm;\n this.setState({\n title:opt.title||'Prompt',\n content:opt.content||'',\n isCloseBtn:true,\n type:ModalConfirm,\n center:opt.center||this.props.center,\n fade:opt.fade||this.props.fade,\n header: typeof opt.header === 'undefined' ? true:opt.header,\n btns: typeof opt.btns != 'undefined' ? opt.btns:defBtns,\n },()=>{\n this.open({\n backdrop:'static',\n keyboard:false,\n });\n });\n }\n\n /**\n * modal loading method\n * @param opt\n */\n loading(opt) {\n this.modalType = ModalLoading;\n this.setState({\n title:opt.title||'Prompt',\n // content:(\n // <React.Fragment>\n // <Icon icon='spinner'/>&nbsp;&nbsp;&nbsp;{content}\n // </React.Fragment>\n // ),\n content:opt.content||opt||'',\n isCloseBtn:false,\n type:ModalLoading,\n center:opt.center||this.props.center,\n fade:this.props.fade,\n header: opt.header||false,\n },()=>{\n this.open({\n backdrop:'static',\n keyboard:false,\n });\n });\n }\n\n /**\n * modal view method\n * opt example\n * {\n * title:'',\n * content:flex,\n * [callback:func]\n * }\n * @param opt\n */\n view(opt) {\n this.callback = opt.callback||null;\n this.modalType = ModalView;\n this.setState({\n title:opt.title||'Prompt',\n content:opt.content||'',\n isCloseBtn:true,\n type:ModalView,\n center:opt.center||this.props.center,\n fade:opt.fade||this.props.fade,\n header: typeof opt.header === 'undefined' ? true:opt.header\n },()=>{\n this.open({\n backdrop:'static',\n keyboard:false,\n });\n });\n }\n\n getMainClasses() {\n let base = 'wmodal-main';\n\n if (this.state.fade) {\n base = classNames(base,'wmodal-fade');\n }\n\n return classNames(base,this.props.className);\n }\n\n getClasses() {\n let base = 'modal wmodal-sm d-block';\n if (this.modalType === ModalView) {\n base = classNames(base,\"bd-example-modal-lg\");\n }\n\n if (this.state.fade) {\n base = classNames(base,'wmodal-fade');\n }\n\n return classNames(base,this.props.className);\n }\n\n getDialogStyles() {\n let base = {};\n if (this.state.width) {\n base['maxWidth'] = this.state.width;\n } else if (this.props.width) {\n base['maxWidth'] = this.props.width;\n }\n return base;\n }\n\n getDialogClasses() {\n let base = 'modal-dialog';\n if (this.modalType === ModalView) {\n base = classNames(base,\"modal-lg\");\n }\n if (this.state.center) {\n base = classNames(base,\"modal-dialog-centered\");\n }\n\n return classNames(base,this.props.className);\n }\n\n getShadowClasses() {\n let base = 'modal-backdrop ck-modal-shadow show';\n\n return classNames(base,this.props.className);\n }\n\n renderFooter() {\n let content = null;\n switch (this.state.type) {\n case ModalAlert:\n content = (\n <Button className=\"w-100\" size='sm' data-dismiss=\"modal\" onClick={e=>{\n this.close();\n if (typeof this.callback === 'function') {\n this.callback(1);\n }\n }}>{this.state.btns['ok']}</Button>\n );\n break;\n case ModalConfirm:\n content = (\n <div className='row flex-grow-1 g-1 btn'>\n <ButtonGroup>\n <Button className='col-6' size='sm' onClick={()=>{\n this.close();\n if (typeof this.callback === 'function') {\n this.callback(1);\n }\n }}>{this.state.btns['ok']}</Button>\n <Button className='col-6' size='sm' onClick={()=>{\n this.close();\n if (typeof this.callback === 'function') {\n this.callback(0);\n }\n }} theme='secondary'>{this.state.btns['cancel']}</Button>\n </ButtonGroup>\n </div>\n );\n break;\n default:\n return null;\n }\n\n return (\n <div className=\"modal-footer\">\n {content}\n </div>\n )\n }\n\n render() {\n let modalIndex = {zIndex:BaseModal+this.offsetIndex+2};\n let shadowIndex = {zIndex:BaseModal+this.offsetIndex+1};\n return (\n <div ref={c=>this._main=c} className={this.getMainClasses()}>\n <div ref={c=>this._shadow=c} className={this.getShadowClasses()} style={shadowIndex} id={`${this.domId}-shadow`}/>\n <div className={this.getClasses()} style={modalIndex} tabIndex=\"-1\" id={this.domId} role=\"dialog\">\n <div ref={c=>this._dialog=c} className={this.getDialogClasses()} style={this.getDialogStyles()} role=\"document\">\n <div className=\"modal-content\">\n {this.state.header?<div className=\"modal-header\">\n <h6 className=\"modal-title\">{this.state.title}</h6>\n {this.state.isCloseBtn?<button type=\"button\" className=\"btn-close\" onClick={()=>{\n this.close();\n }}>\n </button>:null}\n </div>:null}\n <div className=\"modal-body\">\n {this.state.type === ModalLoading?<React.Fragment>\n <Load/>&nbsp;&nbsp;&nbsp;{this.state.content}\n </React.Fragment>:this.state.content}\n </div>\n {this.renderFooter()}\n </div>\n </div>\n </div>\n </div>\n );\n }\n}\n\nWModal.propTypes = {\n onOpen: PropTypes.func,\n onClose: PropTypes.func,\n center: PropTypes.bool,\n fade: PropTypes.bool,\n blurSelector: PropTypes.string,\n width: PropTypes.string\n};\n\nWModal.defaultProps = {\n center:false,\n width: '300px',\n fade:true,\n};\n\nexport default WModal;"],"file":"WModal.js"}
5
+ {"version":3,"sources":["WModal.tsx"],"names":["BaseModal","ModalTypes","defBtns","ok","cancel","WModal","props","center","width","fade","onClose","onOpen","state","content","title","isCloseBtn","type","ModalAlert","show","header","btns","modalType","callback","undefined","domId","Common","RandomString","id","offsetIndex","document","querySelectorAll","length","is_open","fadeTime","open","close","nextProps","nextState","clearTimeout","_main","classList","add","setTimeout","_shadow","_dialog","style","opacity","marginTop","remove","args","cb","opt","setState","ModalConfirm","ModalLoading","ModalView","base","className","maxWidth","e","modalIndex","zIndex","shadowIndex","c","getMainClasses","getShadowClasses","getClasses","getDialogClasses","getDialogStyles","renderFooter","React","Component"],"mappings":"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","sourcesContent":["/** @module react-bootstrap-v4-window/WModal */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport {\n Button,\n Load,\n Common,\n ButtonGroup,\n ComponentProps,\n StrObject,\n AnyObject\n} from '@clake/react-bootstrap4';\nimport './css/WModal.less';\n\n// const ModalAlert = 0;\n// const ModalConfirm = 1;\n// const ModalLoading = 2;\n// const ModalView = 3;\n//基础INDEX值\nconst BaseModal = 950;\n\nenum ModalTypes {\n ModalAlert, \n ModalConfirm, \n ModalLoading, \n ModalView\n}\n\nconst defBtns:StrObject = {\n ok:'Ok',\n cancel:'Cancel',\n};\n\nexport interface ModalOptions {\n content?: any\n title?: any\n isCloseBtn?: boolean\n type?:number\n callback?:()=>void\n center?: boolean\n fade?: boolean\n header?: boolean\n btns?: StrObject\n}\n\ninterface Props extends ComponentProps {\n onOpen: ()=>void,\n onClose: ()=>void,\n center: boolean,\n fade: boolean,\n blurSelector: string,\n width: string\n}\n\ninterface State {\n content:string,\n title:string,\n isCloseBtn:boolean,\n type:number,\n center:boolean,\n fade:boolean,\n show:boolean,\n header:boolean,\n btns:StrObject,\n width:string\n}\n\nexport class WModal extends React.Component<Props,State> {\n domId: string\n offsetIndex:number\n is_open:boolean\n fadeTime:AnyObject\n modalType:number\n callback?:(flag?:any)=>void\n _main: HTMLDivElement\n _shadow: HTMLDivElement\n _dialog: HTMLDivElement\n\n defaultProps = {\n center:false,\n width: '300px',\n fade:true,\n };\n\n constructor(props:any) {\n super(props);\n this.state = {\n content:'',\n title:'',\n isCloseBtn:true,\n type:ModalTypes.ModalAlert,\n center:this.props.center,\n fade:this.props.fade,\n show:false,\n header:true,\n btns:defBtns,\n width:''\n };\n //modal type\n this.modalType = ModalTypes.ModalAlert;\n //alert confirm callback function\n this.callback = undefined;\n\n this.domId = 'modal-'+Common.RandomString(16);\n if (this.props.id) {\n this.domId = this.props.id;\n }\n this.offsetIndex = document.querySelectorAll(\".modal\").length * 10;\n this.is_open = false;\n this.fadeTime = {\n open:0,\n close:0\n };\n }\n\n shouldComponentUpdate(nextProps:Props, nextState:State) {\n return this.state.content !== nextState.content\n }\n\n componentDidMount() {\n\n }\n\n componentWillUnmount() {\n\n }\n\n open() {\n if (this.is_open) {\n clearTimeout(this.fadeTime.open);\n clearTimeout(this.fadeTime.close);\n }\n\n this._main.classList.add('d-block');\n this.is_open = true;\n if (this.state.fade) {\n this.fadeTime.open = setTimeout(()=>{\n this._shadow.classList.add('modal-show');\n this._dialog.style.opacity = '1';\n this._dialog.style.marginTop = '1.75rem';\n },150);\n }\n }\n\n close() {\n if (this.state.fade) {\n this._dialog.style.opacity = '0';\n this._dialog.style.marginTop = '-1rem';\n this._shadow.classList.remove('modal-show');\n }\n this.fadeTime.close = setTimeout(()=>{\n if (this?._main) {\n this._main.classList.remove('d-block');\n this.is_open = false;\n }\n },150);\n }\n\n closeHandler = ()=>{\n if (typeof this.props.onClose === 'function') {\n this.props.onClose();\n }\n };\n\n openHandler = () =>{\n if (typeof this.props.onOpen === 'function') {\n this.props.onOpen();\n }\n };\n\n /**\n * modal alert method\n * opt example\n * {\n * title: '',\n * content: ''\n * [,callback: func]\n * }\n * @param opt object\n */\n alert(args:ModalOptions|string,cb?:()=>void):void {\n let opt:ModalOptions\n if (typeof args === 'string') {\n opt = {\n content:args\n }\n } else {\n opt = args\n }\n this.callback = opt.callback||cb||undefined;\n this.modalType = ModalTypes.ModalAlert;\n this.setState({\n title:opt.title||'Prompt',\n content:opt.content||opt||'',\n isCloseBtn:true,\n type:ModalTypes.ModalAlert,\n center:opt.center||this.props.center,\n fade:opt.fade||this.props.fade,\n header: typeof opt.header === 'undefined' ? true:opt.header,\n btns: typeof opt.btns != 'undefined' ? opt.btns:defBtns,\n },()=>{\n this.open();\n });\n }\n\n /**\n * modal confirm method\n * opt example\n * {\n * title:'',\n * content:'',\n * [callback: func]\n * }\n * @param opt\n */\n confirm(args:ModalOptions|string,cb?:()=>void) {\n let opt:ModalOptions\n if (typeof args === 'string') {\n opt = {\n content:args\n }\n } else {\n opt = args\n }\n this.callback = opt.callback||cb||undefined;\n this.modalType = ModalTypes.ModalConfirm;\n this.setState({\n title:opt.title||'Prompt',\n content:opt.content||'',\n isCloseBtn:true,\n type:ModalTypes.ModalConfirm,\n center:opt.center||this.props.center,\n fade:opt.fade||this.props.fade,\n header: typeof opt.header === 'undefined' ? true:opt.header,\n btns: typeof opt.btns != 'undefined' ? opt.btns:defBtns,\n },()=>{\n this.open();\n });\n }\n\n /**\n * modal loading method\n * @param opt\n */\n loading(args:ModalOptions|string) {\n let opt:ModalOptions\n if (typeof args === 'string') {\n opt = {\n content:args\n }\n } else {\n opt = args\n }\n this.modalType = ModalTypes.ModalLoading;\n this.setState({\n title:opt.title||'Prompt',\n // content:(\n // <React.Fragment>\n // <Icon icon='spinner'/>&nbsp;&nbsp;&nbsp;{content}\n // </React.Fragment>\n // ),\n content:opt.content||opt||'',\n isCloseBtn:false,\n type:ModalTypes.ModalLoading,\n center:opt.center||this.props.center,\n fade:this.props.fade,\n header: opt.header||false,\n },()=>{\n this.open();\n });\n }\n\n /**\n * modal view method\n * opt example\n * {\n * title:'',\n * content:flex,\n * [callback:func]\n * }\n * @param opt\n */\n view(opt:ModalOptions) {\n this.callback = opt.callback||undefined;\n this.modalType = ModalTypes.ModalView;\n this.setState({\n title:opt.title||'Prompt',\n content:opt.content||'',\n isCloseBtn:true,\n type:ModalTypes.ModalView,\n center:opt.center||this.props.center,\n fade:opt.fade||this.props.fade,\n header: typeof opt.header === 'undefined' ? true:opt.header\n },()=>{\n this.open();\n });\n }\n\n getMainClasses() {\n let base = 'wmodal-main';\n\n if (this.state.fade) {\n base = classNames(base,'wmodal-fade');\n }\n\n return classNames(base,this.props.className);\n }\n\n getClasses() {\n let base = 'modal wmodal-sm d-block';\n if (this.modalType === ModalTypes.ModalView) {\n base = classNames(base,\"bd-example-modal-lg\");\n }\n\n if (this.state.fade) {\n base = classNames(base,'wmodal-fade');\n }\n\n return classNames(base,this.props.className);\n }\n\n getDialogStyles() {\n let base:any = {};\n if (this.state.width) {\n base.maxWidth = this.state.width;\n } else if (this.props.width) {\n base.maxWidth = this.props.width;\n }\n return base;\n }\n\n getDialogClasses() {\n let base = 'modal-dialog';\n if (this.modalType === ModalTypes.ModalView) {\n base = classNames(base,\"modal-lg\");\n }\n if (this.state.center) {\n base = classNames(base,\"modal-dialog-centered\");\n }\n\n return classNames(base,this.props.className);\n }\n\n getShadowClasses() {\n let base = 'modal-backdrop ck-modal-shadow show';\n\n return classNames(base,this.props.className);\n }\n\n renderFooter() {\n let content = null;\n switch (this.state.type) {\n case ModalTypes.ModalAlert:\n content = (\n <Button className=\"w-100\" size='sm' data-dismiss=\"modal\" onClick={e=>{\n this.close();\n if (typeof this.callback === 'function') {\n this.callback(1);\n }\n }}>{this.state.btns['ok']}</Button>\n );\n break;\n case ModalTypes.ModalConfirm:\n content = (\n <div className='row flex-grow-1 g-1 btn'>\n <ButtonGroup>\n <Button className='col-6' size='sm' onClick={()=>{\n this.close();\n if (typeof this.callback === 'function') {\n this.callback(1);\n }\n }}>{this.state.btns['ok']}</Button>\n <Button className='col-6' size='sm' onClick={()=>{\n this.close();\n if (typeof this.callback === 'function') {\n this.callback(0);\n }\n }} theme='secondary'>{this.state.btns['cancel']}</Button>\n </ButtonGroup>\n </div>\n );\n break;\n default:\n return null;\n }\n\n return (\n <div className=\"modal-footer\">\n {content}\n </div>\n )\n }\n\n render() {\n let modalIndex = {zIndex:BaseModal+this.offsetIndex+2};\n let shadowIndex = {zIndex:BaseModal+this.offsetIndex+1};\n return (\n <div ref={(c:any)=>this._main=c} className={this.getMainClasses()}>\n <div ref={(c:any)=>this._shadow=c} className={this.getShadowClasses()} style={shadowIndex} id={`${this.domId}-shadow`}/>\n <div className={this.getClasses()} style={modalIndex} tabIndex={-1} id={this.domId} role=\"dialog\">\n <div ref={(c:any)=>this._dialog=c} className={this.getDialogClasses()} style={this.getDialogStyles()} role=\"document\">\n <div className=\"modal-content\">\n {this.state.header?<div className=\"modal-header\">\n <h6 className=\"modal-title\">{this.state.title}</h6>\n {this.state.isCloseBtn?<button type=\"button\" className=\"btn-close\" onClick={()=>{\n this.close();\n }}>\n </button>:null}\n </div>:null}\n <div className=\"modal-body\">\n {this.state.type === ModalTypes.ModalLoading?<React.Fragment>\n <Load/>&nbsp;&nbsp;&nbsp;{this.state.content}\n </React.Fragment>:this.state.content}\n </div>\n {this.renderFooter()}\n </div>\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport default WModal;"],"file":"WModal.js"}