fastman2 3.0.0-alpha.1 → 3.0.0-alpha.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.
@@ -1,117 +1 @@
1
- (function webpackUniversalModuleDefinition(root, factory) {
2
- if(typeof exports === 'object' && typeof module === 'object')
3
- module.exports = factory();
4
- else if(typeof define === 'function' && define.amd)
5
- define([], factory);
6
- else if(typeof exports === 'object')
7
- exports["fastman"] = factory();
8
- else
9
- root["fastman"] = factory();
10
- })(this, function() {
11
- return webpackJsonpfastman([12],{
12
-
13
- /***/ 102:
14
- /***/ (function(module, exports, __webpack_require__) {
15
-
16
- "use strict";
17
-
18
-
19
- Object.defineProperty(exports, "__esModule", {
20
- value: true
21
- });
22
- /**
23
- * 无限滚动组件
24
- * Created by dfzq on 2017/2/17.
25
- */
26
-
27
- /**
28
- * 处理scroller的onScroll事件
29
- */
30
- var handleInfiniteScroll = function handleInfiniteScroll() {
31
- // this关键字在箭头符号中拿不到
32
- var inf = $(this);
33
- var scroller = $.getScroller(inf);
34
- var scrollTop = scroller.scrollTop();
35
- var scrollHeight = scroller.scrollHeight();
36
- var height = inf[0].offsetHeight;
37
- var distance = inf[0].getAttribute('data-distance');
38
- var onTop = inf.hasClass('infinite-scroll-top');
39
- if (!distance) distance = 50;
40
- if (typeof distance === 'string' && distance.indexOf('%') >= 0) {
41
- distance = parseInt(distance, 10) / 100 * height;
42
- }
43
- if (distance > height) distance = height;
44
- if (onTop) {
45
- if (scrollTop < distance) {
46
- inf.trigger('infinite');
47
- }
48
- } else {
49
- if (scrollTop + height >= scrollHeight - distance) {
50
- inf.trigger('infinite');
51
- }
52
- }
53
- };
54
-
55
- /**
56
- * 添加无限滚动组件
57
- * @param infiniteContent 无限滚动的容器
58
- */
59
- var attachInfiniteScroll = function attachInfiniteScroll(infiniteContent) {
60
- $.getScroller(infiniteContent).on('scroll', handleInfiniteScroll);
61
- };
62
-
63
- /**
64
- * 移除无限滚动组件
65
- * @param infiniteContent 无限滚动的容器
66
- */
67
- var infiniteScrollDone = function infiniteScrollDone(infiniteContent) {
68
- if (infiniteContent == undefined) infiniteContent = '.infinite-scroll';
69
- $.getScroller(infiniteContent).off('scroll', handleInfiniteScroll);
70
- // 如果开发者没有定制化指示器,检查是否使用了系统内置的指示器,如果使用并删除
71
- if ($('.infinite-scroll-preloader-layer').length > 0) $('.infinite-scroll-preloader-layer').remove();
72
- };
73
-
74
- /**
75
- * 初始化无限滚动组件
76
- * @param pageContainer 页面(路由)容器
77
- */
78
- var initInfiniteScroll = function initInfiniteScroll(pageContainer) {
79
- pageContainer = $(pageContainer);
80
- var infiniteContent = pageContainer.hasClass('infinite-scroll') ? pageContainer : pageContainer.find('.infinite-scroll');
81
- if (infiniteContent.length === 0) return;
82
- attachInfiniteScroll(infiniteContent);
83
- // //如果是顶部无限刷新,要将滚动条初始化于最下端
84
- // pageContainer.forEach(function(v){
85
- // if($(v).hasClass('infinite-scroll-top')){
86
- // var height = v.scrollHeight - v.clientHeight;
87
- // $(v).scrollTop(height);
88
- // }
89
- // });
90
- // function detachEvents() {
91
- // detachInfiniteScroll(infiniteContent);
92
- // pageContainer.off('pageBeforeRemove', detachEvents);
93
- // }
94
- // pageContainer.on('pageBeforeRemove', detachEvents);
95
- };
96
-
97
- // 无限刷新时触发的刷新回调
98
- var infiniteRefresh = function infiniteRefresh(callback) {
99
- $(document).on('infinite', '.infinite-scroll', callback);
100
- };
101
-
102
- exports.initInfiniteScroll = initInfiniteScroll;
103
- exports.infiniteRefresh = infiniteRefresh;
104
- exports.infiniteScrollDone = infiniteScrollDone;
105
-
106
- /***/ }),
107
-
108
- /***/ 237:
109
- /***/ (function(module, exports, __webpack_require__) {
110
-
111
- module.exports = __webpack_require__(102);
112
-
113
-
114
- /***/ })
115
-
116
- },[237]);
117
- });
1
+ !function(e,i){"object"==typeof exports&&"object"==typeof module?module.exports=i():"function"==typeof define&&define.amd?define([],i):"object"==typeof exports?exports.fastman=i():e.fastman=i()}(this,function(){return webpackJsonpfastman([12],{102:function(e,i,n){"use strict";Object.defineProperty(i,"__esModule",{value:!0});var t=function(){var e=$(this),i=$.getScroller(e),n=i.scrollTop(),t=i.scrollHeight(),o=e[0].offsetHeight,r=e[0].getAttribute("data-distance"),l=e.hasClass("infinite-scroll-top");r||(r=50),"string"==typeof r&&r.indexOf("%")>=0&&(r=parseInt(r,10)/100*o),r>o&&(r=o),l?n<r&&e.trigger("infinite"):n+o>=t-r&&e.trigger("infinite")},o=function(e){$.getScroller(e).on("scroll",t)},r=function(e){void 0==e&&(e=".infinite-scroll"),$.getScroller(e).off("scroll",t),$(".infinite-scroll-preloader-layer").length>0&&$(".infinite-scroll-preloader-layer").remove()},l=function(e){e=$(e);var i=e.hasClass("infinite-scroll")?e:e.find(".infinite-scroll");0!==i.length&&o(i)},f=function(e){$(document).on("infinite",".infinite-scroll",e)};i.initInfiniteScroll=l,i.infiniteRefresh=f,i.infiniteScrollDone=r},237:function(e,i,n){e.exports=n(102)}},[237])});
@@ -1,302 +1 @@
1
- (function webpackUniversalModuleDefinition(root, factory) {
2
- if(typeof exports === 'object' && typeof module === 'object')
3
- module.exports = factory();
4
- else if(typeof define === 'function' && define.amd)
5
- define([], factory);
6
- else if(typeof exports === 'object')
7
- exports["fastman"] = factory();
8
- else
9
- root["fastman"] = factory();
10
- })(this, function() {
11
- return webpackJsonpfastman([9],{
12
-
13
- /***/ 100:
14
- /***/ (function(module, exports, __webpack_require__) {
15
-
16
- "use strict";
17
-
18
-
19
- /**
20
- * Created by dfzq on 2017/2/13.
21
- */
22
- var refreshTime = 0;
23
- var initPullToRefreshJS = function initPullToRefreshJS(pageContainer) {
24
- var eventsTarget = $(pageContainer);
25
- if (!eventsTarget.hasClass('pull-down-refresh')) {
26
- eventsTarget = eventsTarget.find('.pull-down-refresh');
27
- }
28
- if (!eventsTarget || eventsTarget.length === 0) return;
29
-
30
- var page = eventsTarget.hasClass('ui-container') ? eventsTarget : eventsTarget.parents('.ui-container');
31
- var scroller = $.getScroller(page[0]);
32
- if (!scroller) return;
33
-
34
- var container = eventsTarget;
35
-
36
- function handleScroll() {
37
- if (container.hasClass('refreshing')) return;
38
- if (scroller.scrollTop() * -1 >= 44) {
39
- container.removeClass('pull-down').addClass('pull-up');
40
- } else {
41
- container.removeClass('pull-up').addClass('pull-down');
42
- }
43
- }
44
-
45
- function handleRefresh() {
46
- if (container.hasClass('refreshing')) return;
47
- container.removeClass('pull-down pull-up');
48
- container.addClass('refreshing transitioning');
49
- container.trigger('refresh');
50
- refreshTime = +new Date();
51
- }
52
- scroller.on('scroll', handleScroll);
53
- scroller.scroller.on('ptr', handleRefresh);
54
-
55
- // Detach Events on page remove
56
- function destroyPullToRefresh() {
57
- scroller.off('scroll', handleScroll);
58
- scroller.scroller.off('ptr', handleRefresh);
59
- }
60
- eventsTarget[0].destroyPullToRefresh = destroyPullToRefresh;
61
- };
62
-
63
- var pullToRefreshDoneJS = function pullToRefreshDoneJS(container) {
64
- container = $(container);
65
- if (container.length === 0) container = $('.pull-down-refresh.refreshing');
66
- if (container.length === 0) return;
67
- var interval = +new Date() - refreshTime;
68
- var timeOut = interval > 1000 ? 0 : 1000 - interval; //long than bounce time
69
- var scroller = $.getScroller(container);
70
- setTimeout(function () {
71
- scroller.refresh();
72
- container.removeClass('refreshing');
73
- container.transitionEnd(function () {
74
- container.removeClass("transitioning");
75
- });
76
- }, timeOut);
77
- };
78
- var pullToRefreshTriggerJS = function pullToRefreshTriggerJS(container) {
79
- container = $(container);
80
- if (container.length === 0) container = $('.pull-down-refresh');
81
- if (container.hasClass('refreshing')) return;
82
- container.addClass('refreshing');
83
- var scroller = $.getScroller(container);
84
- scroller.scrollTop(44 + 1, 200);
85
- container.trigger('refresh');
86
- };
87
-
88
- var destroyPullToRefreshJS = function destroyPullToRefreshJS(pageContainer) {
89
- pageContainer = $(pageContainer);
90
- var pullToRefreshContent = pageContainer.hasClass('pull-down-refresh') ? pageContainer : pageContainer.find('.pull-down-refresh');
91
- if (pullToRefreshContent.length === 0) return;
92
- if (pullToRefreshContent[0].destroyPullToRefresh) pullToRefreshContent[0].destroyPullToRefresh();
93
- };
94
-
95
- $._pullToRefreshJSScroll = {
96
- "initPullToRefresh": initPullToRefreshJS,
97
- "pullToRefreshDone": pullToRefreshDoneJS,
98
- "pullToRefreshTrigger": pullToRefreshTriggerJS,
99
- "destroyPullToRefresh": destroyPullToRefreshJS
100
- };
101
-
102
- /***/ }),
103
-
104
- /***/ 101:
105
- /***/ (function(module, exports, __webpack_require__) {
106
-
107
- "use strict";
108
-
109
-
110
- /**
111
- * Created by dfzq on 2017/2/12.
112
- */
113
- $.initPullToRefresh = function (pageContainer) {
114
- var eventsTarget = $(pageContainer);
115
- // 从子节点中查找是否有pull-down-refresh标注
116
- if (!eventsTarget.hasClass('pull-down-refresh')) {
117
- eventsTarget = eventsTarget.find('.pull-down-refresh');
118
- }
119
- if (!eventsTarget || eventsTarget.length === 0) return;
120
-
121
- // dynamicTriggerDistance - 当容器上定义data-ptr-distance则动态计算该layer的实际高度,这只是一个启动特性的标识符
122
- // triggerDistance - 下拉距离,超过该距离则触发下拉刷新事件
123
- // touchesStart - 存放Touch/Mouse相关坐标位置等参数
124
- // touchStartTime - 触发touchStart事件时的time
125
- var isTouched,
126
- isMoved,
127
- touchesStart = {},
128
- isScrolling,
129
- touchesDiff,
130
- touchStartTime,
131
- container,
132
- refresh = false,
133
- useTranslate = false,
134
- startTranslate = 0,
135
- translate,
136
- scrollTop,
137
- wasScrolled,
138
- triggerDistance,
139
- dynamicTriggerDistance;
140
-
141
- container = eventsTarget;
142
-
143
- // 定义向下拉动距离,默认44pt
144
- if (container.attr('data-ptr-distance')) {
145
- dynamicTriggerDistance = true;
146
- } else {
147
- triggerDistance = 44;
148
- }
149
-
150
- function handleTouchStart(e) {
151
- if (isTouched) {
152
- // 屏蔽掉安卓系统的双点事件
153
- if ($.device.android) {
154
- if ('targetTouches' in e && e.targetTouches.length > 1) return;
155
- } else return;
156
- }
157
- isMoved = false;
158
- isTouched = true;
159
- isScrolling = undefined;
160
- wasScrolled = undefined;
161
- touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;
162
- touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;
163
- touchStartTime = new Date().getTime();
164
- /*jshint validthis:true */
165
- container = $(this);
166
- }
167
-
168
- function handleTouchMove(e) {
169
- if (!isTouched) return;
170
- var pageX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;
171
- var pageY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;
172
- // 计算当前是否是垂直方向的滚动操作
173
- if (typeof isScrolling === 'undefined') {
174
- isScrolling = !!(isScrolling || Math.abs(pageY - touchesStart.y) > Math.abs(pageX - touchesStart.x));
175
- }
176
- if (!isScrolling) {
177
- isTouched = false;
178
- return;
179
- }
180
-
181
- scrollTop = container[0].scrollTop;
182
- if (typeof wasScrolled === 'undefined' && scrollTop !== 0) wasScrolled = true;
183
-
184
- if (!isMoved) {
185
- /*jshint validthis:true */
186
- container.removeClass('transitioning');
187
- if (scrollTop > container[0].offsetHeight) {
188
- isTouched = false;
189
- return;
190
- }
191
- if (dynamicTriggerDistance) {
192
- triggerDistance = container.attr('data-ptr-distance');
193
- if (triggerDistance.indexOf('%') >= 0) triggerDistance = container[0].offsetHeight * parseInt(triggerDistance, 10) / 100;
194
- }
195
- startTranslate = container.hasClass('refreshing') ? triggerDistance : 0;
196
- // if (container[0].scrollHeight === container[0].offsetHeight || !$.device.ios) {
197
- // useTranslate = true;
198
- // } else {
199
- // useTranslate = false;
200
- // }
201
- useTranslate = true;
202
- }
203
- isMoved = true;
204
- touchesDiff = pageY - touchesStart.y;
205
-
206
- if (touchesDiff > 0 && scrollTop <= 0 || scrollTop < 0) {
207
- // iOS 8 fix
208
- if ($.device.ios && parseInt($.device.osVersion.split('.')[0], 10) > 7 && scrollTop === 0 && !wasScrolled) useTranslate = true;
209
-
210
- if (useTranslate) {
211
- e.preventDefault();
212
- translate = Math.pow(touchesDiff, 0.85) + startTranslate;
213
- container.transform('translate3d(0,' + translate + 'px,0)');
214
- // console.log(translate);
215
- } else {}
216
- if (useTranslate && Math.pow(touchesDiff, 0.85) > triggerDistance || !useTranslate && touchesDiff >= triggerDistance * 2) {
217
- refresh = true;
218
- container.addClass('pull-up').removeClass('pull-down');
219
- } else {
220
- refresh = false;
221
- container.removeClass('pull-up').addClass('pull-down');
222
- }
223
- } else {
224
-
225
- container.removeClass('pull-up pull-down');
226
- refresh = false;
227
- return;
228
- }
229
- }
230
-
231
- function handleTouchEnd() {
232
- if (!isTouched || !isMoved) {
233
- isTouched = false;
234
- isMoved = false;
235
- return;
236
- }
237
- if (translate) {
238
- container.addClass('transitioning');
239
- translate = 0;
240
- }
241
- container.transform('');
242
- if (refresh) {
243
- //防止二次触发
244
- if (container.hasClass('refreshing')) return;
245
- container.addClass('refreshing');
246
- container.trigger('refresh');
247
- } else {
248
- container.removeClass('pull-down');
249
- }
250
- isTouched = false;
251
- isMoved = false;
252
- }
253
-
254
- // 根据Document/DocumentTouch添加触屏或鼠猫事件
255
- eventsTarget.on($.touchEvents.start, handleTouchStart);
256
- eventsTarget.on($.touchEvents.move, handleTouchMove);
257
- eventsTarget.on($.touchEvents.end, handleTouchEnd);
258
-
259
- function destroyPullToRefresh() {
260
- eventsTarget.off($.touchEvents.start, handleTouchStart);
261
- eventsTarget.off($.touchEvents.move, handleTouchMove);
262
- eventsTarget.off($.touchEvents.end, handleTouchEnd);
263
- }
264
- eventsTarget[0].destroyPullToRefresh = destroyPullToRefresh;
265
- };
266
- $.pullToRefreshDone = function (container) {
267
- $(window).scrollTop(0); //解决微信下拉刷新顶部消失的问题
268
- container = $(container);
269
- if (container.length === 0) container = $('.pull-down-refresh.refreshing');
270
- container.removeClass('refreshing').addClass('transitioning');
271
- container.transitionEnd(function () {
272
- container.removeClass('transitioning pull-up pull-down');
273
- });
274
- };
275
- $.pullToRefreshTrigger = function (container) {
276
- container = $(container);
277
- if (container.length === 0) container = $('.pull-down-refresh');
278
- if (container.hasClass('refreshing')) return;
279
- container.addClass('transitioning refreshing');
280
- container.trigger('refresh');
281
- };
282
-
283
- $.destroyPullToRefresh = function (pageContainer) {
284
- pageContainer = $(pageContainer);
285
- var pullToRefreshContent = pageContainer.hasClass('pull-down-refresh') ? pageContainer : pageContainer.find('.pull-down-refresh');
286
- if (pullToRefreshContent.length === 0) return;
287
- if (pullToRefreshContent[0].destroyPullToRefresh) pullToRefreshContent[0].destroyPullToRefresh();
288
- };
289
-
290
- /***/ }),
291
-
292
- /***/ 236:
293
- /***/ (function(module, exports, __webpack_require__) {
294
-
295
- __webpack_require__(101);
296
- module.exports = __webpack_require__(100);
297
-
298
-
299
- /***/ })
300
-
301
- },[236]);
302
- });
1
+ !function(e,r){"object"==typeof exports&&"object"==typeof module?module.exports=r():"function"==typeof define&&define.amd?define([],r):"object"==typeof exports?exports.fastman=r():e.fastman=r()}(this,function(){return webpackJsonpfastman([9],{100:function(e,r,s){"use strict";var n=0,t=function(e){function r(){a.hasClass("refreshing")||(-1*i.scrollTop()>=44?a.removeClass("pull-down").addClass("pull-up"):a.removeClass("pull-up").addClass("pull-down"))}function s(){a.hasClass("refreshing")||(a.removeClass("pull-down pull-up"),a.addClass("refreshing transitioning"),a.trigger("refresh"),n=+new Date)}function t(){i.off("scroll",r),i.scroller.off("ptr",s)}var o=$(e);if(o.hasClass("pull-down-refresh")||(o=o.find(".pull-down-refresh")),o&&0!==o.length){var l=o.hasClass("ui-container")?o:o.parents(".ui-container"),i=$.getScroller(l[0]);if(i){var a=o;i.on("scroll",r),i.scroller.on("ptr",s),o[0].destroyPullToRefresh=t}}},o=function(e){if(e=$(e),0===e.length&&(e=$(".pull-down-refresh.refreshing")),0!==e.length){var r=+new Date-n,s=r>1e3?0:1e3-r,t=$.getScroller(e);setTimeout(function(){t.refresh(),e.removeClass("refreshing"),e.transitionEnd(function(){e.removeClass("transitioning")})},s)}},l=function(e){if(e=$(e),0===e.length&&(e=$(".pull-down-refresh")),!e.hasClass("refreshing")){e.addClass("refreshing");$.getScroller(e).scrollTop(45,200),e.trigger("refresh")}},i=function(e){e=$(e);var r=e.hasClass("pull-down-refresh")?e:e.find(".pull-down-refresh");0!==r.length&&r[0].destroyPullToRefresh&&r[0].destroyPullToRefresh()};$._pullToRefreshJSScroll={initPullToRefresh:t,pullToRefreshDone:o,pullToRefreshTrigger:l,destroyPullToRefresh:i}},101:function(e,r,s){"use strict";$.initPullToRefresh=function(e){function r(e){if(l){if(!$.device.android)return;if("targetTouches"in e&&e.targetTouches.length>1)return}i=!1,l=!0,a=void 0,c=void 0,C.x="touchstart"===e.type?e.targetTouches[0].pageX:e.pageX,C.y="touchstart"===e.type?e.targetTouches[0].pageY:e.pageY,u=(new Date).getTime(),h=$(this)}function s(e){if(l){var r="touchmove"===e.type?e.targetTouches[0].pageX:e.pageX,s="touchmove"===e.type?e.targetTouches[0].pageY:e.pageY;if(void 0===a&&(a=!!(a||Math.abs(s-C.y)>Math.abs(r-C.x))),!a)return void(l=!1);if(p=h[0].scrollTop,void 0===c&&0!==p&&(c=!0),!i){if(h.removeClass("transitioning"),p>h[0].offsetHeight)return void(l=!1);v&&(g=h.attr("data-ptr-distance"),g.indexOf("%")>=0&&(g=h[0].offsetHeight*parseInt(g,10)/100)),m=h.hasClass("refreshing")?g:0,w=!0}if(i=!0,!((f=s-C.y)>0&&p<=0||p<0))return h.removeClass("pull-up pull-down"),void(T=!1);$.device.ios&&parseInt($.device.osVersion.split(".")[0],10)>7&&0===p&&!c&&(w=!0),w&&(e.preventDefault(),d=Math.pow(f,.85)+m,h.transform("translate3d(0,"+d+"px,0)")),w&&Math.pow(f,.85)>g||!w&&f>=2*g?(T=!0,h.addClass("pull-up").removeClass("pull-down")):(T=!1,h.removeClass("pull-up").addClass("pull-down"))}}function n(){if(!l||!i)return l=!1,void(i=!1);if(d&&(h.addClass("transitioning"),d=0),h.transform(""),T){if(h.hasClass("refreshing"))return;h.addClass("refreshing"),h.trigger("refresh")}else h.removeClass("pull-down");l=!1,i=!1}function t(){o.off($.touchEvents.start,r),o.off($.touchEvents.move,s),o.off($.touchEvents.end,n)}var o=$(e);if(o.hasClass("pull-down-refresh")||(o=o.find(".pull-down-refresh")),o&&0!==o.length){var l,i,a,f,u,h,d,p,c,g,v,C={},T=!1,w=!1,m=0;h=o,h.attr("data-ptr-distance")?v=!0:g=44,o.on($.touchEvents.start,r),o.on($.touchEvents.move,s),o.on($.touchEvents.end,n),o[0].destroyPullToRefresh=t}},$.pullToRefreshDone=function(e){$(window).scrollTop(0),e=$(e),0===e.length&&(e=$(".pull-down-refresh.refreshing")),e.removeClass("refreshing").addClass("transitioning"),e.transitionEnd(function(){e.removeClass("transitioning pull-up pull-down")})},$.pullToRefreshTrigger=function(e){e=$(e),0===e.length&&(e=$(".pull-down-refresh")),e.hasClass("refreshing")||(e.addClass("transitioning refreshing"),e.trigger("refresh"))},$.destroyPullToRefresh=function(e){e=$(e);var r=e.hasClass("pull-down-refresh")?e:e.find(".pull-down-refresh");0!==r.length&&r[0].destroyPullToRefresh&&r[0].destroyPullToRefresh()}},236:function(e,r,s){s(101),e.exports=s(100)}},[236])});