@clake/react-bootstrap4-window 0.7.7 → 1.0.1

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
@@ -1,5 +1,5 @@
1
- /* @clake/react-bootstrap4-window v0.7.7 | by Clake
1
+ /* @clake/react-bootstrap4-window v1.0.1 | by Clake
2
2
  * Copyright (c) 2024 Clake,
3
- * 2024-03-18T14:45:06+0800
3
+ * 2024-03-28T11:03:43+0800
4
4
  */
5
- {"version":3,"sources":["PageBar.js"],"names":["PageBar","props","state","page","dataCount","pages","calPage","showNumbers","nextProps","nextContext","setState","count","number","parseInt","base","className","onSelect","getClasses","noPage","changePage","e","value","keyCode","target","React","Component","propTypes","PropTypes","showPages","func","bool","defaultProps"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;IAGMA,O;;;;;AACF,mBAAYC,KAAZ,EAAmB;AAAA;;AAAA;;AACf,iFAAMA,KAAN;AACA,UAAKC,KAAL,GAAa;AACTC,MAAAA,IAAI,EAAC,MAAKF,KAAL,CAAWE,IADP;AAETC,MAAAA,SAAS,EAAE,MAAKH,KAAL,CAAWG,SAFb;AAGTC,MAAAA,KAAK,EAAE,MAAKC,OAAL,CAAa,MAAKL,KAAL,CAAWG,SAAxB,EAAkC,MAAKH,KAAL,CAAWM,WAA7C;AAHE,KAAb;AAFe;AAOlB;;;;wCAEmB,CAEnB;;;8CAEyBC,S,EAAWC,W,EAAa;AAC9C,UAAID,SAAS,KAAK,KAAKP,KAAvB,EAA8B;AAC1B,aAAKS,QAAL,CAAc;AACVP,UAAAA,IAAI,EAACK,SAAS,CAACL,IADL;AAEVC,UAAAA,SAAS,EAAEI,SAAS,CAACJ,SAFX;AAGVC,UAAAA,KAAK,EAAE,KAAKC,OAAL,CAAaE,SAAS,CAACJ,SAAvB,EAAiCI,SAAS,CAACD,WAA3C;AAHG,SAAd;AAKH;AACJ;;;4BAEOI,K,EAAMC,M,EAAQ;AAClB,UAAIP,KAAK,GAAGQ,QAAQ,CAACF,KAAK,GAAGC,MAAT,CAApB;;AACA,UAAID,KAAK,GAAGC,MAAR,KAAmB,CAAvB,EAA0B;AACtBP,QAAAA,KAAK,IAAI,CAAT;AACH;;AACD,aAAOA,KAAP;AACH;;;iCAEY;AACT,UAAIS,IAAI,GAAG,2CAAX;AAEA,aAAO,sBAAWA,IAAX,EAAgB,KAAKb,KAAL,CAAWc,SAA3B,CAAP;AACH;;;+BAEUZ,I,EAAM;AACb,UAAIA,IAAI,GAAG,CAAX,EAAc;AACVA,QAAAA,IAAI,GAAG,CAAP;AACH;;AAED,UAAIA,IAAI,GAAG,KAAKD,KAAL,CAAWG,KAAtB,EAA6B;AACzBF,QAAAA,IAAI,GAAG,KAAKD,KAAL,CAAWG,KAAlB;AACH;;AACD,UAAI,OAAO,KAAKJ,KAAL,CAAWe,QAAlB,KAA+B,UAAnC,EAA+C;AAC3C,aAAKf,KAAL,CAAWe,QAAX,CAAoBb,IAApB;AACH;AACJ;;;6BAEQ;AAAA;;AACL,aACI;AAAK,QAAA,SAAS,EAAE,KAAKc,UAAL;AAAhB,SACI;AAAK,QAAA,SAAS,EAAC;AAAf,SACK,KAAKhB,KAAL,CAAWG,SADhB,CADJ,EAIK,CAAC,KAAKH,KAAL,CAAWiB,MAAZ,GAAmB;AAAK,QAAA,SAAS,EAAC;AAAf,SAChB;AAAK,QAAA,SAAS,EAAC,UAAf;AAA0B,QAAA,OAAO,EAAE,mBAAI;AACnC,UAAA,MAAI,CAACC,UAAL,CAAgB,MAAI,CAACjB,KAAL,CAAWC,IAAX,GAAgB,CAAhC;AACH;AAFD,SAEG,gCAAC,oBAAD;AAAM,QAAA,IAAI,EAAC;AAAX,QAFH,CADgB,EAIhB;AAAK,QAAA,SAAS,EAAC;AAAf,SACI;AAAO,QAAA,QAAQ,EAAE,kBAACiB,CAAD,EAAK;AAClB,UAAA,MAAI,CAACV,QAAL,CAAc;AACVP,YAAAA,IAAI,EAACiB,CAAC,CAACC;AADG,WAAd;AAGH,SAJD;AAIG,QAAA,OAAO,EAAE,iBAACD,CAAD,EAAK;AACb,cAAIA,CAAC,CAACE,OAAF,KAAc,EAAlB,EAAsB;AAClB,YAAA,MAAI,CAACH,UAAL,CAAgBN,QAAQ,CAACO,CAAC,CAACG,MAAF,CAASF,KAAV,CAAxB;AACH;AACJ,SARD;AAQG,QAAA,IAAI,EAAC,QARR;AAQiB,QAAA,GAAG,EAAC,GARrB;AAQyB,QAAA,GAAG,EAAE,KAAKnB,KAAL,CAAWG,KARzC;AAQgD,QAAA,KAAK,EAAE,KAAKH,KAAL,CAAWC;AARlE,QADJ,SASiF,KAAKD,KAAL,CAAWG,KAT5F,CAJgB,EAehB;AAAK,QAAA,SAAS,EAAC,UAAf;AAA0B,QAAA,OAAO,EAAE,mBAAI;AACnC,UAAA,MAAI,CAACc,UAAL,CAAgB,MAAI,CAACjB,KAAL,CAAWC,IAAX,GAAgB,CAAhC;AACH;AAFD,SAEG,gCAAC,oBAAD;AAAM,QAAA,IAAI,EAAC;AAAX,QAFH,CAfgB,CAAnB,GAkBM,IAtBX,CADJ;AA0BH;;;;EA9EiBqB,kBAAMC,S;;AAiF5BzB,OAAO,CAAC0B,SAAR,GAAoB;AAChBtB,EAAAA,SAAS,EAAKuB,sBAAUf,MADR;AAEhBT,EAAAA,IAAI,EAAUwB,sBAAUf,MAFR;AAGhBL,EAAAA,WAAW,EAAIoB,sBAAUf,MAHT;AAIhBgB,EAAAA,SAAS,EAAKD,sBAAUf,MAJR;AAKhBI,EAAAA,QAAQ,EAAEW,sBAAUE,IALJ;AAMhBX,EAAAA,MAAM,EAAES,sBAAUG;AANF,CAApB;AASA9B,OAAO,CAAC+B,YAAR,GAAuB,EAAvB;eAIe/B,O","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames/bind';\nimport './css/PageBar.less';\nimport {\n Icon\n} from '@clake/react-bootstrap4';\nclass PageBar extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n page:this.props.page,\n dataCount: this.props.dataCount,\n pages: this.calPage(this.props.dataCount,this.props.showNumbers),\n };\n }\n\n componentDidMount() {\n\n }\n\n componentWillReceiveProps(nextProps, nextContext) {\n if (nextProps !== this.props) {\n this.setState({\n page:nextProps.page,\n dataCount: nextProps.dataCount,\n pages: this.calPage(nextProps.dataCount,nextProps.showNumbers),\n })\n }\n }\n\n calPage(count,number) {\n let pages = parseInt(count / number);\n if (count % number !== 0) {\n pages += 1;\n }\n return pages;\n }\n\n getClasses() {\n let base = 'ck-pagebar-main d-flex align-items-center';\n\n return classNames(base,this.props.className);\n }\n\n changePage(page) {\n if (page < 1) {\n page = 1;\n }\n\n if (page > this.state.pages) {\n page = this.state.pages;\n }\n if (typeof this.props.onSelect === 'function') {\n this.props.onSelect(page);\n }\n }\n\n render() {\n return (\n <div className={this.getClasses()}>\n <div className='total'>\n {this.props.dataCount}\n </div>\n {!this.props.noPage?<div className='page d-flex align-items-center align-self-center'>\n <div className='icon-btn' onClick={()=>{\n this.changePage(this.state.page-1);\n }}><Icon icon='angle-double-left'/></div>\n <div className='page-show'>\n <input onChange={(e)=>{\n this.setState({\n page:e.value\n })\n }} onKeyUp={(e)=>{\n if (e.keyCode === 13) {\n this.changePage(parseInt(e.target.value));\n }\n }} type=\"number\" min=\"1\" max={this.state.pages} value={this.state.page}/> / {this.state.pages}\n </div>\n <div className='icon-btn' onClick={()=>{\n this.changePage(this.state.page+1);\n }}><Icon icon='angle-double-right'/></div>\n </div>:null}\n </div>\n );\n }\n}\n\nPageBar.propTypes = {\n dataCount : PropTypes.number,\n page : PropTypes.number,\n showNumbers : PropTypes.number,\n showPages : PropTypes.number,\n onSelect: PropTypes.func,\n noPage: PropTypes.bool,\n};\n\nPageBar.defaultProps = {\n\n};\n\nexport default PageBar;"],"file":"PageBar.js"}
5
+ {"version":3,"sources":["PageBar.tsx"],"names":["PageBar","props","state","page","dataCount","pages","calPage","showNumbers","nextProps","nextContext","setState","count","number","base","className","onSelect","getClasses","noPage","changePage","e","parseInt","target","value","keyCode","React","Component"],"mappings":"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","sourcesContent":["import React from 'react';\nimport classNames from 'classnames';\nimport './css/PageBar.less';\nimport {\n ComponentProps,\n Icon\n} from '@clake/react-bootstrap4';\n\ninterface Props extends ComponentProps {\n page: number\n dataCount: number\n showNumbers: number\n onSelect: (page:number)=>void\n showPages: number\n noPage: boolean\n}\n\ninterface State {\n page: number\n dataCount: number\n pages: number\n}\n\nclass PageBar extends React.Component<Props,State> {\n constructor(props:any) {\n super(props);\n this.state = {\n page:this.props.page,\n dataCount: this.props.dataCount,\n pages: this.calPage(this.props.dataCount,this.props.showNumbers),\n };\n }\n\n componentDidMount() {\n\n }\n\n UNSAFE_componentWillReceiveProps(nextProps:Props, nextContext:any) {\n if (nextProps !== this.props) {\n this.setState({\n page:nextProps.page,\n dataCount: nextProps.dataCount,\n pages: this.calPage(nextProps.dataCount,nextProps.showNumbers),\n })\n }\n }\n\n calPage(count:number,number:number) {\n let pages = (count / number);\n if (count % number !== 0) {\n pages += 1;\n }\n return pages;\n }\n\n getClasses() {\n let base = 'ck-pagebar-main d-flex align-items-center';\n\n return classNames(base,this.props.className);\n }\n\n changePage(page:number) {\n if (page < 1) {\n page = 1;\n }\n\n if (page > this.state.pages) {\n page = this.state.pages;\n }\n if (typeof this.props.onSelect === 'function') {\n this.props.onSelect(page);\n }\n }\n\n render() {\n return (\n <div className={this.getClasses()}>\n <div className='total'>\n {this.props.dataCount}\n </div>\n {!this.props.noPage?<div className='page d-flex align-items-center align-self-center'>\n <div className='icon-btn' onClick={()=>{\n this.changePage(this.state.page-1);\n }}><Icon icon='angle-double-left'/></div>\n <div className='page-show'>\n <input onChange={(e)=>{\n this.setState({\n page:parseInt(e.target.value)\n })\n }} onKeyUp={(e)=>{\n if (e.keyCode === 13) {\n this.changePage(parseInt((e.target as HTMLInputElement).value));\n }\n }} type=\"number\" min=\"1\" max={this.state.pages} value={this.state.page}/> / {this.state.pages}\n </div>\n <div className='icon-btn' onClick={()=>{\n this.changePage(this.state.page+1);\n }}><Icon icon='angle-double-right'/></div>\n </div>:null}\n </div>\n );\n }\n}\n\nexport default PageBar;"],"file":"PageBar.js"}
package/lib/TopMenu.js CHANGED
@@ -1,19 +1,17 @@
1
- /* @clake/react-bootstrap4-window v0.7.7 | by Clake
1
+ /* @clake/react-bootstrap4-window v1.0.1 | by Clake
2
2
  * Copyright (c) 2024 Clake,
3
- * 2024-03-18T14:45:06+0800
3
+ * 2024-03-28T11:03:43+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.Item = 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
  require("./css/TopMenu.less");
19
17
 
@@ -41,130 +39,78 @@ 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 TopMenu =
42
+ var Item = exports.Item =
45
43
  /*#__PURE__*/
46
44
  function (_React$PureComponent) {
47
- _inherits(TopMenu, _React$PureComponent);
45
+ _inherits(Item, _React$PureComponent);
48
46
 
49
- function TopMenu(props) {
47
+ function Item(props) {
50
48
  var _this;
51
49
 
52
- _classCallCheck(this, TopMenu);
53
-
54
- _this = _possibleConstructorReturn(this, _getPrototypeOf(TopMenu).call(this, props));
55
-
56
- _defineProperty(_assertThisInitialized(_this), "clickHandler", function (key) {
57
- if (typeof _this.props.onClick === 'function') {
58
- _this.props.onClick(key);
59
- }
60
- });
61
-
62
- _this.cur_active = null;
63
- _this.is_active = false;
64
- return _this;
65
- }
66
-
67
- _createClass(TopMenu, [{
68
- key: "componentDidMount",
69
- value: function componentDidMount() {}
70
- }, {
71
- key: "getClasses",
72
- value: function getClasses() {
73
- var base = 'ck-top-menu d-flex border-bottom shadow';
74
-
75
- if (this.props.top) {
76
- base = (0, _bind["default"])(base, 'ck-top-menu-top');
77
- }
78
-
79
- return (0, _bind["default"])(base, this.props.className);
80
- }
81
- }, {
82
- key: "render",
83
- value: function render() {
84
- var _this2 = this;
85
-
86
- return _react["default"].createElement("div", {
87
- className: this.getClasses()
88
- }, _react["default"].Children.map(this.props.children, function (item) {
89
- item.props.parent = _this2;
90
- return _react["default"].cloneElement(item, item.props);
91
- }));
92
- }
93
- }]);
94
-
95
- return TopMenu;
96
- }(_react["default"].PureComponent);
50
+ _classCallCheck(this, Item);
97
51
 
98
- TopMenu.propTypes = {
99
- top: _propTypes["default"].bool,
100
- onClick: _propTypes["default"].func
101
- };
102
- TopMenu.defaultProps = {};
52
+ _this = _possibleConstructorReturn(this, _getPrototypeOf(Item).call(this, props));
103
53
 
104
- var Item =
105
- /*#__PURE__*/
106
- function (_React$PureComponent2) {
107
- _inherits(Item, _React$PureComponent2);
54
+ _defineProperty(_assertThisInitialized(_this), "parent", void 0);
108
55
 
109
- function Item(props) {
110
- var _this3;
56
+ _defineProperty(_assertThisInitialized(_this), "domId", void 0);
111
57
 
112
- _classCallCheck(this, Item);
58
+ _defineProperty(_assertThisInitialized(_this), "menu", void 0);
113
59
 
114
- _this3 = _possibleConstructorReturn(this, _getPrototypeOf(Item).call(this, props));
60
+ _defineProperty(_assertThisInitialized(_this), "dom", void 0);
115
61
 
116
- _defineProperty(_assertThisInitialized(_this3), "clickHandler", function (e) {
117
- if (typeof _this3.props.onClick === 'function') {
118
- _this3.props.onClick(_this3.props.name);
62
+ _defineProperty(_assertThisInitialized(_this), "clickHandler", function (e) {
63
+ if (typeof _this.props.onClick === 'function') {
64
+ _this.props.onClick(_this.props.name);
119
65
  } else {
120
- if (_this3.menu) {
121
- _this3.parent.is_active = true;
122
- _this3.parent.cur_active = _this3.dom;
123
- _this3.parent.cur_menu = _this3.menu;
66
+ if (_this.menu) {
67
+ _this.parent.is_active = true;
68
+ _this.parent.cur_active = _this.dom;
69
+ _this.parent.cur_menu = _this.menu;
124
70
 
125
- _this3.dom.classList.add('active');
71
+ _this.dom.classList.add('active');
126
72
 
127
- _this3.menu.show({
73
+ _this.menu.show({
128
74
  evt: e,
129
75
  type: 'dom-bottom',
130
76
  data: '',
131
- close: _this3.closeHandler
77
+ close: _this.closeHandler
132
78
  });
133
79
  }
134
80
  }
135
81
  });
136
82
 
137
- _defineProperty(_assertThisInitialized(_this3), "changeActive", function (e) {
138
- if (_this3.parent.is_active) {
139
- if (_this3.parent.cur_active === _this3.dom) return;
83
+ _defineProperty(_assertThisInitialized(_this), "changeActive", function (e) {
84
+ if (_this.parent.is_active) {
85
+ if (_this.parent.cur_active === _this.dom) return;
140
86
 
141
- if (_this3.parent.cur_active) {
142
- _this3.parent.cur_active.classList.remove('active');
87
+ if (_this.parent.cur_active) {
88
+ _this.parent.cur_active.classList.remove('active');
143
89
 
144
- _this3.parent.cur_menu.hide();
90
+ _this.parent.cur_menu.hide();
145
91
  }
146
92
 
147
- _this3.clickHandler(e);
93
+ _this.clickHandler(e);
148
94
  }
149
95
  });
150
96
 
151
- _defineProperty(_assertThisInitialized(_this3), "closeHandler", function (e) {
97
+ _defineProperty(_assertThisInitialized(_this), "closeHandler", function (e) {
152
98
  // console.log(e);
153
99
  // // console.log('close');
154
100
  // console.log(this.props.text);
155
101
  if (e) {
156
- if (_this3.parent.cur_active) {
157
- _this3.parent.cur_active.classList.remove('active');
102
+ if (_this.parent.cur_active) {
103
+ _this.parent.cur_active.classList.remove('active');
158
104
 
159
- _this3.parent.is_active = false;
160
- _this3.parent.cur_menu = null;
105
+ _this.parent.is_active = false;
106
+ _this.parent.cur_menu = null;
161
107
  }
162
108
  }
163
109
  });
164
110
 
165
- _this3.parent = _this3.props.parent || null;
166
- _this3.domId = 'topmenu-item-' + _reactBootstrap.Common.RandomString(16);
167
- return _this3;
111
+ _this.parent = _this.props.parent || null;
112
+ _this.domId = 'topmenu-item-' + _reactBootstrap.Common.RandomString(16);
113
+ return _this;
168
114
  }
169
115
 
170
116
  _createClass(Item, [{
@@ -174,26 +120,26 @@ function (_React$PureComponent2) {
174
120
  key: "getClasses",
175
121
  value: function getClasses() {
176
122
  var base = 'ck-top-menu-item';
177
- return (0, _bind["default"])(base, this.props.className);
123
+ return (0, _classnames["default"])(base, this.props.className);
178
124
  }
179
125
  }, {
180
126
  key: "render",
181
127
  value: function render() {
182
- var _this4 = this;
128
+ var _this2 = this;
183
129
 
184
130
  return _react["default"].createElement("div", {
185
131
  ref: function ref(c) {
186
- return _this4.dom = c;
132
+ return _this2.dom = c;
187
133
  },
188
134
  id: this.domId,
189
135
  className: this.getClasses(),
190
136
  onMouseOver: this.changeActive,
191
137
  onClick: this.clickHandler
192
138
  }, this.props.text, _react["default"].Children.map(this.props.children, function (item) {
193
- item.props.parent = _this4;
139
+ item.props.parent = _this2;
194
140
 
195
141
  item.props.ref = function (c) {
196
- _this4.menu = c;
142
+ _this2.menu = c;
197
143
  };
198
144
 
199
145
  return _react["default"].cloneElement(item, item.props); // return item;
@@ -204,14 +150,65 @@ function (_React$PureComponent2) {
204
150
  return Item;
205
151
  }(_react["default"].PureComponent);
206
152
 
207
- Item.propTypes = {
208
- text: _propTypes["default"].string,
209
- parent: _propTypes["default"].any,
210
- onClick: _propTypes["default"].func,
211
- name: _propTypes["default"].string
212
- };
213
- Item.defaultProps = {};
214
- TopMenu.Item = Item;
215
- var _default = TopMenu;
216
- exports["default"] = _default;
153
+ var TopMenu =
154
+ /*#__PURE__*/
155
+ function (_React$PureComponent2) {
156
+ _inherits(TopMenu, _React$PureComponent2);
157
+
158
+ function TopMenu(props) {
159
+ var _this3;
160
+
161
+ _classCallCheck(this, TopMenu);
162
+
163
+ _this3 = _possibleConstructorReturn(this, _getPrototypeOf(TopMenu).call(this, props));
164
+
165
+ _defineProperty(_assertThisInitialized(_this3), "cur_active", void 0);
166
+
167
+ _defineProperty(_assertThisInitialized(_this3), "is_active", void 0);
168
+
169
+ _defineProperty(_assertThisInitialized(_this3), "clickHandler", function (key) {
170
+ if (typeof _this3.props.onClick === 'function') {
171
+ _this3.props.onClick(key);
172
+ }
173
+ });
174
+
175
+ _this3.cur_active = null;
176
+ _this3.is_active = false;
177
+ return _this3;
178
+ }
179
+
180
+ _createClass(TopMenu, [{
181
+ key: "componentDidMount",
182
+ value: function componentDidMount() {}
183
+ }, {
184
+ key: "getClasses",
185
+ value: function getClasses() {
186
+ var base = 'ck-top-menu d-flex border-bottom shadow';
187
+
188
+ if (this.props.top) {
189
+ base = (0, _classnames["default"])(base, 'ck-top-menu-top');
190
+ }
191
+
192
+ return (0, _classnames["default"])(base, this.props.className);
193
+ }
194
+ }, {
195
+ key: "render",
196
+ value: function render() {
197
+ var _this4 = this;
198
+
199
+ return _react["default"].createElement("div", {
200
+ className: this.getClasses()
201
+ }, _react["default"].Children.map(this.props.children, function (item) {
202
+ item.props.parent = _this4;
203
+ return _react["default"].cloneElement(item, item.props);
204
+ }));
205
+ }
206
+ }]);
207
+
208
+ return TopMenu;
209
+ }(_react["default"].PureComponent);
210
+
211
+ _defineProperty(TopMenu, "Item", Item);
212
+
213
+ var _default = exports["default"] = TopMenu;
217
214
  //# sourceMappingURL=TopMenu.js.map
@@ -1,5 +1,5 @@
1
- /* @clake/react-bootstrap4-window v0.7.7 | by Clake
1
+ /* @clake/react-bootstrap4-window v1.0.1 | by Clake
2
2
  * Copyright (c) 2024 Clake,
3
- * 2024-03-18T14:45:06+0800
3
+ * 2024-03-28T11:03:43+0800
4
4
  */
5
- {"version":3,"sources":["TopMenu.js"],"names":["TopMenu","props","key","onClick","cur_active","is_active","base","top","className","getClasses","React","Children","map","children","item","parent","cloneElement","PureComponent","propTypes","PropTypes","bool","func","defaultProps","Item","e","name","menu","dom","cur_menu","classList","add","show","evt","type","data","close","closeHandler","remove","hide","clickHandler","domId","Common","RandomString","c","changeActive","text","ref","string","any"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames/bind';\nimport './css/TopMenu.less';\nimport {\n Common\n} from '@clake/react-bootstrap4';\nclass TopMenu extends React.PureComponent {\n constructor(props) {\n super(props);\n this.cur_active = null;\n this.is_active = false;\n }\n\n componentDidMount() {\n\n }\n\n clickHandler = (key)=>{\n if (typeof this.props.onClick === 'function') {\n this.props.onClick(key);\n }\n };\n\n getClasses() {\n let base = 'ck-top-menu d-flex border-bottom shadow';\n\n if (this.props.top) {\n base = classNames(base,'ck-top-menu-top');\n }\n\n return classNames(base,this.props.className);\n }\n\n render() {\n return (\n <div className={this.getClasses()}>\n {React.Children.map(this.props.children,(item)=>{\n item.props.parent = this;\n return React.cloneElement(item,item.props);\n })}\n </div>\n );\n }\n}\n\nTopMenu.propTypes = {\n top: PropTypes.bool,\n onClick: PropTypes.func\n};\n\nTopMenu.defaultProps = {\n\n};\n\nclass Item extends React.PureComponent {\n constructor(props) {\n super(props);\n this.parent = this.props.parent || null;\n this.domId = 'topmenu-item-' + Common.RandomString(16);\n }\n\n componentDidMount() {\n\n }\n\n clickHandler = (e)=>{\n if (typeof this.props.onClick === 'function') {\n this.props.onClick(this.props.name);\n } else {\n if (this.menu) {\n this.parent.is_active = true;\n this.parent.cur_active = this.dom;\n this.parent.cur_menu = this.menu;\n this.dom.classList.add('active');\n this.menu.show({\n evt:e,\n type:'dom-bottom',\n data:'',\n close:this.closeHandler\n });\n }\n }\n };\n\n getClasses() {\n let base = 'ck-top-menu-item';\n\n return classNames(base,this.props.className);\n }\n\n changeActive = (e) => {\n if (this.parent.is_active) {\n if (this.parent.cur_active === this.dom) return;\n if (this.parent.cur_active) {\n this.parent.cur_active.classList.remove('active');\n this.parent.cur_menu.hide();\n }\n this.clickHandler(e);\n }\n };\n\n closeHandler = (e)=>{\n // console.log(e);\n // // console.log('close');\n // console.log(this.props.text);\n if (e) {\n if (this.parent.cur_active) {\n this.parent.cur_active.classList.remove('active');\n this.parent.is_active = false;\n this.parent.cur_menu = null;\n }\n }\n };\n\n render() {\n return (\n <div ref={c=>this.dom=c} id={this.domId} className={this.getClasses()}\n onMouseOver={this.changeActive}\n onClick={this.clickHandler}>\n {this.props.text}\n {React.Children.map(this.props.children,(item)=>{\n item.props.parent = this;\n item.props.ref = (c)=>{\n this.menu = c;\n };\n return React.cloneElement(item,item.props);\n // return item;\n })}\n </div>\n );\n }\n}\n\nItem.propTypes = {\n text: PropTypes.string,\n parent: PropTypes.any,\n onClick: PropTypes.func,\n name: PropTypes.string\n};\n\nItem.defaultProps = {\n\n};\n\nTopMenu.Item = Item;\n\nexport default TopMenu;"],"file":"TopMenu.js"}
5
+ {"version":3,"sources":["TopMenu.tsx"],"names":["Item","props","e","onClick","name","menu","parent","is_active","cur_active","dom","cur_menu","classList","add","show","evt","type","data","close","closeHandler","remove","hide","clickHandler","domId","Common","RandomString","base","className","c","getClasses","changeActive","text","React","Children","map","children","item","ref","cloneElement","PureComponent","TopMenu","key","top"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport './css/TopMenu.less';\nimport {\n Common,\n ComponentProps\n} from '@clake/react-bootstrap4';\n\ninterface Props extends ComponentProps {\n top?: boolean\n onClick?: (key:string)=>void\n}\n\ninterface State {\n\n}\n\ninterface ItemProps extends ComponentProps {\n text?: string\n parent?: any\n onClick?: (key:string)=>void\n name: string\n}\n\ninterface ItemState {\n\n}\n\nexport class Item extends React.PureComponent<ItemProps,ItemState> {\n parent:any\n domId:string\n menu:any\n dom:any\n constructor(props:any) {\n super(props);\n this.parent = this.props.parent || null;\n this.domId = 'topmenu-item-' + Common.RandomString(16);\n }\n\n componentDidMount() {\n\n }\n\n clickHandler = (e:any)=>{\n if (typeof this.props.onClick === 'function') {\n this.props.onClick(this.props.name);\n } else {\n if (this.menu) {\n this.parent.is_active = true;\n this.parent.cur_active = this.dom;\n this.parent.cur_menu = this.menu;\n this.dom.classList.add('active');\n this.menu.show({\n evt:e,\n type:'dom-bottom',\n data:'',\n close:this.closeHandler\n });\n }\n }\n };\n\n getClasses() {\n let base = 'ck-top-menu-item';\n\n return classNames(base,this.props.className);\n }\n\n changeActive = (e:any) => {\n if (this.parent.is_active) {\n if (this.parent.cur_active === this.dom) return;\n if (this.parent.cur_active) {\n this.parent.cur_active.classList.remove('active');\n this.parent.cur_menu.hide();\n }\n this.clickHandler(e);\n }\n };\n\n closeHandler = (e:any)=>{\n // console.log(e);\n // // console.log('close');\n // console.log(this.props.text);\n if (e) {\n if (this.parent.cur_active) {\n this.parent.cur_active.classList.remove('active');\n this.parent.is_active = false;\n this.parent.cur_menu = null;\n }\n }\n };\n\n render() {\n return (\n <div ref={(c:any)=>this.dom=c} id={this.domId} className={this.getClasses()}\n onMouseOver={this.changeActive}\n onClick={this.clickHandler}>\n {this.props.text}\n {React.Children.map(this.props.children,(item)=>{\n item.props.parent = this;\n item.props.ref = (c:any)=>{\n this.menu = c;\n };\n return React.cloneElement(item,item.props);\n // return item;\n })}\n </div>\n );\n }\n}\n\nclass TopMenu extends React.PureComponent<Props,State> {\n static Item = Item\n \n cur_active:any\n is_active:boolean\n constructor(props:any) {\n super(props);\n this.cur_active = null;\n this.is_active = false;\n }\n\n componentDidMount() {\n\n }\n\n clickHandler = (key:any)=>{\n if (typeof this.props.onClick === 'function') {\n this.props.onClick(key);\n }\n };\n\n getClasses() {\n let base = 'ck-top-menu d-flex border-bottom shadow';\n\n if (this.props.top) {\n base = classNames(base,'ck-top-menu-top');\n }\n\n return classNames(base,this.props.className);\n }\n\n render() {\n return (\n <div className={this.getClasses()}>\n {React.Children.map(this.props.children,(item)=>{\n item.props.parent = this;\n return React.cloneElement(item,item.props);\n })}\n </div>\n );\n }\n}\n\nexport default TopMenu;"],"file":"TopMenu.js"}
package/lib/WCalendar.js CHANGED
@@ -1,6 +1,6 @@
1
- /* @clake/react-bootstrap4-window v0.7.7 | by Clake
1
+ /* @clake/react-bootstrap4-window v1.0.1 | by Clake
2
2
  * Copyright (c) 2024 Clake,
3
- * 2024-03-18T14:45:06+0800
3
+ * 2024-03-28T11:03:43+0800
4
4
  */
5
5
  "use strict";
6
6
 
@@ -11,17 +11,11 @@ exports["default"] = 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
 
20
- var ReactDOM = _interopRequireWildcard(require("react-dom"));
21
-
22
- function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
23
-
24
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
18
+ var _reactDom = _interopRequireDefault(require("react-dom"));
25
19
 
26
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
27
21
 
@@ -57,6 +51,14 @@ function (_React$PureComponent) {
57
51
 
58
52
  _this = _possibleConstructorReturn(this, _getPrototypeOf(WCalendar).call(this, props));
59
53
 
54
+ _defineProperty(_assertThisInitialized(_this), "event", void 0);
55
+
56
+ _defineProperty(_assertThisInitialized(_this), "calDom", void 0);
57
+
58
+ _defineProperty(_assertThisInitialized(_this), "calendar", void 0);
59
+
60
+ _defineProperty(_assertThisInitialized(_this), "dom", void 0);
61
+
60
62
  _defineProperty(_assertThisInitialized(_this), "hide", function () {
61
63
  _this.dom.classList.add('d-none');
62
64
  });
@@ -75,7 +77,7 @@ function (_React$PureComponent) {
75
77
  _createClass(WCalendar, [{
76
78
  key: "componentDidMount",
77
79
  value: function componentDidMount() {
78
- this.calDom = ReactDOM.findDOMNode(this.calendar);
80
+ this.calDom = _reactDom["default"].findDOMNode(this.calendar);
79
81
  }
80
82
  }, {
81
83
  key: "show",
@@ -89,7 +91,7 @@ function (_React$PureComponent) {
89
91
  this.event = e;
90
92
  this.calendar.show(e.currentTarget);
91
93
 
92
- if (positionTop + this.calDom.offsetHeight > document.documentElement.scrollTop + document.documentElement.clientHeight) {} else {
94
+ if (positionTop + this.calDom.offsetHeight < document.documentElement.scrollTop + document.documentElement.clientHeight) {
93
95
  positionTop += 5;
94
96
  }
95
97
 
@@ -115,7 +117,7 @@ function (_React$PureComponent) {
115
117
  key: "getClasses",
116
118
  value: function getClasses() {
117
119
  var base = 'ck-wcombo d-none';
118
- return (0, _bind["default"])(base, this.props.className);
120
+ return (0, _classnames["default"])(base, this.props.className);
119
121
  }
120
122
  }, {
121
123
  key: "format",
@@ -166,17 +168,12 @@ function (_React$PureComponent) {
166
168
  document.body.appendChild(mainDom);
167
169
  }
168
170
 
169
- return ReactDOM.createPortal(content, mainDom);
171
+ return _reactDom["default"].createPortal(content, mainDom);
170
172
  }
171
173
  }]);
172
174
 
173
175
  return WCalendar;
174
176
  }(_react["default"].PureComponent);
175
177
 
176
- WCalendar.propTypes = {
177
- onSelect: _propTypes["default"].func
178
- };
179
- WCalendar.defaultProps = {};
180
- var _default = WCalendar;
181
- exports["default"] = _default;
178
+ var _default = exports["default"] = WCalendar;
182
179
  //# sourceMappingURL=WCalendar.js.map
@@ -1,5 +1,5 @@
1
- /* @clake/react-bootstrap4-window v0.7.7 | by Clake
1
+ /* @clake/react-bootstrap4-window v1.0.1 | by Clake
2
2
  * Copyright (c) 2024 Clake,
3
- * 2024-03-18T14:45:06+0800
3
+ * 2024-03-28T11:03:43+0800
4
4
  */
5
- {"version":3,"sources":["WCalendar.js"],"names":["WCalendar","props","dom","classList","add","val","onSelect","event","calDom","ReactDOM","findDOMNode","calendar","e","xy","Common","GetDomXY","currentTarget","positionTop","top","height","style","left","remove","show","offsetHeight","document","documentElement","scrollTop","clientHeight","scroll","scrollLeft","parentNode","body","base","className","format","d","setCurrentDate","lang","i18n","getLang","content","c","getClasses","selectHandler","value","mainDom","getElementById","createElement","id","appendChild","createPortal","React","PureComponent","propTypes","PropTypes","func","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames/bind';\nimport {\n Calendar,\n Common,\n i18n\n// } from \"../../../git_project/react-bootstrap-v4/src/index\";\n} from '@clake/react-bootstrap4';\nimport * as ReactDOM from \"react-dom\";\nclass WCalendar extends React.PureComponent {\n constructor(props) {\n super(props);\n this.event = null;\n this.calDom = null;\n }\n\n componentDidMount() {\n this.calDom = ReactDOM.findDOMNode(this.calendar);\n }\n\n show(e) {\n let xy = Common.GetDomXY(e.currentTarget);\n // let fixed = this.calculatePosition(e.currentTarget);\n let positionTop = (xy.top+xy.height);\n this.dom.style.left = (xy.left)+'px';\n this.dom.classList.remove('d-none');\n this.event = e;\n this.calendar.show(e.currentTarget);\n if (positionTop + this.calDom.offsetHeight >\n document.documentElement.scrollTop + document.documentElement.clientHeight) {\n } else {\n positionTop += 5;\n }\n this.dom.style.top = positionTop+'px';\n }\n\n hide = ()=>{\n this.dom.classList.add('d-none');\n };\n\n calculatePosition(e) {\n let scroll = {\n top: e.scrollTop||0,\n left: e.scrollLeft||0\n };\n\n while((e=e.parentNode) && e !== document.body) {\n if (!e.scrollTop && !e.scrollLeft) continue;\n scroll.top += e.scrollTop;\n scroll.left += e.scrollLeft;\n }\n\n\n return scroll;\n }\n\n selectHandler = (val)=>{\n if (typeof this.props.onSelect === 'function') {\n this.props.onSelect(val,this.event);\n }\n };\n\n getClasses() {\n let base = 'ck-wcombo d-none';\n\n return classNames(base,this.props.className);\n }\n\n format() {\n return this.calendar?.format();\n }\n\n setCurrentDate(d) {\n return this.calendar?.setCurrentDate(d);\n }\n\n render() {\n let lang = i18n.getLang();\n let content = (\n <div ref={c=>this.dom=c} className={this.getClasses()}>\n <Calendar ref={c => this.calendar = c} onSelect={this.selectHandler}\n value={this.props.value}\n format={this.props.format}\n lang={lang.short} none shadow absolute triangular='up' sm/>\n </div>\n );\n\n let mainDom = document.getElementById('wcalendar');\n if (!mainDom) {\n mainDom = document.createElement(\"DIV\");\n mainDom.id = 'wcalendar';\n document.body.appendChild(mainDom);\n }\n\n return ReactDOM.createPortal(\n content,mainDom\n );\n }\n}\n\nWCalendar.propTypes = {\n onSelect: PropTypes.func\n};\n\nWCalendar.defaultProps = {\n\n};\n\nexport default WCalendar;"],"file":"WCalendar.js"}
5
+ {"version":3,"sources":["WCalendar.tsx"],"names":["WCalendar","props","dom","classList","add","val","onSelect","event","calDom","ReactDOM","findDOMNode","calendar","e","xy","Common","GetDomXY","currentTarget","positionTop","top","height","style","left","remove","show","offsetHeight","document","documentElement","scrollTop","clientHeight","scroll","scrollLeft","parentNode","body","base","className","format","d","setCurrentDate","lang","i18n","getLang","content","c","getClasses","selectHandler","value","mainDom","getElementById","createElement","id","appendChild","createPortal","React","PureComponent"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport {\n Calendar,\n Common,\n ComponentProps,\n i18n\n} from '@clake/react-bootstrap4';\nimport ReactDOM from \"react-dom\";\n\ninterface Props extends ComponentProps {\n value?:any\n combo?:any\n noSearch?:boolean\n format?:string\n onSelect?:(val:any,row:any)=>void\n}\n\ninterface State {\n\n}\n\nclass WCalendar extends React.PureComponent<Props,State> {\n event:any\n calDom:any\n calendar:any\n dom:HTMLDivElement\n constructor(props:any) {\n super(props);\n this.event = null;\n this.calDom = null;\n }\n\n componentDidMount() {\n this.calDom = ReactDOM.findDOMNode(this.calendar);\n }\n\n show(e:any) {\n let xy = Common.GetDomXY(e.currentTarget);\n // let fixed = this.calculatePosition(e.currentTarget);\n let positionTop = (xy.top+xy.height);\n this.dom.style.left = (xy.left)+'px';\n this.dom.classList.remove('d-none');\n this.event = e;\n this.calendar.show(e.currentTarget);\n if (positionTop + this.calDom.offsetHeight <\n document.documentElement.scrollTop + document.documentElement.clientHeight) {\n positionTop += 5;\n } \n this.dom.style.top = positionTop+'px';\n }\n\n hide = ()=>{\n this.dom.classList.add('d-none');\n };\n\n calculatePosition(e:any) {\n let scroll = {\n top: e.scrollTop||0,\n left: e.scrollLeft||0\n };\n\n while((e=e.parentNode) && e !== document.body) {\n if (!e.scrollTop && !e.scrollLeft) continue;\n scroll.top += e.scrollTop;\n scroll.left += e.scrollLeft;\n }\n\n\n return scroll;\n }\n\n selectHandler = (val:any)=>{\n if (typeof this.props.onSelect === 'function') {\n this.props.onSelect(val,this.event);\n }\n };\n\n getClasses() {\n let base = 'ck-wcombo d-none';\n\n return classNames(base,this.props.className);\n }\n\n format() {\n return this.calendar?.format();\n }\n\n setCurrentDate(d:any) {\n return this.calendar?.setCurrentDate(d);\n }\n\n render() {\n let lang = i18n.getLang();\n let content = (\n <div ref={(c:any)=>this.dom=c} className={this.getClasses()}>\n <Calendar ref={(c:any)=> this.calendar = c} onSelect={this.selectHandler}\n value={this.props.value}\n format={this.props.format}\n lang={lang.short} none shadow absolute triangular='up' sm/>\n </div>\n );\n\n let mainDom = document.getElementById('wcalendar');\n if (!mainDom) {\n mainDom = document.createElement(\"DIV\");\n mainDom.id = 'wcalendar';\n document.body.appendChild(mainDom);\n }\n\n return ReactDOM.createPortal(\n content,mainDom\n );\n }\n}\n\nexport default WCalendar;"],"file":"WCalendar.js"}
package/lib/WCombo.js CHANGED
@@ -1,6 +1,6 @@
1
- /* @clake/react-bootstrap4-window v0.7.7 | by Clake
1
+ /* @clake/react-bootstrap4-window v1.0.1 | by Clake
2
2
  * Copyright (c) 2024 Clake,
3
- * 2024-03-18T14:45:06+0800
3
+ * 2024-03-28T11:03:43+0800
4
4
  */
5
5
  "use strict";
6
6
 
@@ -13,7 +13,7 @@ var _react = _interopRequireDefault(require("react"));
13
13
 
14
14
  var ReactDOM = _interopRequireWildcard(require("react-dom"));
15
15
 
16
- var _bind = _interopRequireDefault(require("classnames/bind"));
16
+ var _classnames = _interopRequireDefault(require("classnames"));
17
17
 
18
18
  var _reactBootstrap = require("@clake/react-bootstrap4");
19
19
 
@@ -59,6 +59,14 @@ function (_React$PureComponent) {
59
59
 
60
60
  _this = _possibleConstructorReturn(this, _getPrototypeOf(WCombo).call(this, props));
61
61
 
62
+ _defineProperty(_assertThisInitialized(_this), "event", void 0);
63
+
64
+ _defineProperty(_assertThisInitialized(_this), "calDom", void 0);
65
+
66
+ _defineProperty(_assertThisInitialized(_this), "combo", void 0);
67
+
68
+ _defineProperty(_assertThisInitialized(_this), "dom", void 0);
69
+
62
70
  _defineProperty(_assertThisInitialized(_this), "hide", function () {
63
71
  _this.dom.classList.add('d-none');
64
72
  });
@@ -97,7 +105,7 @@ function (_React$PureComponent) {
97
105
  this.event = e;
98
106
  this.combo.show(search, e.currentTarget);
99
107
 
100
- if (positionTop + this.calDom.offsetHeight > document.documentElement.scrollTop + document.documentElement.clientHeight) {} else {
108
+ if (positionTop + this.calDom.offsetHeight < document.documentElement.scrollTop + document.documentElement.clientHeight) {
101
109
  positionTop += 5;
102
110
  }
103
111
 
@@ -112,7 +120,7 @@ function (_React$PureComponent) {
112
120
  key: "getClasses",
113
121
  value: function getClasses() {
114
122
  var base = 'ck-wcombo d-none';
115
- return (0, _bind["default"])(base, this.props.className);
123
+ return (0, _classnames["default"])(base, this.props.className);
116
124
  }
117
125
  }, {
118
126
  key: "render",
@@ -152,8 +160,5 @@ function (_React$PureComponent) {
152
160
  return WCombo;
153
161
  }(_react["default"].PureComponent);
154
162
 
155
- WCombo.propTypes = {};
156
- WCombo.defaultProps = {};
157
- var _default = WCombo;
158
- exports["default"] = _default;
163
+ var _default = exports["default"] = WCombo;
159
164
  //# sourceMappingURL=WCombo.js.map
package/lib/WCombo.js.map CHANGED
@@ -1,5 +1,5 @@
1
- /* @clake/react-bootstrap4-window v0.7.7 | by Clake
1
+ /* @clake/react-bootstrap4-window v1.0.1 | by Clake
2
2
  * Copyright (c) 2024 Clake,
3
- * 2024-03-18T14:45:06+0800
3
+ * 2024-03-28T11:03:43+0800
4
4
  */
5
- {"version":3,"sources":["WCombo.js"],"names":["WCombo","props","dom","classList","add","val","row","onSelect","event","calDom","ReactDOM","findDOMNode","combo","window","removeEventListener","hide","search","e","xy","Common","GetDomXY","currentTarget","positionTop","top","height","style","left","remove","show","offsetHeight","document","documentElement","scrollTop","clientHeight","filter","base","className","content","c","getClasses","data","noSearch","selectHandler","mainDom","getElementById","createElement","id","body","appendChild","createPortal","React","PureComponent","propTypes","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\nimport * as ReactDOM from \"react-dom\";\nimport classNames from 'classnames/bind';\nimport {\n Combo,\n Common\n// } from \"../../../git_project/react-bootstrap-v4/src/index\";\n} from '@clake/react-bootstrap4';\nimport './css/WCombo.less';\n\nclass WCombo extends React.PureComponent {\n constructor(props) {\n super(props);\n\n this.event = null;\n this.calDom = null;\n }\n\n componentDidMount() {\n this.calDom = ReactDOM.findDOMNode(this.combo);\n }\n\n componentWillUnmount() {\n window.removeEventListener('mousedown',this.hide,false);\n }\n\n show(search,e) {\n let xy = Common.GetDomXY(e.currentTarget);\n // let fixed = this.calculatePosition(e.currentTarget);\n // console.log(fixed);\n let positionTop = (xy.top+xy.height);\n this.dom.style.left = (xy.left)+'px';\n this.dom.classList.remove('d-none');\n this.event = e;\n this.combo.show(search,e.currentTarget);\n if (positionTop + this.calDom.offsetHeight >\n document.documentElement.scrollTop + document.documentElement.clientHeight) {\n } else {\n positionTop += 5;\n }\n this.dom.style.top = (positionTop)+'px';\n }\n\n hide = ()=>{\n this.dom.classList.add('d-none');\n };\n\n filter(val) {\n this.combo.filter(val);\n }\n\n getClasses() {\n let base = 'ck-wcombo d-none';\n\n return classNames(base,this.props.className);\n }\n\n selectHandler = (val,row)=>{\n if (typeof this.props.onSelect === 'function') {\n this.props.onSelect(val,row,this.event);\n }\n };\n\n render() {\n let content = (\n <div ref={c=>this.dom=c} className={this.getClasses()}>\n <Combo ref={c => this.combo = c} {...this.props.combo} sm\n data={this.props.data} noSearch={this.props.noSearch}\n onSelect={this.selectHandler} onClose={this.hide}/>\n </div>\n );\n\n let mainDom = document.getElementById('wcombo');\n if (!mainDom) {\n mainDom = document.createElement(\"DIV\");\n mainDom.id = 'wcombo';\n mainDom.className = 'ck-wcombo-container';\n document.body.appendChild(mainDom);\n }\n\n return ReactDOM.createPortal(\n content,mainDom\n );\n }\n}\n\nWCombo.propTypes = {\n\n};\n\nWCombo.defaultProps = {\n\n};\n\nexport default WCombo;"],"file":"WCombo.js"}
5
+ {"version":3,"sources":["WCombo.tsx"],"names":["WCombo","props","dom","classList","add","val","row","onSelect","event","calDom","ReactDOM","findDOMNode","combo","window","removeEventListener","hide","search","e","xy","Common","GetDomXY","currentTarget","positionTop","top","height","style","left","remove","show","offsetHeight","document","documentElement","scrollTop","clientHeight","filter","base","className","content","c","getClasses","data","noSearch","selectHandler","mainDom","getElementById","createElement","id","body","appendChild","createPortal","React","PureComponent"],"mappings":"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","sourcesContent":["import React from 'react';\nimport * as ReactDOM from \"react-dom\";\nimport classNames from 'classnames';\nimport {\n Combo,\n Common,\n ComponentProps\n} from '@clake/react-bootstrap4';\nimport './css/WCombo.less';\n\ninterface Props extends ComponentProps {\n data?:any\n combo?:any\n noSearch?:boolean\n onSelect?:(val:any,row:any,evt:any)=>void\n}\n\ninterface State {\n\n}\n\nclass WCombo extends React.PureComponent<Props,State> {\n event:any\n calDom:any\n combo:any\n dom:HTMLDivElement\n constructor(props:any) {\n super(props);\n\n this.event = null;\n this.calDom = null;\n }\n\n componentDidMount() {\n this.calDom = ReactDOM.findDOMNode(this.combo);\n }\n\n componentWillUnmount() {\n window.removeEventListener('mousedown',this.hide,false);\n }\n\n show(search:string,e:any) {\n let xy = Common.GetDomXY(e.currentTarget);\n // let fixed = this.calculatePosition(e.currentTarget);\n // console.log(fixed);\n let positionTop = (xy.top+xy.height);\n this.dom.style.left = (xy.left)+'px';\n this.dom.classList.remove('d-none');\n this.event = e;\n this.combo.show(search,e.currentTarget);\n if (positionTop + this.calDom.offsetHeight <\n document.documentElement.scrollTop + document.documentElement.clientHeight) {\n positionTop += 5;\n }\n this.dom.style.top = (positionTop)+'px';\n }\n\n hide = ()=>{\n this.dom.classList.add('d-none');\n };\n\n filter(val:any) {\n this.combo.filter(val);\n }\n\n getClasses() {\n let base = 'ck-wcombo d-none';\n\n return classNames(base,this.props.className);\n }\n\n selectHandler = (val:any,row:any)=>{\n if (typeof this.props.onSelect === 'function') {\n this.props.onSelect(val,row,this.event);\n }\n };\n\n render() {\n let content = (\n <div ref={(c:any)=>this.dom=c} className={this.getClasses()}>\n <Combo ref={(c:any) => this.combo = c} {...this.props.combo} sm\n data={this.props.data} noSearch={this.props.noSearch}\n onSelect={this.selectHandler} onClose={this.hide}/>\n </div>\n );\n\n let mainDom = document.getElementById('wcombo');\n if (!mainDom) {\n mainDom = document.createElement(\"DIV\");\n mainDom.id = 'wcombo';\n mainDom.className = 'ck-wcombo-container';\n document.body.appendChild(mainDom);\n }\n\n return ReactDOM.createPortal(\n content,mainDom\n );\n }\n}\n\nexport default WCombo;"],"file":"WCombo.js"}