mui_app_rails 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/javascripts/mui_app_rails/mui.js +6013 -1
- data/app/assets/javascripts/mui_app_rails/mui.min.js +8 -0
- data/app/assets/javascripts/mui_app_rails.js +1 -1
- data/app/assets/stylesheets/mui_app_rails/mui.css +3742 -0
- data/app/assets/stylesheets/mui_app_rails/mui.min.css +5 -0
- data/lib/mui_app_rails/engine.rb +12 -0
- data/lib/mui_app_rails/version.rb +1 -1
- data/lib/mui_app_rails.rb +1 -1
- metadata +17 -99
- data/app/assets/javascripts/mui_app_rails/actions.js +0 -26
- data/app/assets/javascripts/mui_app_rails/ajax.plugin.js +0 -3
- data/app/assets/javascripts/mui_app_rails/input.plugin.js +0 -232
- data/app/assets/javascripts/mui_app_rails/modals.js +0 -37
- data/app/assets/javascripts/mui_app_rails/mui.active.js +0 -30
- data/app/assets/javascripts/mui_app_rails/mui.ajax.5+.js +0 -27
- data/app/assets/javascripts/mui_app_rails/mui.ajax.js +0 -277
- data/app/assets/javascripts/mui_app_rails/mui.animation.js +0 -39
- data/app/assets/javascripts/mui_app_rails/mui.animationframe.js +0 -72
- data/app/assets/javascripts/mui_app_rails/mui.back.5+.js +0 -108
- data/app/assets/javascripts/mui_app_rails/mui.back.js +0 -56
- data/app/assets/javascripts/mui_app_rails/mui.class.js +0 -40
- data/app/assets/javascripts/mui_app_rails/mui.class.scroll.js +0 -894
- data/app/assets/javascripts/mui_app_rails/mui.class.scroll.pullrefresh.js +0 -150
- data/app/assets/javascripts/mui_app_rails/mui.class.scroll.slider.js +0 -361
- data/app/assets/javascripts/mui_app_rails/mui.class.scroll.slider.old.js +0 -332
- data/app/assets/javascripts/mui_app_rails/mui.detect.5+.js +0 -18
- data/app/assets/javascripts/mui_app_rails/mui.detect.js +0 -50
- data/app/assets/javascripts/mui_app_rails/mui.dialog.alert.js +0 -27
- data/app/assets/javascripts/mui_app_rails/mui.dialog.confirm.js +0 -27
- data/app/assets/javascripts/mui_app_rails/mui.dialog.prompt.js +0 -33
- data/app/assets/javascripts/mui_app_rails/mui.dialog.toast.js +0 -20
- data/app/assets/javascripts/mui_app_rails/mui.event.js +0 -160
- data/app/assets/javascripts/mui_app_rails/mui.fixed.animation.js +0 -22
- data/app/assets/javascripts/mui_app_rails/mui.fixed.classlist.js +0 -50
- data/app/assets/javascripts/mui_app_rails/mui.fixed.fastclick.js +0 -64
- data/app/assets/javascripts/mui_app_rails/mui.fixed.js +0 -40
- data/app/assets/javascripts/mui_app_rails/mui.fixed.keyboard.js +0 -56
- data/app/assets/javascripts/mui_app_rails/mui.gestures.drag.js +0 -48
- data/app/assets/javascripts/mui_app_rails/mui.gestures.flick.js +0 -30
- data/app/assets/javascripts/mui_app_rails/mui.gestures.hold.js +0 -41
- data/app/assets/javascripts/mui_app_rails/mui.gestures.js +0 -207
- data/app/assets/javascripts/mui_app_rails/mui.gestures.longtap.js +0 -43
- data/app/assets/javascripts/mui_app_rails/mui.gestures.swipe.js +0 -29
- data/app/assets/javascripts/mui_app_rails/mui.gestures.tap.js +0 -40
- data/app/assets/javascripts/mui_app_rails/mui.init.5+.js +0 -441
- data/app/assets/javascripts/mui_app_rails/mui.init.js +0 -100
- data/app/assets/javascripts/mui_app_rails/mui.init.pullrefresh.js +0 -57
- data/app/assets/javascripts/mui_app_rails/mui.jsonp.js +0 -108
- data/app/assets/javascripts/mui_app_rails/mui.layout.js +0 -22
- data/app/assets/javascripts/mui_app_rails/mui.namespace.js +0 -35
- data/app/assets/javascripts/mui_app_rails/mui.number.js +0 -93
- data/app/assets/javascripts/mui_app_rails/mui.offcanvas.js +0 -497
- data/app/assets/javascripts/mui_app_rails/mui.pullrefresh.js +0 -157
- data/app/assets/javascripts/mui_app_rails/mui.target.js +0 -58
- data/app/assets/javascripts/mui_app_rails/mui.view.js +0 -172
- data/app/assets/javascripts/mui_app_rails/popovers.js +0 -278
- data/app/assets/javascripts/mui_app_rails/pullrefresh.5+.js +0 -238
- data/app/assets/javascripts/mui_app_rails/push.js +0 -479
- data/app/assets/javascripts/mui_app_rails/segmented-controllers.js +0 -99
- data/app/assets/javascripts/mui_app_rails/sliders.js +0 -362
- data/app/assets/javascripts/mui_app_rails/switches.js +0 -165
- data/app/assets/javascripts/mui_app_rails/tableviews.js +0 -512
- data/app/assets/stylesheets/mui_app_rails/badges.scss +0 -88
- data/app/assets/stylesheets/mui_app_rails/bars.scss +0 -312
- data/app/assets/stylesheets/mui_app_rails/base.scss +0 -196
- data/app/assets/stylesheets/mui_app_rails/buttons.scss +0 -205
- data/app/assets/stylesheets/mui_app_rails/cards.scss +0 -62
- data/app/assets/stylesheets/mui_app_rails/forms.scss +0 -452
- data/app/assets/stylesheets/mui_app_rails/fullscreen.scss +0 -35
- data/app/assets/stylesheets/mui_app_rails/grid.scss +0 -75
- data/app/assets/stylesheets/mui_app_rails/hack.scss +0 -14
- data/app/assets/stylesheets/mui_app_rails/icon.scss +0 -170
- data/app/assets/stylesheets/mui_app_rails/iscroll.scss +0 -43
- data/app/assets/stylesheets/mui_app_rails/loadings.scss +0 -111
- data/app/assets/stylesheets/mui_app_rails/mixins.scss +0 -212
- data/app/assets/stylesheets/mui_app_rails/modals.scss +0 -34
- data/app/assets/stylesheets/mui_app_rails/mui.scss +0 -46
- data/app/assets/stylesheets/mui_app_rails/normalize.scss +0 -425
- data/app/assets/stylesheets/mui_app_rails/number.scss +0 -70
- data/app/assets/stylesheets/mui_app_rails/off-canvas.scss +0 -84
- data/app/assets/stylesheets/mui_app_rails/os.scss +0 -12
- data/app/assets/stylesheets/mui_app_rails/pagination.scss +0 -155
- data/app/assets/stylesheets/mui_app_rails/popovers.scss +0 -198
- data/app/assets/stylesheets/mui_app_rails/pullrefreshs.scss +0 -98
- data/app/assets/stylesheets/mui_app_rails/push.scss +0 -63
- data/app/assets/stylesheets/mui_app_rails/scroll.scss +0 -95
- data/app/assets/stylesheets/mui_app_rails/segmented-controls.scss +0 -150
- data/app/assets/stylesheets/mui_app_rails/slider-cell.scss +0 -20
- data/app/assets/stylesheets/mui_app_rails/sliders.scss +0 -133
- data/app/assets/stylesheets/mui_app_rails/switches.scss +0 -115
- data/app/assets/stylesheets/mui_app_rails/table-views.scss +0 -482
- data/app/assets/stylesheets/mui_app_rails/toast.scss +0 -16
- data/app/assets/stylesheets/mui_app_rails/type.scss +0 -23
- data/app/assets/stylesheets/mui_app_rails/variables.scss +0 -64
@@ -1,37 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Modals
|
3
|
-
* @param {type} $
|
4
|
-
* @param {type} window
|
5
|
-
* @param {type} document
|
6
|
-
* @param {type} name
|
7
|
-
* @returns {undefined}
|
8
|
-
*/
|
9
|
-
(function($, window, document, name) {
|
10
|
-
var CLASS_MODAL = $.className('modal');
|
11
|
-
|
12
|
-
var handle = function(event, target) {
|
13
|
-
if (target.tagName === 'A' && target.hash) {
|
14
|
-
var modal = document.getElementById(target.hash.replace('#', ''));
|
15
|
-
if (modal && modal.classList.contains(CLASS_MODAL)) {
|
16
|
-
return modal;
|
17
|
-
}
|
18
|
-
}
|
19
|
-
return false;
|
20
|
-
};
|
21
|
-
|
22
|
-
$.registerTarget({
|
23
|
-
name: name,
|
24
|
-
index: 50,
|
25
|
-
handle: handle,
|
26
|
-
target: false,
|
27
|
-
isReset: false,
|
28
|
-
isContinue: true
|
29
|
-
});
|
30
|
-
|
31
|
-
window.addEventListener('tap', function(event) {
|
32
|
-
if ($.targets.modal) {
|
33
|
-
event.detail.gesture.preventDefault(); //fixed hashchange
|
34
|
-
$.targets.modal.classList.toggle($.className('active'));
|
35
|
-
}
|
36
|
-
});
|
37
|
-
})(mui, window, document, 'modal');
|
@@ -1,30 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* TODO mui active
|
3
|
-
*/
|
4
|
-
(function(window) {
|
5
|
-
var active;
|
6
|
-
window.addEventListener('touchstart', function(event) {
|
7
|
-
var target = event.target;
|
8
|
-
var isCellDisabled = false;
|
9
|
-
for (; target && target !== document; target = target.parentNode) {
|
10
|
-
if (target.classList) {
|
11
|
-
var classList = target.classList;
|
12
|
-
if (classList.contains(CLASS_DISABLED)) { //normal
|
13
|
-
isCellDisabled = true;
|
14
|
-
} else if (target.tagName === 'INPUT' || target.tagName === 'BUTTON' || classList.contains(CLASS_TOGGLE) || classList.contains(CLASS_BTN)) {
|
15
|
-
isCellDisabled = true;
|
16
|
-
}
|
17
|
-
if (classList.contains(CLASS_TABLE_VIEW_CELL)) {
|
18
|
-
if (!isCellDisabled) {
|
19
|
-
active = target;
|
20
|
-
var link = cell.querySelector('a');
|
21
|
-
if (link && link.parentNode === cell) { //li>a
|
22
|
-
active = link;
|
23
|
-
}
|
24
|
-
}
|
25
|
-
break;
|
26
|
-
}
|
27
|
-
}
|
28
|
-
}
|
29
|
-
});
|
30
|
-
})(window);
|
@@ -1,27 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* 5+ ajax
|
3
|
-
*/
|
4
|
-
(function($) {
|
5
|
-
var originAnchor = document.createElement('a');
|
6
|
-
originAnchor.href = window.location.href;
|
7
|
-
$.plusReady(function() {
|
8
|
-
$.ajaxSettings = $.extend($.ajaxSettings, {
|
9
|
-
xhr: function(settings) {
|
10
|
-
if (settings.crossDomain) { //强制使用plus跨域
|
11
|
-
return new plus.net.XMLHttpRequest();
|
12
|
-
}
|
13
|
-
//仅在webview的url为远程文件,且ajax请求的资源不同源下使用plus.net.XMLHttpRequest
|
14
|
-
if (originAnchor.protocol !== 'file:') {
|
15
|
-
var urlAnchor = document.createElement('a');
|
16
|
-
urlAnchor.href = settings.url;
|
17
|
-
urlAnchor.href = urlAnchor.href;
|
18
|
-
settings.crossDomain = (originAnchor.protocol + '//' + originAnchor.host) !== (urlAnchor.protocol + '//' + urlAnchor.host);
|
19
|
-
if (settings.crossDomain) {
|
20
|
-
return new plus.net.XMLHttpRequest();
|
21
|
-
}
|
22
|
-
}
|
23
|
-
return new window.XMLHttpRequest();
|
24
|
-
}
|
25
|
-
});
|
26
|
-
});
|
27
|
-
})(mui);
|
@@ -1,277 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* mui ajax
|
3
|
-
* @param {type} $
|
4
|
-
* @returns {undefined}
|
5
|
-
*/
|
6
|
-
(function($, window, undefined) {
|
7
|
-
|
8
|
-
var jsonType = 'application/json';
|
9
|
-
var htmlType = 'text/html';
|
10
|
-
var rscript = /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi;
|
11
|
-
var scriptTypeRE = /^(?:text|application)\/javascript/i;
|
12
|
-
var xmlTypeRE = /^(?:text|application)\/xml/i;
|
13
|
-
var blankRE = /^\s*$/;
|
14
|
-
|
15
|
-
$.ajaxSettings = {
|
16
|
-
type: 'GET',
|
17
|
-
beforeSend: $.noop,
|
18
|
-
success: $.noop,
|
19
|
-
error: $.noop,
|
20
|
-
complete: $.noop,
|
21
|
-
context: null,
|
22
|
-
xhr: function(protocol) {
|
23
|
-
return new window.XMLHttpRequest();
|
24
|
-
},
|
25
|
-
accepts: {
|
26
|
-
script: 'text/javascript, application/javascript, application/x-javascript',
|
27
|
-
json: jsonType,
|
28
|
-
xml: 'application/xml, text/xml',
|
29
|
-
html: htmlType,
|
30
|
-
text: 'text/plain'
|
31
|
-
},
|
32
|
-
timeout: 0,
|
33
|
-
processData: true,
|
34
|
-
cache: true
|
35
|
-
};
|
36
|
-
var ajaxBeforeSend = function(xhr, settings) {
|
37
|
-
var context = settings.context
|
38
|
-
if (settings.beforeSend.call(context, xhr, settings) === false) {
|
39
|
-
return false;
|
40
|
-
}
|
41
|
-
};
|
42
|
-
var ajaxSuccess = function(data, xhr, settings) {
|
43
|
-
settings.success.call(settings.context, data, 'success', xhr);
|
44
|
-
ajaxComplete('success', xhr, settings);
|
45
|
-
};
|
46
|
-
// type: "timeout", "error", "abort", "parsererror"
|
47
|
-
var ajaxError = function(error, type, xhr, settings) {
|
48
|
-
settings.error.call(settings.context, xhr, type, error);
|
49
|
-
ajaxComplete(type, xhr, settings);
|
50
|
-
};
|
51
|
-
// status: "success", "notmodified", "error", "timeout", "abort", "parsererror"
|
52
|
-
var ajaxComplete = function(status, xhr, settings) {
|
53
|
-
settings.complete.call(settings.context, xhr, status);
|
54
|
-
};
|
55
|
-
|
56
|
-
var serialize = function(params, obj, traditional, scope) {
|
57
|
-
var type, array = $.isArray(obj),
|
58
|
-
hash = $.isPlainObject(obj);
|
59
|
-
$.each(obj, function(key, value) {
|
60
|
-
type = $.type(value);
|
61
|
-
if (scope) {
|
62
|
-
key = traditional ? scope :
|
63
|
-
scope + '[' + (hash || type === 'object' || type === 'array' ? key : '') + ']';
|
64
|
-
}
|
65
|
-
// handle data in serializeArray() format
|
66
|
-
if (!scope && array) {
|
67
|
-
params.add(value.name, value.value);
|
68
|
-
}
|
69
|
-
// recurse into nested objects
|
70
|
-
else if (type === "array" || (!traditional && type === "object")) {
|
71
|
-
serialize(params, value, traditional, key);
|
72
|
-
} else {
|
73
|
-
params.add(key, value);
|
74
|
-
}
|
75
|
-
});
|
76
|
-
};
|
77
|
-
var serializeData = function(options) {
|
78
|
-
if (options.processData && options.data && typeof options.data !== "string") {
|
79
|
-
options.data = $.param(options.data, options.traditional);
|
80
|
-
}
|
81
|
-
if (options.data && (!options.type || options.type.toUpperCase() === 'GET')) {
|
82
|
-
options.url = appendQuery(options.url, options.data);
|
83
|
-
options.data = undefined;
|
84
|
-
}
|
85
|
-
};
|
86
|
-
var appendQuery = function(url, query) {
|
87
|
-
if (query === '') {
|
88
|
-
return url;
|
89
|
-
}
|
90
|
-
return (url + '&' + query).replace(/[&?]{1,2}/, '?');
|
91
|
-
};
|
92
|
-
var mimeToDataType = function(mime) {
|
93
|
-
if (mime) {
|
94
|
-
mime = mime.split(';', 2)[0];
|
95
|
-
}
|
96
|
-
return mime && (mime === htmlType ? 'html' :
|
97
|
-
mime === jsonType ? 'json' :
|
98
|
-
scriptTypeRE.test(mime) ? 'script' :
|
99
|
-
xmlTypeRE.test(mime) && 'xml') || 'text';
|
100
|
-
};
|
101
|
-
var parseArguments = function(url, data, success, dataType) {
|
102
|
-
if ($.isFunction(data)) {
|
103
|
-
dataType = success, success = data, data = undefined;
|
104
|
-
}
|
105
|
-
if (!$.isFunction(success)) {
|
106
|
-
dataType = success, success = undefined;
|
107
|
-
}
|
108
|
-
return {
|
109
|
-
url: url,
|
110
|
-
data: data,
|
111
|
-
success: success,
|
112
|
-
dataType: dataType
|
113
|
-
};
|
114
|
-
};
|
115
|
-
$.ajax = function(url, options) {
|
116
|
-
if (typeof url === "object") {
|
117
|
-
options = url;
|
118
|
-
url = undefined;
|
119
|
-
}
|
120
|
-
var settings = options || {};
|
121
|
-
settings.url = url || settings.url;
|
122
|
-
for (var key in $.ajaxSettings) {
|
123
|
-
if (settings[key] === undefined) {
|
124
|
-
settings[key] = $.ajaxSettings[key];
|
125
|
-
}
|
126
|
-
}
|
127
|
-
serializeData(settings);
|
128
|
-
var dataType = settings.dataType;
|
129
|
-
|
130
|
-
if (settings.cache === false || ((!options || options.cache !== true) && ('script' === dataType))) {
|
131
|
-
settings.url = appendQuery(settings.url, '_=' + $.now());
|
132
|
-
}
|
133
|
-
var mime = settings.accepts[dataType];
|
134
|
-
var headers = {};
|
135
|
-
var setHeader = function(name, value) {
|
136
|
-
headers[name.toLowerCase()] = [name, value];
|
137
|
-
};
|
138
|
-
var protocol = /^([\w-]+:)\/\//.test(settings.url) ? RegExp.$1 : window.location.protocol;
|
139
|
-
var xhr = settings.xhr(settings);
|
140
|
-
var nativeSetHeader = xhr.setRequestHeader;
|
141
|
-
var abortTimeout;
|
142
|
-
|
143
|
-
setHeader('X-Requested-With', 'XMLHttpRequest');
|
144
|
-
setHeader('Accept', mime || '*/*');
|
145
|
-
if (!!(mime = settings.mimeType || mime)) {
|
146
|
-
if (mime.indexOf(',') > -1) {
|
147
|
-
mime = mime.split(',', 2)[0];
|
148
|
-
}
|
149
|
-
xhr.overrideMimeType && xhr.overrideMimeType(mime);
|
150
|
-
}
|
151
|
-
if (settings.contentType || (settings.contentType !== false && settings.data && settings.type.toUpperCase() !== 'GET')) {
|
152
|
-
setHeader('Content-Type', settings.contentType || 'application/x-www-form-urlencoded');
|
153
|
-
}
|
154
|
-
if (settings.headers) {
|
155
|
-
for (var name in settings.headers)
|
156
|
-
setHeader(name, settings.headers[name]);
|
157
|
-
}
|
158
|
-
xhr.setRequestHeader = setHeader;
|
159
|
-
|
160
|
-
xhr.onreadystatechange = function() {
|
161
|
-
if (xhr.readyState === 4) {
|
162
|
-
xhr.onreadystatechange = $.noop;
|
163
|
-
clearTimeout(abortTimeout);
|
164
|
-
var result, error = false;
|
165
|
-
if ((xhr.status >= 200 && xhr.status < 300) || xhr.status === 304 || (xhr.status === 0 && protocol === 'file:')) {
|
166
|
-
dataType = dataType || mimeToDataType(settings.mimeType || xhr.getResponseHeader('content-type'));
|
167
|
-
result = xhr.responseText;
|
168
|
-
try {
|
169
|
-
// http://perfectionkills.com/global-eval-what-are-the-options/
|
170
|
-
if (dataType === 'script') {
|
171
|
-
(1, eval)(result);
|
172
|
-
} else if (dataType === 'xml') {
|
173
|
-
result = xhr.responseXML;
|
174
|
-
} else if (dataType === 'json') {
|
175
|
-
result = blankRE.test(result) ? null : $.parseJSON(result);
|
176
|
-
}
|
177
|
-
} catch (e) {
|
178
|
-
error = e;
|
179
|
-
}
|
180
|
-
|
181
|
-
if (error) {
|
182
|
-
ajaxError(error, 'parsererror', xhr, settings);
|
183
|
-
} else {
|
184
|
-
ajaxSuccess(result, xhr, settings);
|
185
|
-
}
|
186
|
-
} else {
|
187
|
-
ajaxError(xhr.statusText || null, xhr.status ? 'error' : 'abort', xhr, settings);
|
188
|
-
}
|
189
|
-
}
|
190
|
-
};
|
191
|
-
if (ajaxBeforeSend(xhr, settings) === false) {
|
192
|
-
xhr.abort();
|
193
|
-
ajaxError(null, 'abort', xhr, settings);
|
194
|
-
return xhr;
|
195
|
-
}
|
196
|
-
|
197
|
-
if (settings.xhrFields) {
|
198
|
-
for (var name in settings.xhrFields) {
|
199
|
-
xhr[name] = settings.xhrFields[name];
|
200
|
-
}
|
201
|
-
}
|
202
|
-
|
203
|
-
var async = 'async' in settings ? settings.async : true;
|
204
|
-
|
205
|
-
xhr.open(settings.type.toUpperCase(), settings.url, async, settings.username, settings.password);
|
206
|
-
|
207
|
-
for (var name in headers) {
|
208
|
-
nativeSetHeader.apply(xhr, headers[name]);
|
209
|
-
}
|
210
|
-
if (settings.timeout > 0) {
|
211
|
-
abortTimeout = setTimeout(function() {
|
212
|
-
xhr.onreadystatechange = $.noop;
|
213
|
-
xhr.abort();
|
214
|
-
ajaxError(null, 'timeout', xhr, settings);
|
215
|
-
}, settings.timeout);
|
216
|
-
}
|
217
|
-
xhr.send(settings.data ? settings.data : null);
|
218
|
-
return xhr;
|
219
|
-
};
|
220
|
-
|
221
|
-
|
222
|
-
$.param = function(obj, traditional) {
|
223
|
-
var params = [];
|
224
|
-
params.add = function(k, v) {
|
225
|
-
this.push(encodeURIComponent(k) + '=' + encodeURIComponent(v));
|
226
|
-
};
|
227
|
-
serialize(params, obj, traditional);
|
228
|
-
return params.join('&').replace(/%20/g, '+');
|
229
|
-
};
|
230
|
-
$.get = function( /* url, data, success, dataType */ ) {
|
231
|
-
return $.ajax(parseArguments.apply(null, arguments));
|
232
|
-
};
|
233
|
-
|
234
|
-
$.post = function( /* url, data, success, dataType */ ) {
|
235
|
-
var options = parseArguments.apply(null, arguments);
|
236
|
-
options.type = 'POST';
|
237
|
-
return $.ajax(options);
|
238
|
-
};
|
239
|
-
|
240
|
-
$.getJSON = function( /* url, data, success */ ) {
|
241
|
-
var options = parseArguments.apply(null, arguments);
|
242
|
-
options.dataType = 'json';
|
243
|
-
return $.ajax(options);
|
244
|
-
};
|
245
|
-
|
246
|
-
$.fn.load = function(url, data, success) {
|
247
|
-
if (!this.length)
|
248
|
-
return this;
|
249
|
-
var self = this,
|
250
|
-
parts = url.split(/\s/),
|
251
|
-
selector,
|
252
|
-
options = parseArguments(url, data, success),
|
253
|
-
callback = options.success;
|
254
|
-
if (parts.length > 1)
|
255
|
-
options.url = parts[0], selector = parts[1];
|
256
|
-
options.success = function(response) {
|
257
|
-
if (selector) {
|
258
|
-
var div = document.createElement('div');
|
259
|
-
div.innerHTML = response.replace(rscript, "");
|
260
|
-
var selectorDiv = document.createElement('div');
|
261
|
-
var childs = div.querySelectorAll(selector);
|
262
|
-
if (childs && childs.length > 0) {
|
263
|
-
for (var i = 0, len = childs.length; i < len; i++) {
|
264
|
-
selectorDiv.appendChild(childs[i]);
|
265
|
-
}
|
266
|
-
}
|
267
|
-
self[0].innerHTML = selectorDiv.innerHTML;
|
268
|
-
} else {
|
269
|
-
self[0].innerHTML = response;
|
270
|
-
}
|
271
|
-
callback && callback.apply(self, arguments);
|
272
|
-
};
|
273
|
-
$.ajax(options);
|
274
|
-
return this;
|
275
|
-
};
|
276
|
-
|
277
|
-
})(mui, window);
|
@@ -1,39 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* mui animation
|
3
|
-
*/
|
4
|
-
(function($, window) {
|
5
|
-
/**
|
6
|
-
* scrollTo
|
7
|
-
*/
|
8
|
-
$.scrollTo = function(scrollTop, duration, callback) {
|
9
|
-
duration = duration || 1000;
|
10
|
-
var scroll = function(duration) {
|
11
|
-
if (duration <= 0) {
|
12
|
-
window.scrollTo(0, scrollTop);
|
13
|
-
callback && callback();
|
14
|
-
return;
|
15
|
-
}
|
16
|
-
var distaince = scrollTop - window.scrollY;
|
17
|
-
setTimeout(function() {
|
18
|
-
window.scrollTo(0, window.scrollY + distaince / duration * 10);
|
19
|
-
scroll(duration - 10);
|
20
|
-
}, 16.7);
|
21
|
-
};
|
22
|
-
scroll(duration);
|
23
|
-
};
|
24
|
-
$.animationFrame = function(cb) {
|
25
|
-
var args, isQueued, context;
|
26
|
-
return function() {
|
27
|
-
args = arguments;
|
28
|
-
context = this;
|
29
|
-
if (!isQueued) {
|
30
|
-
isQueued = true;
|
31
|
-
requestAnimationFrame(function() {
|
32
|
-
cb.apply(context, args);
|
33
|
-
isQueued = false;
|
34
|
-
});
|
35
|
-
}
|
36
|
-
};
|
37
|
-
};
|
38
|
-
|
39
|
-
})(mui, window);
|
@@ -1,72 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* mui animationFrame
|
3
|
-
*/
|
4
|
-
(function($, window) {
|
5
|
-
|
6
|
-
var rAF = window.requestAnimationFrame;
|
7
|
-
var cAF = window.cancelAnimationFrame;
|
8
|
-
|
9
|
-
var queues = {};
|
10
|
-
|
11
|
-
var animationFrame = {
|
12
|
-
queue : queue,
|
13
|
-
queueAfter : queueAfter,
|
14
|
-
cancel : cancel
|
15
|
-
};
|
16
|
-
|
17
|
-
function animation_id() {
|
18
|
-
var id;
|
19
|
-
do {
|
20
|
-
id = Math.floor(Math.random() * 1E9);
|
21
|
-
} while (id in queues);
|
22
|
-
return id;
|
23
|
-
}
|
24
|
-
|
25
|
-
function recursion(callback) {
|
26
|
-
var qid = animation_id();
|
27
|
-
(function wrapper() {
|
28
|
-
callback();
|
29
|
-
queues[qid] = rAF(function() {
|
30
|
-
delete queues[qid];
|
31
|
-
wrapper();
|
32
|
-
});
|
33
|
-
})();
|
34
|
-
return qid;
|
35
|
-
}
|
36
|
-
|
37
|
-
function queue(callback) {
|
38
|
-
var qid = animation_id();
|
39
|
-
|
40
|
-
queues[qid] = rAF(function() {
|
41
|
-
delete queues[qid];
|
42
|
-
callback.apply(animationFrame, arguments);
|
43
|
-
});
|
44
|
-
|
45
|
-
return qid;
|
46
|
-
}
|
47
|
-
|
48
|
-
function queueAfter(callback) {
|
49
|
-
var qid;
|
50
|
-
|
51
|
-
qid = queue(function() {
|
52
|
-
queues[qid] = rAF(function() {
|
53
|
-
delete queues[qid];
|
54
|
-
callback.apply(animationFrame, arguments);
|
55
|
-
});
|
56
|
-
});
|
57
|
-
|
58
|
-
return qid;
|
59
|
-
}
|
60
|
-
|
61
|
-
function cancel(qid) {
|
62
|
-
if ( qid in queues) {
|
63
|
-
cAF(queues[qid]);
|
64
|
-
delete queues[qid];
|
65
|
-
}
|
66
|
-
return animationFrame;
|
67
|
-
}
|
68
|
-
|
69
|
-
|
70
|
-
$.animationFrame = animationFrame;
|
71
|
-
|
72
|
-
})(mui, window);
|
@@ -1,108 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* mui back 5+
|
3
|
-
* @param {type} $
|
4
|
-
* @param {type} window
|
5
|
-
* @returns {undefined}
|
6
|
-
*/
|
7
|
-
(function($, window) {
|
8
|
-
if ($.os.plus && $.os.android) {
|
9
|
-
$.registerBack({
|
10
|
-
name: 'mui',
|
11
|
-
index: 5,
|
12
|
-
handle: function() {
|
13
|
-
//popover
|
14
|
-
if ($.targets._popover) {
|
15
|
-
$($.targets._popover).popover('hide');
|
16
|
-
return true;
|
17
|
-
}
|
18
|
-
//offcanvas
|
19
|
-
var offCanvas = document.querySelector($.classSelector('.off-canvas-wrap.active'));
|
20
|
-
if (offCanvas) {
|
21
|
-
$(offCanvas).offCanvas('close');
|
22
|
-
return true;
|
23
|
-
}
|
24
|
-
}
|
25
|
-
});
|
26
|
-
}
|
27
|
-
/**
|
28
|
-
* 5+ back
|
29
|
-
*/
|
30
|
-
$.registerBack({
|
31
|
-
name: '5+',
|
32
|
-
index: 10,
|
33
|
-
handle: function() {
|
34
|
-
if (!window.plus) {
|
35
|
-
return false;
|
36
|
-
}
|
37
|
-
var wobj = plus.webview.currentWebview();
|
38
|
-
var parent = wobj.parent();
|
39
|
-
if (parent) {
|
40
|
-
parent.evalJS('mui&&mui.back();');
|
41
|
-
} else {
|
42
|
-
wobj.canBack(function(e) {
|
43
|
-
//by chb 暂时注释,在碰到类似popover之类的锚点的时候,需多次点击才能返回;
|
44
|
-
if (e.canBack) { //webview history back
|
45
|
-
window.history.back();
|
46
|
-
} else { //webview close or hide
|
47
|
-
var opener = wobj.opener();
|
48
|
-
if (opener) {
|
49
|
-
if (wobj.preload) {
|
50
|
-
wobj.hide("auto");
|
51
|
-
} else {
|
52
|
-
//关闭页面时,需要将其打开的所有子页面全部关闭;
|
53
|
-
$.closeAll(wobj);
|
54
|
-
}
|
55
|
-
} else {
|
56
|
-
//首页不存在opener的情况下,后退实际上应该是退出应用;
|
57
|
-
//这个交给项目具体实现,框架暂不处理;
|
58
|
-
//plus.runtime.quit();
|
59
|
-
}
|
60
|
-
}
|
61
|
-
});
|
62
|
-
}
|
63
|
-
return true;
|
64
|
-
}
|
65
|
-
});
|
66
|
-
|
67
|
-
|
68
|
-
$.menu = function() {
|
69
|
-
var menu = document.querySelector($.classSelector('.action-menu'));
|
70
|
-
if (menu) {
|
71
|
-
$.trigger(menu, 'touchstart'); //临时处理menu无touchstart的话,找不到当前targets的问题
|
72
|
-
$.trigger(menu, 'tap');
|
73
|
-
} else { //执行父窗口的menu
|
74
|
-
if (window.plus) {
|
75
|
-
var wobj = $.currentWebview;
|
76
|
-
var parent = wobj.parent();
|
77
|
-
if (parent) { //又得evalJS
|
78
|
-
parent.evalJS('mui&&mui.menu();');
|
79
|
-
}
|
80
|
-
}
|
81
|
-
}
|
82
|
-
};
|
83
|
-
//默认监听
|
84
|
-
$.plusReady(function() {
|
85
|
-
if ($.options.keyEventBind.backbutton) {
|
86
|
-
plus.key.addEventListener('backbutton', $.back, false);
|
87
|
-
}
|
88
|
-
if ($.options.keyEventBind.menubutton) {
|
89
|
-
plus.key.addEventListener('menubutton', $.menu, false);
|
90
|
-
}
|
91
|
-
});
|
92
|
-
//处理按键监听事件
|
93
|
-
$.registerInit({
|
94
|
-
name: 'keyEventBind',
|
95
|
-
index: 1000,
|
96
|
-
handle: function() {
|
97
|
-
$.plusReady(function() {
|
98
|
-
//如果不为true,则移除默认监听
|
99
|
-
if (!$.options.keyEventBind.backbutton) {
|
100
|
-
plus.key.removeEventListener('backbutton', $.back);
|
101
|
-
}
|
102
|
-
if (!$.options.keyEventBind.menubutton) {
|
103
|
-
plus.key.removeEventListener('menubutton', $.menu);
|
104
|
-
}
|
105
|
-
});
|
106
|
-
}
|
107
|
-
});
|
108
|
-
})(mui, window);
|
@@ -1,56 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* mui back
|
3
|
-
* @param {type} $
|
4
|
-
* @param {type} window
|
5
|
-
* @returns {undefined}
|
6
|
-
*/
|
7
|
-
(function($, window) {
|
8
|
-
/**
|
9
|
-
* register back
|
10
|
-
* @param {type} back
|
11
|
-
* @returns {$.gestures}
|
12
|
-
*/
|
13
|
-
$.registerBack = function(back) {
|
14
|
-
return $.registerHandler('backs', back);
|
15
|
-
};
|
16
|
-
/**
|
17
|
-
* default
|
18
|
-
*/
|
19
|
-
$.registerBack({
|
20
|
-
name: 'browser',
|
21
|
-
index: 100,
|
22
|
-
handle: function() {
|
23
|
-
if (window.history.length > 1) {
|
24
|
-
window.history.back();
|
25
|
-
return true;
|
26
|
-
}
|
27
|
-
return false;
|
28
|
-
}
|
29
|
-
});
|
30
|
-
/**
|
31
|
-
* 后退
|
32
|
-
*/
|
33
|
-
$.back = function() {
|
34
|
-
if (typeof $.options.beforeback === 'function') {
|
35
|
-
if ($.options.beforeback() === false) {
|
36
|
-
return;
|
37
|
-
}
|
38
|
-
}
|
39
|
-
$.each($.backs, function(index, back) {
|
40
|
-
return !back.handle();
|
41
|
-
});
|
42
|
-
};
|
43
|
-
window.addEventListener('tap', function(e) {
|
44
|
-
var action = $.targets.action;
|
45
|
-
if (action && action.classList.contains($.className('action-back'))) {
|
46
|
-
$.back();
|
47
|
-
}
|
48
|
-
});
|
49
|
-
window.addEventListener('swiperight', function(e) {
|
50
|
-
var detail = e.detail;
|
51
|
-
if ($.options.swipeBack === true && Math.abs(detail.angle) < 3) {
|
52
|
-
$.back();
|
53
|
-
}
|
54
|
-
});
|
55
|
-
|
56
|
-
})(mui, window);
|
@@ -1,40 +0,0 @@
|
|
1
|
-
(function($) {
|
2
|
-
var initializing = false,
|
3
|
-
fnTest = /xyz/.test(function() {
|
4
|
-
xyz;
|
5
|
-
}) ? /\b_super\b/ : /.*/;
|
6
|
-
|
7
|
-
var Class = function() {};
|
8
|
-
Class.extend = function(prop) {
|
9
|
-
var _super = this.prototype;
|
10
|
-
initializing = true;
|
11
|
-
var prototype = new this();
|
12
|
-
initializing = false;
|
13
|
-
for (var name in prop) {
|
14
|
-
prototype[name] = typeof prop[name] == "function" &&
|
15
|
-
typeof _super[name] == "function" && fnTest.test(prop[name]) ?
|
16
|
-
(function(name, fn) {
|
17
|
-
return function() {
|
18
|
-
var tmp = this._super;
|
19
|
-
|
20
|
-
this._super = _super[name];
|
21
|
-
|
22
|
-
var ret = fn.apply(this, arguments);
|
23
|
-
this._super = tmp;
|
24
|
-
|
25
|
-
return ret;
|
26
|
-
};
|
27
|
-
})(name, prop[name]) :
|
28
|
-
prop[name];
|
29
|
-
}
|
30
|
-
function Class() {
|
31
|
-
if (!initializing && this.init)
|
32
|
-
this.init.apply(this, arguments);
|
33
|
-
}
|
34
|
-
Class.prototype = prototype;
|
35
|
-
Class.prototype.constructor = Class;
|
36
|
-
Class.extend = arguments.callee;
|
37
|
-
return Class;
|
38
|
-
};
|
39
|
-
$.Class = Class;
|
40
|
-
})(mui);
|