tplus-components-touch 3.54.1 → 3.55.1
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/components/cloudPrint/printTemplate/template.js +52 -0
- package/dist/components/cloudPrint/printTemplate/template.js.map +1 -0
- package/dist/components/commonForm/addressPicker/index.js +255 -0
- package/dist/components/commonForm/addressPicker/index.js.map +1 -0
- package/dist/components/commonForm/autoComplete/index.js +260 -0
- package/dist/components/commonForm/autoComplete/index.js.map +1 -0
- package/dist/components/commonForm/datePicker/index.js +92 -0
- package/dist/components/commonForm/datePicker/index.js.map +1 -0
- package/dist/components/commonForm/formControl/index.js +144 -0
- package/dist/components/commonForm/formControl/index.js.map +1 -0
- package/dist/components/commonForm/index.js +231 -0
- package/dist/components/commonForm/index.js.map +1 -0
- package/dist/components/commonForm/inputNumber/index.js +272 -0
- package/dist/components/commonForm/inputNumber/index.js.map +1 -0
- package/dist/components/commonForm/radio/index.js +132 -0
- package/dist/components/commonForm/radio/index.js.map +1 -0
- package/dist/components/deliverySearch/api.js +355 -0
- package/dist/components/deliverySearch/api.js.map +1 -0
- package/dist/components/deliverySearch/index.js +1222 -0
- package/dist/components/deliverySearch/index.js.map +1 -0
- package/dist/components/form/index.js +310 -0
- package/dist/components/form/index.js.map +1 -0
- package/dist/components/hardwareAPI/index.js +215 -0
- package/dist/components/hardwareAPI/index.js.map +1 -0
- package/dist/components/hotKey/config.js +306 -0
- package/dist/components/hotKey/config.js.map +1 -0
- package/dist/components/hotKey/hotKeyModal.js +479 -0
- package/dist/components/hotKey/hotKeyModal.js.map +1 -0
- package/dist/components/hotKey/index.js +795 -0
- package/dist/components/hotKey/index.js.map +1 -0
- package/dist/components/hotKey/localConfig.js +1216 -0
- package/dist/components/hotKey/localConfig.js.map +1 -0
- package/dist/components/hotKey/utils.js +135 -0
- package/dist/components/hotKey/utils.js.map +1 -0
- package/dist/components/input/index.js +254 -0
- package/dist/components/input/index.js.map +1 -0
- package/dist/components/input/scanInput.js +98 -0
- package/dist/components/input/scanInput.js.map +1 -0
- package/dist/components/input/tplusInput/index.js +81 -0
- package/dist/components/input/tplusInput/index.js.map +1 -0
- package/dist/components/input/tplusInput/inputContent.js +128 -0
- package/dist/components/input/tplusInput/inputContent.js.map +1 -0
- package/dist/components/input/tplusInput/inputs.js +151 -0
- package/dist/components/input/tplusInput/inputs.js.map +1 -0
- package/dist/components/input/utils/index.js +26 -0
- package/dist/components/input/utils/index.js.map +1 -0
- package/dist/components/inventorySearch/api.js +214 -0
- package/dist/components/inventorySearch/api.js.map +1 -0
- package/dist/components/inventorySearch/index.js +303 -0
- package/dist/components/inventorySearch/index.js.map +1 -0
- package/dist/components/inventorySearch/store.js +363 -0
- package/dist/components/inventorySearch/store.js.map +1 -0
- package/dist/components/inventorySearch/tab.js +280 -0
- package/dist/components/inventorySearch/tab.js.map +1 -0
- package/dist/components/keyboard/index.js +259 -0
- package/dist/components/keyboard/index.js.map +1 -0
- package/dist/components/keyboard/letterKeyboard.js +227 -0
- package/dist/components/keyboard/letterKeyboard.js.map +1 -0
- package/dist/components/keyboard/numKeyboard.js +469 -0
- package/dist/components/keyboard/numKeyboard.js.map +1 -0
- package/dist/components/keyboard/numKeyboardScan.js +208 -0
- package/dist/components/keyboard/numKeyboardScan.js.map +1 -0
- package/dist/components/keyboard/numberButton_input.js +305 -0
- package/dist/components/keyboard/numberButton_input.js.map +1 -0
- package/dist/components/keyboard/numkeyboardPassword.js +477 -0
- package/dist/components/keyboard/numkeyboardPassword.js.map +1 -0
- package/dist/components/keyboard/onlyKeyboard.js +90 -0
- package/dist/components/keyboard/onlyKeyboard.js.map +1 -0
- package/dist/components/keyboard/onlyLetterButton.js +187 -0
- package/dist/components/keyboard/onlyLetterButton.js.map +1 -0
- package/dist/components/keyboard/onlyLetterButton2.js +235 -0
- package/dist/components/keyboard/onlyLetterButton2.js.map +1 -0
- package/dist/components/keyboard/onlyNumberButton.js +128 -0
- package/dist/components/keyboard/onlyNumberButton.js.map +1 -0
- package/dist/components/keyboard/onlyNumberButton2.js +115 -0
- package/dist/components/keyboard/onlyNumberButton2.js.map +1 -0
- package/dist/components/keyboard/textKeyboard.js +50 -0
- package/dist/components/keyboard/textKeyboard.js.map +1 -0
- package/dist/components/layout/hamburger.js +29 -0
- package/dist/components/layout/hamburger.js.map +1 -0
- package/dist/components/layout/index.js +31 -0
- package/dist/components/layout/index.js.map +1 -0
- package/dist/components/layout/layout.js +182 -0
- package/dist/components/layout/layout.js.map +1 -0
- package/dist/components/layout/sider.js +167 -0
- package/dist/components/layout/sider.js.map +1 -0
- package/dist/components/loading/index.js +198 -0
- package/dist/components/loading/index.js.map +1 -0
- package/dist/components/loading/loadingContent.js +188 -0
- package/dist/components/loading/loadingContent.js.map +1 -0
- package/dist/components/loading/utils.js +29 -0
- package/dist/components/loading/utils.js.map +1 -0
- package/dist/components/message/index.js +309 -0
- package/dist/components/message/index.js.map +1 -0
- package/dist/components/modal/index.js +93 -0
- package/dist/components/modal/index.js.map +1 -0
- package/dist/components/modalVertical/index.js +325 -0
- package/dist/components/modalVertical/index.js.map +1 -0
- package/dist/components/modalWraper/index.js +485 -0
- package/dist/components/modalWraper/index.js.map +1 -0
- package/dist/components/modalWraper/utils.js +48 -0
- package/dist/components/modalWraper/utils.js.map +1 -0
- package/dist/components/notification/index.js +118 -0
- package/dist/components/notification/index.js.map +1 -0
- package/dist/components/overflowTip/index.js +269 -0
- package/dist/components/overflowTip/index.js.map +1 -0
- package/dist/components/page/index.js +49 -0
- package/dist/components/page/index.js.map +1 -0
- package/dist/components/presale/pickup.js +479 -0
- package/dist/components/presale/pickup.js.map +1 -0
- package/dist/components/product/detail.js +148 -0
- package/dist/components/product/detail.js.map +1 -0
- package/dist/components/product/getCard.js +145 -0
- package/dist/components/product/getCard.js.map +1 -0
- package/dist/components/progressState/EmptyAndErrorView.js +142 -0
- package/dist/components/progressState/EmptyAndErrorView.js.map +1 -0
- package/dist/components/progressState/ProgressState.js +158 -0
- package/dist/components/progressState/ProgressState.js.map +1 -0
- package/dist/components/progressState/index.js +14 -0
- package/dist/components/progressState/index.js.map +1 -0
- package/dist/components/scan/index.js +219 -0
- package/dist/components/scan/index.js.map +1 -0
- package/dist/components/select/index.js +28 -0
- package/dist/components/select/index.js.map +1 -0
- package/dist/components/settlement/asyncModal.js +207 -0
- package/dist/components/settlement/asyncModal.js.map +1 -0
- package/dist/components/settlement/index.js +25 -0
- package/dist/components/settlement/index.js.map +1 -0
- package/dist/components/settlement/moreCzkTable/index.js +156 -0
- package/dist/components/settlement/moreCzkTable/index.js.map +1 -0
- package/dist/components/settlement/prototypeTable/index.js +353 -0
- package/dist/components/settlement/prototypeTable/index.js.map +1 -0
- package/dist/components/settlement/prototypeTable/utils.js +14 -0
- package/dist/components/settlement/prototypeTable/utils.js.map +1 -0
- package/dist/components/settlement/settlement.js +5557 -0
- package/dist/components/settlement/settlement.js.map +1 -0
- package/dist/components/settlement/settlement.less +0 -10
- package/dist/components/settlement/settlementApi.js +512 -0
- package/dist/components/settlement/settlementApi.js.map +1 -0
- package/dist/components/settlement/settlementStore.js +2833 -0
- package/dist/components/settlement/settlementStore.js.map +1 -0
- package/dist/components/settlement/utils.js +249 -0
- package/dist/components/settlement/utils.js.map +1 -0
- package/dist/components/socket/index.js +221 -0
- package/dist/components/socket/index.js.map +1 -0
- package/dist/components/spin/index.js +95 -0
- package/dist/components/spin/index.js.map +1 -0
- package/dist/components/test/index.js +330 -0
- package/dist/components/test/index.js.map +1 -0
- package/dist/components/ticon/iconfont/demo_index.html +3 -72
- package/dist/components/ticon/iconfont/iconfont.css +3 -15
- package/dist/components/ticon/iconfont/iconfont.js +36 -0
- package/dist/components/ticon/iconfont/iconfont.js.map +1 -0
- package/dist/components/ticon/iconfont/iconfont.json +0 -21
- package/dist/components/ticon/iconfont/iconfont.ttf +0 -0
- package/dist/components/ticon/iconfont/iconfont.woff +0 -0
- package/dist/components/ticon/iconfont/iconfont.woff2 +0 -0
- package/dist/components/ticon/index.js +60 -0
- package/dist/components/ticon/index.js.map +1 -0
- package/dist/components/touchScroll/index.js +186 -0
- package/dist/components/touchScroll/index.js.map +1 -0
- package/dist/components/touchTable/AuthProcess.js +42 -0
- package/dist/components/touchTable/AuthProcess.js.map +1 -0
- package/dist/components/touchTable/generateWater.js +59 -0
- package/dist/components/touchTable/generateWater.js.map +1 -0
- package/dist/components/touchTable/index.js +1148 -0
- package/dist/components/touchTable/index.js.map +1 -0
- package/dist/components/touchTable/utils.js +27 -0
- package/dist/components/touchTable/utils.js.map +1 -0
- package/dist/index.js +1 -22
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/dist/components/collection/api.js +0 -105
- package/dist/components/collection/api.js.map +0 -1
- package/dist/components/collection/searchView/index.less +0 -134
- package/dist/components/password/style.less +0 -95
@@ -0,0 +1,118 @@
|
|
1
|
+
'use strict';
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.default = undefined;
|
7
|
+
|
8
|
+
var _notification2 = require('antd/es/notification');
|
9
|
+
|
10
|
+
var _notification3 = _interopRequireDefault(_notification2);
|
11
|
+
|
12
|
+
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
|
13
|
+
|
14
|
+
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
15
|
+
|
16
|
+
require('antd/es/notification/style');
|
17
|
+
|
18
|
+
var _react = require('react');
|
19
|
+
|
20
|
+
var _react2 = _interopRequireDefault(_react);
|
21
|
+
|
22
|
+
var _index = require('../../index');
|
23
|
+
|
24
|
+
require('./index.less');
|
25
|
+
|
26
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
27
|
+
|
28
|
+
var NotificationP = function NotificationP() {
|
29
|
+
var _this = this;
|
30
|
+
|
31
|
+
(0, _classCallCheck3.default)(this, NotificationP);
|
32
|
+
this.sys_parms = {
|
33
|
+
mtd: window.ossAliyuncsFileURL + '/muisc/mtd.mp3',
|
34
|
+
mtt: window.ossAliyuncsFileURL + '/muisc/mtt.mp3'
|
35
|
+
};
|
36
|
+
|
37
|
+
this.click = function (cb) {
|
38
|
+
cb && cb();
|
39
|
+
};
|
40
|
+
|
41
|
+
this.close = function (key) {
|
42
|
+
_notification3.default.close(key);
|
43
|
+
};
|
44
|
+
|
45
|
+
this.show = function () {
|
46
|
+
var total = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 99;
|
47
|
+
var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
48
|
+
var callback = arguments[2];
|
49
|
+
|
50
|
+
var that = _this;
|
51
|
+
if (_this.key) {
|
52
|
+
_this.close(_this.key);
|
53
|
+
}
|
54
|
+
var title = null,
|
55
|
+
voice = null,
|
56
|
+
status = false;
|
57
|
+
switch (type) {
|
58
|
+
case 1:
|
59
|
+
title = "您有新的订单";
|
60
|
+
voice = _this.sys_parms.mtd;
|
61
|
+
status = true;
|
62
|
+
break;
|
63
|
+
case 2:
|
64
|
+
title = "您有新的退款订单";
|
65
|
+
voice = _this.sys_parms.mtt;
|
66
|
+
status = false;
|
67
|
+
break;
|
68
|
+
}
|
69
|
+
var key = Date.now();
|
70
|
+
_notification3.default.open({
|
71
|
+
className: 'notificationContainer',
|
72
|
+
description: _react2.default.createElement(
|
73
|
+
'div',
|
74
|
+
{ className: 'content', onClick: function onClick() {
|
75
|
+
if (status) {
|
76
|
+
that.click(callback);
|
77
|
+
}
|
78
|
+
} },
|
79
|
+
_react2.default.createElement(_index.Ticon, { type: 'laba' }),
|
80
|
+
_react2.default.createElement(
|
81
|
+
'div',
|
82
|
+
{ className: 'second' },
|
83
|
+
_react2.default.createElement(
|
84
|
+
'div',
|
85
|
+
{ className: status ? 'text color' : 'text' },
|
86
|
+
title
|
87
|
+
),
|
88
|
+
status && _react2.default.createElement(
|
89
|
+
'div',
|
90
|
+
{ className: 'total' },
|
91
|
+
total
|
92
|
+
)
|
93
|
+
),
|
94
|
+
_react2.default.createElement(
|
95
|
+
'audio',
|
96
|
+
{ controls: 'controls', autoplay: 'autoplay', preload: true, hidden: true },
|
97
|
+
_react2.default.createElement('source', { src: voice })
|
98
|
+
)
|
99
|
+
),
|
100
|
+
key: key,
|
101
|
+
placement: 'topRight',
|
102
|
+
duration: 99999,
|
103
|
+
onClose: function onClose() {
|
104
|
+
console.log('simple close');
|
105
|
+
}
|
106
|
+
});
|
107
|
+
_this.key = key;
|
108
|
+
};
|
109
|
+
|
110
|
+
this.key = null;
|
111
|
+
}; /*
|
112
|
+
* 1.您有新的订单
|
113
|
+
* 2.您有新的退款订单
|
114
|
+
* 3.请注意,商品调价了
|
115
|
+
*/
|
116
|
+
|
117
|
+
exports.default = NotificationP;
|
118
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["tplus-components-touch/components/notification/index.js"],"names":["NotificationP","sys_parms","mtd","window","ossAliyuncsFileURL","mtt","click","cb","close","key","show","total","type","callback","that","title","voice","status","Date","now","open","className","description","placement","duration","onClose","console","log"],"mappings":";;;;;;;;;;;;;;;;;AAMA;;;;AAEA;;AACA;;;;IAEqBA,a,GAOjB,yBAAc;AAAA;;AAAA;AAAA,SALdC,SAKc,GALF;AACRC,aAAQC,OAAOC,kBAAf,mBADQ;AAERC,aAAQF,OAAOC,kBAAf;AAFQ,KAKE;;AAAA,SAIdE,KAJc,GAIN,UAACC,EAAD,EAAQ;AACZA,cAAMA,IAAN;AACH,KANa;;AAAA,SAOdC,KAPc,GAON,UAACC,GAAD,EAAS;AACb,+BAAaD,KAAb,CAAmBC,GAAnB;AACH,KATa;;AAAA,SAUdC,IAVc,GAUP,YAAoC;AAAA,YAAnCC,KAAmC,uEAA3B,EAA2B;AAAA,YAAvBC,IAAuB,uEAAhB,CAAgB;AAAA,YAAbC,QAAa;;AACvC,YAAIC,OAAO,KAAX;AACA,YAAI,MAAKL,GAAT,EAAc;AACV,kBAAKD,KAAL,CAAW,MAAKC,GAAhB;AACH;AACD,YAAIM,QAAQ,IAAZ;AAAA,YAAkBC,QAAQ,IAA1B;AAAA,YAAgCC,SAAS,KAAzC;AACA,gBAAQL,IAAR;AACI,iBAAK,CAAL;AACIG,wBAAQ,QAAR;AACAC,wBAAQ,MAAKf,SAAL,CAAeC,GAAvB;AACAe,yBAAS,IAAT;AACA;AACJ,iBAAK,CAAL;AACIF,wBAAQ,UAAR;AACAC,wBAAQ,MAAKf,SAAL,CAAeI,GAAvB;AACAY,yBAAS,KAAT;AACA;AAVR;AAYA,YAAMR,MAAMS,KAAKC,GAAL,EAAZ;AACA,+BAAaC,IAAb,CAAkB;AACdC,uBAAW,uBADG;AAEdC,yBAAa;AAAA;AAAA,kBAAK,WAAU,SAAf,EAAyB,SAAS,mBAAM;AAAE,4BAAIL,MAAJ,EAAY;AAAEH,iCAAKR,KAAL,CAAWO,QAAX;AAAsB;AAAE,qBAAhF;AACT,8CAAC,YAAD,IAAO,MAAK,MAAZ,GADS;AAET;AAAA;AAAA,sBAAK,WAAU,QAAf;AACI;AAAA;AAAA,0BAAK,WAAWI,SAAS,YAAT,GAAwB,MAAxC;AAAiDF;AAAjD,qBADJ;AAGQE,8BACA;AAAA;AAAA,0BAAK,WAAU,OAAf;AAAwBN;AAAxB;AAJR,iBAFS;AAST;AAAA;AAAA,sBAAO,UAAS,UAAhB,EAA2B,UAAS,UAApC,EAA+C,aAA/C,EAAuD,YAAvD;AACI,8DAAQ,KAAKK,KAAb;AADJ;AATS,aAFC;AAedP,oBAfc;AAgBdc,uBAAW,UAhBG;AAiBdC,sBAAU,KAjBI;AAkBdC,mBAlBc,qBAkBJ;AAAEC,wBAAQC,GAAR,CAAY,cAAZ;AAA6B;AAlB3B,SAAlB;AAoBA,cAAKlB,GAAL,GAAWA,GAAX;AACH,KAlDa;;AACV,SAAKA,GAAL,GAAW,IAAX;AACH,C,EApBL;;;;;;kBAWqBT,a","file":"index.js","sourcesContent":["/*\n * 1.您有新的订单\n * 2.您有新的退款订单\n * 3.请注意,商品调价了\n*/\n\nimport React from 'react';\nimport { notification } from 'antd';\nimport { Ticon } from '../../index';\nimport './index.less';\n\nexport default class NotificationP {\n\n sys_parms = {\n mtd: `${window.ossAliyuncsFileURL}/muisc/mtd.mp3`,\n mtt: `${window.ossAliyuncsFileURL}/muisc/mtt.mp3`\n }\n\n constructor() {\n this.key = null;\n }\n\n click = (cb) => {\n cb && cb();\n }\n close = (key) => {\n notification.close(key);\n }\n show = (total = 99, type = 1, callback) => {\n let that = this;\n if (this.key) {\n this.close(this.key);\n }\n let title = null, voice = null, status = false;\n switch (type) {\n case 1:\n title = \"您有新的订单\";\n voice = this.sys_parms.mtd;\n status = true;\n break;\n case 2:\n title = \"您有新的退款订单\";\n voice = this.sys_parms.mtt;\n status = false;\n break;\n }\n const key = Date.now();\n notification.open({\n className: 'notificationContainer',\n description: <div className='content' onClick={() => { if (status) { that.click(callback) } }}>\n <Ticon type='laba' />\n <div className='second'>\n <div className={status ? 'text color' : 'text'}>{title}</div>\n {\n status &&\n <div className='total'>{total}</div>\n }\n </div>\n <audio controls=\"controls\" autoplay=\"autoplay\" preload hidden>\n <source src={voice} />\n </audio>\n </div>,\n key,\n placement: 'topRight',\n duration: 99999,\n onClose() { console.log('simple close') }\n })\n this.key = key;\n }\n}"]}
|
@@ -0,0 +1,269 @@
|
|
1
|
+
'use strict';
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.default = undefined;
|
7
|
+
|
8
|
+
var _keys = require('babel-runtime/core-js/object/keys');
|
9
|
+
|
10
|
+
var _keys2 = _interopRequireDefault(_keys);
|
11
|
+
|
12
|
+
var _extends2 = require('babel-runtime/helpers/extends');
|
13
|
+
|
14
|
+
var _extends3 = _interopRequireDefault(_extends2);
|
15
|
+
|
16
|
+
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
|
17
|
+
|
18
|
+
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
19
|
+
|
20
|
+
var _createClass2 = require('babel-runtime/helpers/createClass');
|
21
|
+
|
22
|
+
var _createClass3 = _interopRequireDefault(_createClass2);
|
23
|
+
|
24
|
+
var _class, _temp, _initialiseProps; /**
|
25
|
+
* Created by hzy on 2019/8/2.
|
26
|
+
*
|
27
|
+
* options
|
28
|
+
* @target 实例化时传入的需要委托弹出tip外层容器class名 //new OverflowTip({target: '.member-content-tab'});
|
29
|
+
* @maxWidth tip最大宽度, 默认220
|
30
|
+
* @format 格式化展示内容方法, 参数为传入的原本字符串内容, 需要返回格式化后的字符串 // format(text) { return newText }
|
31
|
+
* @style 弹出tip样式
|
32
|
+
* 需要在弹出的提示的节点上绑定内容 data-overflow='tip' //<td data-overflow='tip'>{name}</td>
|
33
|
+
*
|
34
|
+
* @update 更新实例方法,参数与实例化时的options内容一致,不传项则用实例化时的内容或默认值 // update(options)
|
35
|
+
* @destroy 组件销毁时候需要调用该方法清理
|
36
|
+
* @hideTip 隐藏tip展示内容
|
37
|
+
* @tipShow 实例属性,判断tip是否为展示显示状态
|
38
|
+
* @containerDom 实例属性,委托时间外层容器dom节点
|
39
|
+
*/
|
40
|
+
|
41
|
+
|
42
|
+
var _react = require('react');
|
43
|
+
|
44
|
+
var _react2 = _interopRequireDefault(_react);
|
45
|
+
|
46
|
+
var _reactDom = require('react-dom');
|
47
|
+
|
48
|
+
var _reactDom2 = _interopRequireDefault(_reactDom);
|
49
|
+
|
50
|
+
require('./style.less');
|
51
|
+
|
52
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
53
|
+
|
54
|
+
var currentDomId = void 0;
|
55
|
+
var OverflowTip = (_temp = _class = function () {
|
56
|
+
function OverflowTip(options) {
|
57
|
+
(0, _classCallCheck3.default)(this, OverflowTip);
|
58
|
+
|
59
|
+
_initialiseProps.call(this);
|
60
|
+
|
61
|
+
var target = options.target,
|
62
|
+
_options$maxWidth = options.maxWidth,
|
63
|
+
maxWidth = _options$maxWidth === undefined ? 220 : _options$maxWidth,
|
64
|
+
format = options.format,
|
65
|
+
_options$style = options.style,
|
66
|
+
style = _options$style === undefined ? {} : _options$style;
|
67
|
+
|
68
|
+
|
69
|
+
this.target = target;
|
70
|
+
this.maxWidth = maxWidth;
|
71
|
+
this.format = format;
|
72
|
+
this.style = style;
|
73
|
+
this.el = document.createElement('div');
|
74
|
+
this.containerDom = null;
|
75
|
+
this.tipShow = false;
|
76
|
+
|
77
|
+
document.body.appendChild(this.el);
|
78
|
+
document.body.addEventListener('click', this.bodyClickEvent, false);
|
79
|
+
document.body.addEventListener('touchmove', this.bodyTouchmoveEvent, false);
|
80
|
+
|
81
|
+
this.init();
|
82
|
+
}
|
83
|
+
|
84
|
+
(0, _createClass3.default)(OverflowTip, [{
|
85
|
+
key: 'init',
|
86
|
+
value: function init() {
|
87
|
+
var _this = this;
|
88
|
+
|
89
|
+
this.containerDom = document.querySelector(this.target);
|
90
|
+
if (this.containerDom) {
|
91
|
+
this.containerDom.addEventListener('click', function (e) {
|
92
|
+
var ev = e || window.event;
|
93
|
+
var target = ev.target || ev.srcElement;
|
94
|
+
if (target.dataset.overflow) {
|
95
|
+
var clientWidth = target.clientWidth;
|
96
|
+
var scrollWidth = target.scrollWidth;
|
97
|
+
|
98
|
+
if (clientWidth < scrollWidth) {
|
99
|
+
var pageX = ev.pageX,
|
100
|
+
pageY = ev.pageY;
|
101
|
+
var textContent = target.textContent;
|
102
|
+
|
103
|
+
var renderText = _this.format ? _this.format(textContent) : textContent;
|
104
|
+
|
105
|
+
var stampId = String(+new Date());
|
106
|
+
if (target.dataset.tipid && target.dataset.tipid === currentDomId) {
|
107
|
+
return _this.render(null);
|
108
|
+
} else {
|
109
|
+
target.dataset.tipid = stampId;
|
110
|
+
_this.tipShow && _this.render(null, undefined, true);
|
111
|
+
}
|
112
|
+
|
113
|
+
var tipMaxWidth = _this.maxWidth;
|
114
|
+
var bodyWidth = document.body.clientWidth;
|
115
|
+
var bodyHeight = document.body.clientHeight;
|
116
|
+
var offsetSize = 20;
|
117
|
+
|
118
|
+
var params = { tipMaxWidth: tipMaxWidth, renderText: renderText, bodyWidth: bodyWidth, bodyHeight: bodyHeight };
|
119
|
+
|
120
|
+
var _getVirtualTipDomSize = _this.getVirtualTipDomSize(params),
|
121
|
+
virtualTipDomWidth = _getVirtualTipDomSize.virtualTipDomWidth,
|
122
|
+
virtualTipDomHeight = _getVirtualTipDomSize.virtualTipDomHeight;
|
123
|
+
|
124
|
+
var pageXDirection = void 0;
|
125
|
+
var pageYDirection = void 0;
|
126
|
+
|
127
|
+
if (bodyWidth - pageX - virtualTipDomWidth < 10) {
|
128
|
+
//判断X轴是否超出可视区
|
129
|
+
pageXDirection = true;
|
130
|
+
}
|
131
|
+
|
132
|
+
if (bodyHeight - pageY - virtualTipDomHeight < offsetSize + 10) {
|
133
|
+
//判断Y轴是否超出可视区
|
134
|
+
pageYDirection = true;
|
135
|
+
}
|
136
|
+
|
137
|
+
var arrowSize = 10;
|
138
|
+
var arrowOffsetSize = 10;
|
139
|
+
var arrowAndOffsetSize = arrowSize + arrowOffsetSize;
|
140
|
+
var marginLeftStyle = pageXDirection ? -(virtualTipDomWidth - arrowAndOffsetSize) : -arrowOffsetSize;
|
141
|
+
var marginTopStyle = pageYDirection ? -virtualTipDomHeight : 0;
|
142
|
+
|
143
|
+
var offsetY = pageYDirection ? pageY - offsetSize : pageY + offsetSize;
|
144
|
+
var tipNode = _react2.default.createElement(
|
145
|
+
'div',
|
146
|
+
{
|
147
|
+
className: 'overflow-tip-wrapper overflow-tip-show ' + (pageYDirection ? 'tip-arrow-bottom' : 'tip-arrow-top'),
|
148
|
+
style: (0, _extends3.default)({ left: pageX, top: offsetY }, _this.style)
|
149
|
+
},
|
150
|
+
_react2.default.createElement(
|
151
|
+
'div',
|
152
|
+
{
|
153
|
+
className: '_overflow-tip',
|
154
|
+
style: { width: virtualTipDomWidth, marginLeft: marginLeftStyle, marginTop: marginTopStyle }
|
155
|
+
},
|
156
|
+
renderText
|
157
|
+
)
|
158
|
+
);
|
159
|
+
|
160
|
+
_this.render(tipNode, stampId);
|
161
|
+
} else {
|
162
|
+
_this.render(null);
|
163
|
+
}
|
164
|
+
}
|
165
|
+
}, false);
|
166
|
+
}
|
167
|
+
}
|
168
|
+
}, {
|
169
|
+
key: 'update',
|
170
|
+
value: function update() {
|
171
|
+
var _this2 = this;
|
172
|
+
|
173
|
+
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
174
|
+
|
175
|
+
(0, _keys2.default)(options).forEach(function (v) {
|
176
|
+
return _this2[v] = options[v];
|
177
|
+
});
|
178
|
+
|
179
|
+
this.init();
|
180
|
+
}
|
181
|
+
}, {
|
182
|
+
key: 'hideTip',
|
183
|
+
value: function hideTip() {
|
184
|
+
this.render(null);
|
185
|
+
}
|
186
|
+
}, {
|
187
|
+
key: 'destroy',
|
188
|
+
value: function destroy() {
|
189
|
+
_reactDom2.default.unmountComponentAtNode(this.el);
|
190
|
+
document.body.removeChild(this.el);
|
191
|
+
document.body.removeEventListener('click', this.bodyClickEvent, false);
|
192
|
+
document.body.removeEventListener('touchmove', this.bodyTouchmoveEvent, false);
|
193
|
+
}
|
194
|
+
}]);
|
195
|
+
return OverflowTip;
|
196
|
+
}(), _initialiseProps = function _initialiseProps() {
|
197
|
+
var _this3 = this;
|
198
|
+
|
199
|
+
this.bodyTouchmoveEvent = function (e) {
|
200
|
+
if (_this3.tipShow) _this3.render(null);
|
201
|
+
};
|
202
|
+
|
203
|
+
this.bodyClickEvent = function (e) {
|
204
|
+
var ev = e || window.event;
|
205
|
+
var target = ev.target || ev.srcElement;
|
206
|
+
if (target.className === '_overflow-tip') return;
|
207
|
+
if (!target.dataset.overflow) {
|
208
|
+
_this3.render(null);
|
209
|
+
}
|
210
|
+
};
|
211
|
+
|
212
|
+
this.getVirtualTipDomSize = function () {
|
213
|
+
var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
214
|
+
var tipMaxWidth = params.tipMaxWidth,
|
215
|
+
renderText = params.renderText,
|
216
|
+
bodyWidth = params.bodyWidth,
|
217
|
+
bodyHeight = params.bodyHeight;
|
218
|
+
|
219
|
+
|
220
|
+
var virtualTipDom = document.createElement('div');
|
221
|
+
virtualTipDom.style.position = 'fixed';
|
222
|
+
virtualTipDom.style.left = '-99999px';
|
223
|
+
virtualTipDom.style.top = '-99999px';
|
224
|
+
virtualTipDom.style.opacity = 0;
|
225
|
+
|
226
|
+
var virtualTipNode = _react2.default.createElement(
|
227
|
+
'div',
|
228
|
+
{
|
229
|
+
className: '_overflow-tip',
|
230
|
+
style: { maxWidth: tipMaxWidth }
|
231
|
+
},
|
232
|
+
renderText
|
233
|
+
);
|
234
|
+
|
235
|
+
document.body.appendChild(virtualTipDom);
|
236
|
+
|
237
|
+
_reactDom2.default.render(virtualTipNode, virtualTipDom);
|
238
|
+
|
239
|
+
var virtualTipDomHeight = virtualTipDom.firstElementChild.clientHeight;
|
240
|
+
var virtualTipDomWidth = virtualTipDom.firstElementChild.clientWidth;
|
241
|
+
|
242
|
+
document.body.removeChild(virtualTipDom);
|
243
|
+
|
244
|
+
return { virtualTipDomHeight: virtualTipDomHeight, virtualTipDomWidth: virtualTipDomWidth };
|
245
|
+
};
|
246
|
+
|
247
|
+
this.render = function (children, stampId, destroyBefore) {
|
248
|
+
if (_this3.children && !destroyBefore) {
|
249
|
+
var className = _this3.children.props.className;
|
250
|
+
|
251
|
+
var newElement = _react2.default.cloneElement(_this3.children, { className: className + ' overflow-tip-hide' });
|
252
|
+
setTimeout(function () {
|
253
|
+
_reactDom2.default.render(null, _this3.el);
|
254
|
+
}, 120);
|
255
|
+
|
256
|
+
_this3.children = null;
|
257
|
+
currentDomId = undefined;
|
258
|
+
_this3.tipShow = false;
|
259
|
+
return _reactDom2.default.render(newElement, _this3.el);
|
260
|
+
}
|
261
|
+
|
262
|
+
_reactDom2.default.render(children, _this3.el);
|
263
|
+
currentDomId = stampId;
|
264
|
+
_this3.children = children;
|
265
|
+
_this3.tipShow = !!children;
|
266
|
+
};
|
267
|
+
}, _temp);
|
268
|
+
exports.default = OverflowTip;
|
269
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["tplus-components-touch/components/overflowTip/index.js"],"names":["currentDomId","OverflowTip","options","target","maxWidth","format","style","el","document","createElement","containerDom","tipShow","body","appendChild","addEventListener","bodyClickEvent","bodyTouchmoveEvent","init","querySelector","e","ev","window","event","srcElement","dataset","overflow","clientWidth","scrollWidth","pageX","pageY","textContent","renderText","stampId","String","Date","tipid","render","undefined","tipMaxWidth","bodyWidth","bodyHeight","clientHeight","offsetSize","params","getVirtualTipDomSize","virtualTipDomWidth","virtualTipDomHeight","pageXDirection","pageYDirection","arrowSize","arrowOffsetSize","arrowAndOffsetSize","marginLeftStyle","marginTopStyle","offsetY","tipNode","left","top","width","marginLeft","marginTop","forEach","v","ReactDOM","unmountComponentAtNode","removeChild","removeEventListener","className","virtualTipDom","position","opacity","virtualTipNode","firstElementChild","children","destroyBefore","props","newElement","React","cloneElement","setTimeout"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;qCAAA;;;;;;;;;;;;;;;;;;AAgBA;;;;AACA;;;;AACA;;;;AAEA,IAAIA,qBAAJ;IACqBC,W;AAEnB,uBAAYC,OAAZ,EAAqB;AAAA;;AAAA;;AAAA,QACZC,MADY,GACkCD,OADlC,CACZC,MADY;AAAA,4BACkCD,OADlC,CACJE,QADI;AAAA,QACJA,QADI,qCACO,GADP;AAAA,QACYC,MADZ,GACkCH,OADlC,CACYG,MADZ;AAAA,yBACkCH,OADlC,CACoBI,KADpB;AAAA,QACoBA,KADpB,kCAC4B,EAD5B;;;AAGnB,SAAKH,MAAL,GAAcA,MAAd;AACA,SAAKC,QAAL,GAAgBA,QAAhB;AACA,SAAKC,MAAL,GAAcA,MAAd;AACA,SAAKC,KAAL,GAAaA,KAAb;AACA,SAAKC,EAAL,GAAUC,SAASC,aAAT,CAAuB,KAAvB,CAAV;AACA,SAAKC,YAAL,GAAoB,IAApB;AACA,SAAKC,OAAL,GAAe,KAAf;;AAEAH,aAASI,IAAT,CAAcC,WAAd,CAA0B,KAAKN,EAA/B;AACAC,aAASI,IAAT,CAAcE,gBAAd,CAA+B,OAA/B,EAAwC,KAAKC,cAA7C,EAA6D,KAA7D;AACAP,aAASI,IAAT,CAAcE,gBAAd,CAA+B,WAA/B,EAA4C,KAAKE,kBAAjD,EAAqE,KAArE;;AAEA,SAAKC,IAAL;AACD;;;;2BAEM;AAAA;;AACL,WAAKP,YAAL,GAAoBF,SAASU,aAAT,CAAuB,KAAKf,MAA5B,CAApB;AACA,UAAI,KAAKO,YAAT,EAAuB;AACrB,aAAKA,YAAL,CAAkBI,gBAAlB,CAAmC,OAAnC,EAA4C,UAACK,CAAD,EAAO;AACjD,cAAMC,KAAKD,KAAKE,OAAOC,KAAvB;AACA,cAAMnB,SAASiB,GAAGjB,MAAH,IAAaiB,GAAGG,UAA/B;AACA,cAAIpB,OAAOqB,OAAP,CAAeC,QAAnB,EAA6B;AAC3B,gBAAMC,cAAcvB,OAAOuB,WAA3B;AACA,gBAAMC,cAAcxB,OAAOwB,WAA3B;;AAEA,gBAAID,cAAcC,WAAlB,EAA+B;AAAA,kBACtBC,KADsB,GACNR,EADM,CACtBQ,KADsB;AAAA,kBACfC,KADe,GACNT,EADM,CACfS,KADe;AAAA,kBAEtBC,WAFsB,GAEP3B,MAFO,CAEtB2B,WAFsB;;AAG7B,kBAAMC,aAAa,MAAK1B,MAAL,GAAc,MAAKA,MAAL,CAAYyB,WAAZ,CAAd,GAAyCA,WAA5D;;AAEA,kBAAME,UAAUC,OAAO,CAAC,IAAIC,IAAJ,EAAR,CAAhB;AACA,kBAAI/B,OAAOqB,OAAP,CAAeW,KAAf,IAAwBhC,OAAOqB,OAAP,CAAeW,KAAf,KAAyBnC,YAArD,EAAmE;AACjE,uBAAO,MAAKoC,MAAL,CAAY,IAAZ,CAAP;AACD,eAFD,MAEO;AACLjC,uBAAOqB,OAAP,CAAeW,KAAf,GAAuBH,OAAvB;AACA,sBAAKrB,OAAL,IAAgB,MAAKyB,MAAL,CAAY,IAAZ,EAAkBC,SAAlB,EAA6B,IAA7B,CAAhB;AACD;;AAED,kBAAMC,cAAc,MAAKlC,QAAzB;AACA,kBAAMmC,YAAY/B,SAASI,IAAT,CAAcc,WAAhC;AACA,kBAAMc,aAAahC,SAASI,IAAT,CAAc6B,YAAjC;AACA,kBAAMC,aAAa,EAAnB;;AAEA,kBAAMC,SAAS,EAACL,wBAAD,EAAcP,sBAAd,EAA0BQ,oBAA1B,EAAqCC,sBAArC,EAAf;;AAlB6B,0CAmBqB,MAAKI,oBAAL,CAA0BD,MAA1B,CAnBrB;AAAA,kBAmBtBE,kBAnBsB,yBAmBtBA,kBAnBsB;AAAA,kBAmBFC,mBAnBE,yBAmBFA,mBAnBE;;AAqB7B,kBAAIC,uBAAJ;AACA,kBAAIC,uBAAJ;;AAEA,kBAAIT,YAAYX,KAAZ,GAAoBiB,kBAApB,GAAyC,EAA7C,EAAiD;AAAE;AACjDE,iCAAiB,IAAjB;AACD;;AAED,kBAAIP,aAAaX,KAAb,GAAqBiB,mBAArB,GAA4CJ,aAAa,EAA7D,EAAkE;AAAE;AAClEM,iCAAiB,IAAjB;AACD;;AAED,kBAAMC,YAAY,EAAlB;AACA,kBAAMC,kBAAkB,EAAxB;AACA,kBAAMC,qBAAqBF,YAAYC,eAAvC;AACA,kBAAME,kBAAkBL,iBAAiB,EAAEF,qBAAqBM,kBAAvB,CAAjB,GAA8D,CAACD,eAAvF;AACA,kBAAMG,iBAAiBL,iBAAiB,CAACF,mBAAlB,GAAwC,CAA/D;;AAEA,kBAAMQ,UAAUN,iBAAiBnB,QAAQa,UAAzB,GAAsCb,QAAQa,UAA9D;AACA,kBAAMa,UAAU;AAAA;AAAA;AACd,0EAAqDP,iBAAiB,kBAAjB,GAAsC,eAA3F,CADc;AAEd,kDAAQQ,MAAM5B,KAAd,EAAqB6B,KAAKH,OAA1B,IAAsC,MAAKhD,KAA3C;AAFc;AAId;AAAA;AAAA;AACE,+BAAU,eADZ;AAEE,2BAAO,EAACoD,OAAOb,kBAAR,EAA4Bc,YAAYP,eAAxC,EAAyDQ,WAAWP,cAApE;AAFT;AAGEtB;AAHF;AAJc,eAAhB;;AAUA,oBAAKK,MAAL,CAAYmB,OAAZ,EAAqBvB,OAArB;AACD,aAlDD,MAkDO;AACL,oBAAKI,MAAL,CAAY,IAAZ;AACD;AACF;AACF,SA7DD,EA6DG,KA7DH;AA8DD;AACF;;;6BA4EoB;AAAA;;AAAA,UAAdlC,OAAc,uEAAJ,EAAI;;AACnB,0BAAYA,OAAZ,EAAqB2D,OAArB,CAA6B;AAAA,eAAK,OAAKC,CAAL,IAAU5D,QAAQ4D,CAAR,CAAf;AAAA,OAA7B;;AAEA,WAAK7C,IAAL;AACD;;;8BAES;AACR,WAAKmB,MAAL,CAAY,IAAZ;AACD;;;8BAES;AACR2B,yBAASC,sBAAT,CAAgC,KAAKzD,EAArC;AACAC,eAASI,IAAT,CAAcqD,WAAd,CAA0B,KAAK1D,EAA/B;AACAC,eAASI,IAAT,CAAcsD,mBAAd,CAAkC,OAAlC,EAA2C,KAAKnD,cAAhD,EAAgE,KAAhE;AACAP,eAASI,IAAT,CAAcsD,mBAAd,CAAkC,WAAlC,EAA+C,KAAKlD,kBAApD,EAAwE,KAAxE;AACD;;;;;;OAzFDA,kB,GAAqB,UAACG,CAAD,EAAO;AAC1B,QAAI,OAAKR,OAAT,EAAkB,OAAKyB,MAAL,CAAY,IAAZ;AACnB,G;;OAEDrB,c,GAAiB,UAACI,CAAD,EAAO;AACtB,QAAMC,KAAKD,KAAKE,OAAOC,KAAvB;AACA,QAAMnB,SAASiB,GAAGjB,MAAH,IAAaiB,GAAGG,UAA/B;AACA,QAAIpB,OAAOgE,SAAP,KAAqB,eAAzB,EAA0C;AAC1C,QAAG,CAAChE,OAAOqB,OAAP,CAAeC,QAAnB,EAA6B;AAC3B,aAAKW,MAAL,CAAY,IAAZ;AACD;AACF,G;;OAEDQ,oB,GAAuB,YAAiB;AAAA,QAAhBD,MAAgB,uEAAP,EAAO;AAAA,QAC/BL,WAD+B,GACmBK,MADnB,CAC/BL,WAD+B;AAAA,QAClBP,UADkB,GACmBY,MADnB,CAClBZ,UADkB;AAAA,QACNQ,SADM,GACmBI,MADnB,CACNJ,SADM;AAAA,QACKC,UADL,GACmBG,MADnB,CACKH,UADL;;;AAGtC,QAAM4B,gBAAgB5D,SAASC,aAAT,CAAuB,KAAvB,CAAtB;AACA2D,kBAAc9D,KAAd,CAAoB+D,QAApB,GAA+B,OAA/B;AACAD,kBAAc9D,KAAd,CAAoBkD,IAApB,GAA2B,UAA3B;AACAY,kBAAc9D,KAAd,CAAoBmD,GAApB,GAA0B,UAA1B;AACAW,kBAAc9D,KAAd,CAAoBgE,OAApB,GAA8B,CAA9B;;AAEA,QAAMC,iBAAiB;AAAA;AAAA;AACrB,mBAAU,eADW;AAErB,eAAO,EAACnE,UAAUkC,WAAX;AAFc;AAGrBP;AAHqB,KAAvB;;AAKAvB,aAASI,IAAT,CAAcC,WAAd,CAA0BuD,aAA1B;;AAEAL,uBAAS3B,MAAT,CACEmC,cADF,EAEEH,aAFF;;AAKA,QAAMtB,sBAAsBsB,cAAcI,iBAAd,CAAgC/B,YAA5D;AACA,QAAMI,qBAAqBuB,cAAcI,iBAAd,CAAgC9C,WAA3D;;AAEAlB,aAASI,IAAT,CAAcqD,WAAd,CAA0BG,aAA1B;;AAEA,WAAO,EAACtB,wCAAD,EAAsBD,sCAAtB,EAAP;AACD,G;;OAEDT,M,GAAS,UAACqC,QAAD,EAAWzC,OAAX,EAAoB0C,aAApB,EAAsC;AAC7C,QAAI,OAAKD,QAAL,IAAiB,CAACC,aAAtB,EAAqC;AAAA,UACpBP,SADoB,GACN,OAAKM,QADC,CAC5BE,KAD4B,CACpBR,SADoB;;AAEnC,UAAMS,aAAaC,gBAAMC,YAAN,CACjB,OAAKL,QADY,EAEjB,EAACN,WAAcA,SAAd,uBAAD,EAFiB,CAAnB;AAIAY,iBAAW,YAAM;AACfhB,2BAAS3B,MAAT,CACE,IADF,EAEE,OAAK7B,EAFP;AAID,OALD,EAKG,GALH;;AAOA,aAAKkE,QAAL,GAAgB,IAAhB;AACAzE,qBAAeqC,SAAf;AACA,aAAK1B,OAAL,GAAe,KAAf;AACA,aAAOoD,mBAAS3B,MAAT,CACLwC,UADK,EAEL,OAAKrE,EAFA,CAAP;AAID;;AAEDwD,uBAAS3B,MAAT,CACEqC,QADF,EAEE,OAAKlE,EAFP;AAIAP,mBAAegC,OAAf;AACA,WAAKyC,QAAL,GAAgBA,QAAhB;AACA,WAAK9D,OAAL,GAAe,CAAC,CAAC8D,QAAjB;AACD,G;;kBAhKkBxE,W","file":"index.js","sourcesContent":["/**\n * Created by hzy on 2019/8/2.\n *\n * options\n * @target 实例化时传入的需要委托弹出tip外层容器class名 //new OverflowTip({target: '.member-content-tab'});\n * @maxWidth tip最大宽度, 默认220\n * @format 格式化展示内容方法, 参数为传入的原本字符串内容, 需要返回格式化后的字符串 // format(text) { return newText }\n * @style 弹出tip样式\n * 需要在弹出的提示的节点上绑定内容 data-overflow='tip' //<td data-overflow='tip'>{name}</td>\n *\n * @update 更新实例方法,参数与实例化时的options内容一致,不传项则用实例化时的内容或默认值 // update(options)\n * @destroy 组件销毁时候需要调用该方法清理\n * @hideTip 隐藏tip展示内容\n * @tipShow 实例属性,判断tip是否为展示显示状态\n * @containerDom 实例属性,委托时间外层容器dom节点\n */\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport './style.less';\n\nlet currentDomId;\nexport default class OverflowTip {\n\n constructor(options) {\n const {target, maxWidth = 220, format, style = {}} = options;\n\n this.target = target;\n this.maxWidth = maxWidth;\n this.format = format;\n this.style = style;\n this.el = document.createElement('div');\n this.containerDom = null;\n this.tipShow = false;\n\n document.body.appendChild(this.el);\n document.body.addEventListener('click', this.bodyClickEvent, false);\n document.body.addEventListener('touchmove', this.bodyTouchmoveEvent, false);\n\n this.init();\n }\n\n init() {\n this.containerDom = document.querySelector(this.target);\n if (this.containerDom) {\n this.containerDom.addEventListener('click', (e) => {\n const ev = e || window.event;\n const target = ev.target || ev.srcElement;\n if (target.dataset.overflow) {\n const clientWidth = target.clientWidth;\n const scrollWidth = target.scrollWidth;\n\n if (clientWidth < scrollWidth) {\n const {pageX, pageY} = ev;\n const {textContent} = target;\n const renderText = this.format ? this.format(textContent) : textContent;\n\n const stampId = String(+new Date());\n if (target.dataset.tipid && target.dataset.tipid === currentDomId) {\n return this.render(null);\n } else {\n target.dataset.tipid = stampId;\n this.tipShow && this.render(null, undefined, true);\n }\n\n const tipMaxWidth = this.maxWidth;\n const bodyWidth = document.body.clientWidth;\n const bodyHeight = document.body.clientHeight;\n const offsetSize = 20;\n\n const params = {tipMaxWidth, renderText, bodyWidth, bodyHeight};\n const {virtualTipDomWidth, virtualTipDomHeight} = this.getVirtualTipDomSize(params);\n\n let pageXDirection;\n let pageYDirection;\n\n if (bodyWidth - pageX - virtualTipDomWidth < 10) { //判断X轴是否超出可视区\n pageXDirection = true;\n }\n\n if (bodyHeight - pageY - virtualTipDomHeight < (offsetSize + 10)) { //判断Y轴是否超出可视区\n pageYDirection = true;\n }\n\n const arrowSize = 10;\n const arrowOffsetSize = 10;\n const arrowAndOffsetSize = arrowSize + arrowOffsetSize;\n const marginLeftStyle = pageXDirection ? -(virtualTipDomWidth - arrowAndOffsetSize) : -arrowOffsetSize;\n const marginTopStyle = pageYDirection ? -virtualTipDomHeight : 0;\n\n const offsetY = pageYDirection ? pageY - offsetSize : pageY + offsetSize;\n const tipNode = <div\n className={`overflow-tip-wrapper overflow-tip-show ${pageYDirection ? 'tip-arrow-bottom' : 'tip-arrow-top'}`}\n style={{left: pageX, top: offsetY, ...this.style}}\n >\n <div\n className='_overflow-tip'\n style={{width: virtualTipDomWidth, marginLeft: marginLeftStyle, marginTop: marginTopStyle}}\n >{renderText}</div>\n </div>\n\n this.render(tipNode, stampId);\n } else {\n this.render(null);\n }\n }\n }, false);\n }\n }\n\n bodyTouchmoveEvent = (e) => {\n if (this.tipShow) this.render(null);\n }\n\n bodyClickEvent = (e) => {\n const ev = e || window.event;\n const target = ev.target || ev.srcElement;\n if (target.className === '_overflow-tip') return;\n if(!target.dataset.overflow) {\n this.render(null);\n }\n }\n\n getVirtualTipDomSize = (params = {}) => {\n const {tipMaxWidth, renderText, bodyWidth, bodyHeight} = params;\n\n const virtualTipDom = document.createElement('div');\n virtualTipDom.style.position = 'fixed';\n virtualTipDom.style.left = '-99999px';\n virtualTipDom.style.top = '-99999px';\n virtualTipDom.style.opacity = 0;\n\n const virtualTipNode = <div\n className='_overflow-tip'\n style={{maxWidth: tipMaxWidth}}\n >{renderText}</div>\n\n document.body.appendChild(virtualTipDom);\n\n ReactDOM.render(\n virtualTipNode,\n virtualTipDom,\n );\n\n const virtualTipDomHeight = virtualTipDom.firstElementChild.clientHeight;\n const virtualTipDomWidth = virtualTipDom.firstElementChild.clientWidth;\n\n document.body.removeChild(virtualTipDom);\n\n return {virtualTipDomHeight, virtualTipDomWidth}\n }\n\n render = (children, stampId, destroyBefore) => {\n if (this.children && !destroyBefore) {\n const {props: {className}} = this.children;\n const newElement = React.cloneElement(\n this.children,\n {className: `${className} overflow-tip-hide`},\n );\n setTimeout(() => {\n ReactDOM.render(\n null,\n this.el,\n );\n }, 120);\n\n this.children = null;\n currentDomId = undefined;\n this.tipShow = false;\n return ReactDOM.render(\n newElement,\n this.el,\n );\n }\n\n ReactDOM.render(\n children,\n this.el,\n );\n currentDomId = stampId;\n this.children = children;\n this.tipShow = !!children;\n }\n\n update(options = {}) {\n Object.keys(options).forEach(v => this[v] = options[v]);\n\n this.init();\n }\n\n hideTip() {\n this.render(null);\n }\n\n destroy() {\n ReactDOM.unmountComponentAtNode(this.el);\n document.body.removeChild(this.el);\n document.body.removeEventListener('click', this.bodyClickEvent, false);\n document.body.removeEventListener('touchmove', this.bodyTouchmoveEvent, false);\n }\n}\n"]}
|
@@ -0,0 +1,49 @@
|
|
1
|
+
'use strict';
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
|
7
|
+
var _react = require('react');
|
8
|
+
|
9
|
+
var _react2 = _interopRequireDefault(_react);
|
10
|
+
|
11
|
+
var _index = require('../../index');
|
12
|
+
|
13
|
+
require('./index.less');
|
14
|
+
|
15
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
16
|
+
|
17
|
+
exports.default = function (_ref) {
|
18
|
+
var total = _ref.total,
|
19
|
+
currentIndex = _ref.currentIndex,
|
20
|
+
previous = _ref.previous,
|
21
|
+
next = _ref.next,
|
22
|
+
_ref$className = _ref.className,
|
23
|
+
className = _ref$className === undefined ? '' : _ref$className;
|
24
|
+
|
25
|
+
currentIndex = total == 0 ? 0 : currentIndex;
|
26
|
+
var hide = total == 0 || total == 1 || !total;
|
27
|
+
return hide ? null : _react2.default.createElement(
|
28
|
+
'div',
|
29
|
+
{ className: 'page ' + className },
|
30
|
+
currentIndex <= 1 ? _react2.default.createElement(_index.Ticon, { type: 'zuozhihui', className: 'page-button page-button-left page-disabled' }) : _react2.default.createElement(_index.Ticon, { type: 'zuo1', className: 'page-button page-button-left page-active primary-color', onClick: previous }),
|
31
|
+
_react2.default.createElement(
|
32
|
+
'span',
|
33
|
+
{ className: 'page-text' },
|
34
|
+
_react2.default.createElement(
|
35
|
+
'span',
|
36
|
+
null,
|
37
|
+
currentIndex
|
38
|
+
),
|
39
|
+
'/',
|
40
|
+
_react2.default.createElement(
|
41
|
+
'span',
|
42
|
+
null,
|
43
|
+
total
|
44
|
+
)
|
45
|
+
),
|
46
|
+
currentIndex >= total || currentIndex == 0 ? _react2.default.createElement(_index.Ticon, { type: 'youzhihui', className: 'page-button page-button-right page-disabled' }) : _react2.default.createElement(_index.Ticon, { type: 'you1', className: 'page-button page-button-right page-active primary-color', onClick: next })
|
47
|
+
);
|
48
|
+
};
|
49
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["tplus-components-touch/components/page/index.js"],"names":["total","currentIndex","previous","next","className","hide"],"mappings":";;;;;;AAAA;;;;AACA;;AACA;;;;kBAEe,gBAA2D;AAAA,MAAxDA,KAAwD,QAAxDA,KAAwD;AAAA,MAAjDC,YAAiD,QAAjDA,YAAiD;AAAA,MAAnCC,QAAmC,QAAnCA,QAAmC;AAAA,MAAzBC,IAAyB,QAAzBA,IAAyB;AAAA,4BAAnBC,SAAmB;AAAA,MAAnBA,SAAmB,kCAAT,EAAS;;AACxEH,iBAAeD,SAAS,CAAT,GAAa,CAAb,GAAiBC,YAAhC;AACA,MAAII,OAAQL,SAAS,CAAT,IAAcA,SAAS,CAAvB,IAA4B,CAACA,KAAzC;AACA,SACEK,OACA,IADA,GAGA;AAAA;AAAA,MAAK,qBAAmBD,SAAxB;AACGH,oBAAgB,CAAhB,GACC,8BAAC,YAAD,IAAO,MAAK,WAAZ,EAAwB,WAAU,4CAAlC,GADD,GAIC,8BAAC,YAAD,IAAO,MAAK,MAAZ,EAAmB,WAAU,wDAA7B,EAAsF,SAASC,QAA/F,GALJ;AAQE;AAAA;AAAA,QAAM,WAAU,WAAhB;AAA4B;AAAA;AAAA;AAAOD;AAAP,OAA5B;AAAA;AAAwD;AAAA;AAAA;AAAOD;AAAP;AAAxD,KARF;AAWIC,oBAAgBD,KAAhB,IAAyBC,gBAAgB,CAAzC,GACE,8BAAC,YAAD,IAAO,MAAK,WAAZ,EAAwB,WAAU,6CAAlC,GADF,GAIE,8BAAC,YAAD,IAAO,MAAK,MAAZ,EAAmB,WAAU,yDAA7B,EAAuF,SAASE,IAAhG;AAfN,GAJF;AAuBD,C","file":"index.js","sourcesContent":["import React from 'react';\nimport { Ticon } from '../../index';\nimport './index.less';\n\nexport default ({ total, currentIndex, previous, next, className='' }) => {\n currentIndex = total == 0 ? 0 : currentIndex;\n let hide = (total == 0 || total == 1 || !total);\n return (\n hide ?\n null\n :\n <div className={`page ${className}`}>\n {currentIndex <= 1 ?\n <Ticon type='zuozhihui' className='page-button page-button-left page-disabled' />\n :\n\n <Ticon type='zuo1' className='page-button page-button-left page-active primary-color' onClick={previous} />\n\n }\n <span className='page-text'><span>{currentIndex}</span>/<span>{total}</span></span>\n\n {\n currentIndex >= total || currentIndex == 0 ?\n <Ticon type='youzhihui' className='page-button page-button-right page-disabled' />\n :\n\n <Ticon type='you1' className='page-button page-button-right page-active primary-color' onClick={next} />\n }\n </div>\n )\n}"]}
|