mazey 1.4.37 → 2.0.0
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.
- package/LICENSE +21 -21
- package/README.md +477 -317
- package/README_CN.md +335 -0
- package/lib/example.d.ts +2 -0
- package/lib/example.d.ts.map +1 -0
- package/lib/index.cjs.js +244 -446
- package/lib/index.d.ts +85 -131
- package/lib/index.d.ts.map +1 -1
- package/lib/index.esm.js +242 -438
- package/package.json +86 -85
- package/src/example.html +21 -0
- package/src/example.ts +49 -0
- package/src/index.ts +1360 -1619
- package/tsconfig.json +73 -73
- package/typing.d.ts +3 -3
- package/lib/test.d.ts +0 -2
- package/lib/test.d.ts.map +0 -1
- package/src/js/data-structure/MSet.js +0 -89
- package/src/js/polyfill.js +0 -63
- package/src/js/service/common.js +0 -4
- package/src/scss/extend/index.scss +0 -149
- package/src/scss/index.scss +0 -5
- package/src/scss/mixin/index.scss +0 -41
- package/src/scss/variate/index.scss +0 -28
- package/src/test.html +0 -33
- package/src/test.ts +0 -26
package/lib/index.cjs.js
CHANGED
|
@@ -2419,6 +2419,10 @@ if (NOT_GENERIC || INCORRECT_NAME) {
|
|
|
2419
2419
|
}, { unsafe: true });
|
|
2420
2420
|
}
|
|
2421
2421
|
|
|
2422
|
+
_export({ target: 'RegExp', proto: true, forced: /./.exec !== regexpExec }, {
|
|
2423
|
+
exec: regexpExec
|
|
2424
|
+
});
|
|
2425
|
+
|
|
2422
2426
|
// TODO: Remove from `core-js@4` since it's moved to entry points
|
|
2423
2427
|
|
|
2424
2428
|
|
|
@@ -2984,7 +2988,28 @@ function _typeof(obj) {
|
|
|
2984
2988
|
module.exports = _typeof;
|
|
2985
2989
|
});
|
|
2986
2990
|
|
|
2987
|
-
|
|
2991
|
+
/*! *****************************************************************************
|
|
2992
|
+
Copyright (c) Microsoft Corporation.
|
|
2993
|
+
|
|
2994
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
2995
|
+
purpose with or without fee is hereby granted.
|
|
2996
|
+
|
|
2997
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
2998
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
2999
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
3000
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
3001
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
3002
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
3003
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
3004
|
+
***************************************************************************** */
|
|
3005
|
+
|
|
3006
|
+
function __spreadArrays() {
|
|
3007
|
+
for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
|
|
3008
|
+
for (var r = Array(s), k = 0, i = 0; i < il; i++)
|
|
3009
|
+
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
|
|
3010
|
+
r[k] = a[j];
|
|
3011
|
+
return r;
|
|
3012
|
+
}
|
|
2988
3013
|
|
|
2989
3014
|
/**
|
|
2990
3015
|
* @method calLongestCommonSubstring
|
|
@@ -2993,7 +3018,16 @@ module.exports = _typeof;
|
|
|
2993
3018
|
* @param {String} bStr 字符串
|
|
2994
3019
|
* @return {Number} 长度
|
|
2995
3020
|
*/
|
|
3021
|
+
|
|
2996
3022
|
function calLongestCommonSubstring(aStr, bStr) {
|
|
3023
|
+
if (aStr === void 0) {
|
|
3024
|
+
aStr = '';
|
|
3025
|
+
}
|
|
3026
|
+
|
|
3027
|
+
if (bStr === void 0) {
|
|
3028
|
+
bStr = '';
|
|
3029
|
+
}
|
|
3030
|
+
|
|
2997
3031
|
var aLen = aStr.length;
|
|
2998
3032
|
var bLen = bStr.length; // 创建二维数组并且深拷贝
|
|
2999
3033
|
|
|
@@ -3028,6 +3062,14 @@ function calLongestCommonSubstring(aStr, bStr) {
|
|
|
3028
3062
|
*/
|
|
3029
3063
|
|
|
3030
3064
|
function calLongestCommonSubsequence(aStr, bStr) {
|
|
3065
|
+
if (aStr === void 0) {
|
|
3066
|
+
aStr = '';
|
|
3067
|
+
}
|
|
3068
|
+
|
|
3069
|
+
if (bStr === void 0) {
|
|
3070
|
+
bStr = '';
|
|
3071
|
+
}
|
|
3072
|
+
|
|
3031
3073
|
var aLen = aStr.length;
|
|
3032
3074
|
var bLen = bStr.length; // 创建二维数组并且深拷贝
|
|
3033
3075
|
|
|
@@ -3068,148 +3110,178 @@ function calLongestCommonSubsequence(aStr, bStr) {
|
|
|
3068
3110
|
return maxLong;
|
|
3069
3111
|
}
|
|
3070
3112
|
/**
|
|
3071
|
-
* @method
|
|
3072
|
-
* @description
|
|
3073
|
-
* @param {String}
|
|
3074
|
-
* @
|
|
3113
|
+
* @method getQueryParam
|
|
3114
|
+
* @description Get the query param's value of the current Web URL(`location.search`).
|
|
3115
|
+
* @param {String} param Query param.
|
|
3116
|
+
* @return {String} value
|
|
3075
3117
|
* */
|
|
3076
3118
|
|
|
3077
|
-
function
|
|
3078
|
-
|
|
3079
|
-
|
|
3080
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
3081
|
-
rest[_i - 1] = arguments[_i];
|
|
3119
|
+
function getQueryParam(param) {
|
|
3120
|
+
if (param === void 0) {
|
|
3121
|
+
param = '';
|
|
3082
3122
|
}
|
|
3083
3123
|
|
|
3084
|
-
var
|
|
3085
|
-
var
|
|
3086
|
-
|
|
3087
|
-
for (var _a = 0, rest_1 = rest; _a < rest_1.length; _a++) {
|
|
3088
|
-
var v = rest_1[_a];
|
|
3089
|
-
|
|
3090
|
-
if (v) {
|
|
3091
|
-
ret += "" + joinStr + v;
|
|
3092
|
-
}
|
|
3093
|
-
}
|
|
3124
|
+
var reg = new RegExp('(^|&)' + param + '=([^&]*)(&|$)');
|
|
3125
|
+
var r = location.search.substr(1).match(reg);
|
|
3094
3126
|
|
|
3095
|
-
if (
|
|
3096
|
-
|
|
3127
|
+
if (r !== null) {
|
|
3128
|
+
return decodeURIComponent(unescape(r[2]));
|
|
3097
3129
|
}
|
|
3098
3130
|
|
|
3099
|
-
return
|
|
3131
|
+
return '';
|
|
3100
3132
|
}
|
|
3101
3133
|
/**
|
|
3102
|
-
* @method
|
|
3103
|
-
* @description
|
|
3104
|
-
* @param {
|
|
3105
|
-
* @param {
|
|
3106
|
-
* @
|
|
3107
|
-
*/
|
|
3134
|
+
* @method getUrlParam
|
|
3135
|
+
* @description Get the query param's value of the input URL.
|
|
3136
|
+
* @param {String} url URL string.
|
|
3137
|
+
* @param {String} param Query param.
|
|
3138
|
+
* @return {String} value
|
|
3139
|
+
* */
|
|
3108
3140
|
|
|
3109
|
-
function
|
|
3110
|
-
if (
|
|
3111
|
-
|
|
3141
|
+
function getUrlParam(url, param) {
|
|
3142
|
+
if (url === void 0) {
|
|
3143
|
+
url = '';
|
|
3112
3144
|
}
|
|
3113
3145
|
|
|
3114
|
-
if (
|
|
3115
|
-
|
|
3146
|
+
if (param === void 0) {
|
|
3147
|
+
param = '';
|
|
3116
3148
|
}
|
|
3117
3149
|
|
|
3118
|
-
|
|
3119
|
-
property = [];
|
|
3120
|
-
}
|
|
3150
|
+
var result = {}; // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace
|
|
3121
3151
|
|
|
3122
|
-
|
|
3152
|
+
url.replace(/\??(\w+)=([^&]*)&?/g, function (a, k, v) {
|
|
3153
|
+
if (result[k] !== undefined) {
|
|
3154
|
+
var t = result[k];
|
|
3155
|
+
result[k] = [].concat(t, v);
|
|
3156
|
+
} else {
|
|
3157
|
+
result[k] = v;
|
|
3158
|
+
}
|
|
3159
|
+
}); // if (param === undefined) {
|
|
3160
|
+
// return result;
|
|
3161
|
+
// } else {
|
|
3162
|
+
// return result[param] || '';
|
|
3163
|
+
// }
|
|
3164
|
+
|
|
3165
|
+
return result[param] || '';
|
|
3166
|
+
}
|
|
3167
|
+
/**
|
|
3168
|
+
* @method updateQueryParam
|
|
3169
|
+
* @description Update the query param's value of the input URL.
|
|
3170
|
+
* @param {String} url URL string.
|
|
3171
|
+
* @param {String} param Query param.
|
|
3172
|
+
* @param {String} value Param's value.
|
|
3173
|
+
* @return {String} URL.
|
|
3174
|
+
* */
|
|
3123
3175
|
|
|
3124
|
-
|
|
3125
|
-
|
|
3176
|
+
function updateQueryParam(url, param, value) {
|
|
3177
|
+
if (url === void 0) {
|
|
3178
|
+
url = '';
|
|
3126
3179
|
}
|
|
3127
3180
|
|
|
3128
|
-
|
|
3129
|
-
|
|
3181
|
+
if (param === void 0) {
|
|
3182
|
+
param = '';
|
|
3183
|
+
}
|
|
3130
3184
|
|
|
3131
|
-
if (
|
|
3132
|
-
|
|
3133
|
-
}
|
|
3134
|
-
for (var _a = [0, data.length], i = _a[0], max = _a[1]; i < max; ++i) {
|
|
3135
|
-
var item = data[i];
|
|
3136
|
-
content += '<tr>';
|
|
3185
|
+
if (value === void 0) {
|
|
3186
|
+
value = '';
|
|
3187
|
+
}
|
|
3137
3188
|
|
|
3138
|
-
|
|
3139
|
-
|
|
3140
|
-
}
|
|
3189
|
+
var re = new RegExp('([?&])' + param + '=.*?(&|$)', 'i');
|
|
3190
|
+
var separator = url.indexOf('?') !== -1 ? '&' : '?';
|
|
3141
3191
|
|
|
3142
|
-
|
|
3143
|
-
|
|
3192
|
+
if (url.match(re)) {
|
|
3193
|
+
return url.replace(re, '$1' + param + '=' + value + '$2');
|
|
3194
|
+
} else {
|
|
3195
|
+
return url + separator + param + '=' + value;
|
|
3144
3196
|
}
|
|
3145
|
-
|
|
3146
|
-
TBODY.innerHTML = content;
|
|
3147
3197
|
}
|
|
3148
3198
|
/**
|
|
3149
3199
|
* @method getHashQueryParam
|
|
3150
|
-
* @description
|
|
3151
|
-
* @param {String} param
|
|
3200
|
+
* @description Get the hash query param's value of the current Web URL(`location.hash`).
|
|
3201
|
+
* @param {String} param Query param.
|
|
3202
|
+
* @return {String} value
|
|
3152
3203
|
*/
|
|
3153
3204
|
|
|
3154
3205
|
function getHashQueryParam(param) {
|
|
3155
|
-
|
|
3206
|
+
if (param === void 0) {
|
|
3207
|
+
param = '';
|
|
3208
|
+
}
|
|
3209
|
+
|
|
3210
|
+
var hashs = location.hash.split('?');
|
|
3156
3211
|
|
|
3157
3212
|
if (hashs.length === 1) {
|
|
3158
|
-
return
|
|
3213
|
+
return '';
|
|
3159
3214
|
}
|
|
3160
3215
|
|
|
3161
3216
|
var reg = new RegExp("(^|&)" + param + "=([^&]*)(&|$)");
|
|
3162
3217
|
var ret = hashs[1].match(reg);
|
|
3163
|
-
return ret ? ret[2] :
|
|
3218
|
+
return ret ? ret[2] : '';
|
|
3219
|
+
}
|
|
3220
|
+
/**
|
|
3221
|
+
* @method getDomain
|
|
3222
|
+
* @description Get the domain of URL, and other params.
|
|
3223
|
+
* @param {String} url
|
|
3224
|
+
* @param {Array} rules Object.keys(location), ['href', 'protocol', 'host', 'hostname', 'port', 'pathname', 'search', 'hash'], ['hostname', 'pathname'] = 'km.mazey.net/plugins/servlet/mobile'
|
|
3225
|
+
* */
|
|
3226
|
+
|
|
3227
|
+
function getDomain(url, rules) {
|
|
3228
|
+
if (url === void 0) {
|
|
3229
|
+
url = '';
|
|
3230
|
+
}
|
|
3231
|
+
|
|
3232
|
+
if (rules === void 0) {
|
|
3233
|
+
rules = ['hostname'];
|
|
3234
|
+
}
|
|
3235
|
+
|
|
3236
|
+
var aEl = document.createElement('a');
|
|
3237
|
+
aEl.href = url;
|
|
3238
|
+
return rules.reduce(function (ret, v) {
|
|
3239
|
+
ret += aEl[v];
|
|
3240
|
+
return ret;
|
|
3241
|
+
}, '');
|
|
3164
3242
|
}
|
|
3165
3243
|
/**
|
|
3166
3244
|
* @method camelCaseToKebabCase
|
|
3167
|
-
* @description
|
|
3168
|
-
* @param {String} camelCase
|
|
3245
|
+
* @description Transfer CamelCase to KebabCase.
|
|
3246
|
+
* @param {String} camelCase 'aBC' or 'ABC'
|
|
3247
|
+
* @return {String} 'a-b-c'
|
|
3169
3248
|
* */
|
|
3170
3249
|
|
|
3171
3250
|
function camelCaseToKebabCase(camelCase) {
|
|
3251
|
+
if (camelCase === void 0) {
|
|
3252
|
+
camelCase = '';
|
|
3253
|
+
}
|
|
3254
|
+
|
|
3172
3255
|
var kebabCase = camelCase.replace(/([A-Z])/g, '-$1').toLowerCase();
|
|
3173
3256
|
return kebabCase[0] === '-' ? kebabCase.substr(1) : kebabCase;
|
|
3174
3257
|
}
|
|
3175
3258
|
/**
|
|
3176
3259
|
* @method camelCase2Underscore
|
|
3177
|
-
* @description
|
|
3178
|
-
* @param {String} camelCase
|
|
3260
|
+
* @description Transfer CamelCase to Underscore.
|
|
3261
|
+
* @param {String} camelCase 'aBC' or 'ABC'
|
|
3262
|
+
* @return {String} 'a_b_c'
|
|
3179
3263
|
* */
|
|
3180
3264
|
|
|
3181
3265
|
function camelCase2Underscore(camelCase) {
|
|
3266
|
+
if (camelCase === void 0) {
|
|
3267
|
+
camelCase = '';
|
|
3268
|
+
}
|
|
3269
|
+
|
|
3182
3270
|
var kebabCase = camelCase.replace(/([A-Z])/g, '_$1').toLowerCase();
|
|
3183
3271
|
return kebabCase[0] === '_' ? kebabCase.substr(1) : kebabCase;
|
|
3184
3272
|
}
|
|
3185
3273
|
/**
|
|
3186
|
-
* @method
|
|
3187
|
-
* @description
|
|
3188
|
-
* @param {String}
|
|
3189
|
-
* @
|
|
3274
|
+
* @method mTrim
|
|
3275
|
+
* @description Remove leading and trailing whitespace or specified characters from string.
|
|
3276
|
+
* @param {String} str The string to trim.
|
|
3277
|
+
* @return {String} Trimmed string.
|
|
3190
3278
|
* */
|
|
3191
3279
|
|
|
3192
|
-
function
|
|
3193
|
-
|
|
3194
|
-
|
|
3195
|
-
|
|
3196
|
-
_d = _b.rules,
|
|
3197
|
-
rules = _d === void 0 ? ['hostname'] : _d;
|
|
3198
|
-
|
|
3199
|
-
var aEl = document.createElement('a');
|
|
3200
|
-
aEl.href = url;
|
|
3201
|
-
return rules.reduce(function (ret, v, index) {
|
|
3202
|
-
ret += aEl[v];
|
|
3203
|
-
return ret;
|
|
3204
|
-
}, '');
|
|
3205
|
-
}
|
|
3206
|
-
/**
|
|
3207
|
-
* @method trim
|
|
3208
|
-
* @description 去除左右空格。
|
|
3209
|
-
* @param {String} str 需要去除两边空格的字符串。
|
|
3210
|
-
* */
|
|
3280
|
+
function mTrim(str) {
|
|
3281
|
+
if (str === void 0) {
|
|
3282
|
+
str = '';
|
|
3283
|
+
}
|
|
3211
3284
|
|
|
3212
|
-
function trim$1(str) {
|
|
3213
3285
|
str = str.replace(/^\s+/, ''); // 去除头部空格
|
|
3214
3286
|
|
|
3215
3287
|
var end = str.length - 1;
|
|
@@ -3223,11 +3295,16 @@ function trim$1(str) {
|
|
|
3223
3295
|
}
|
|
3224
3296
|
/**
|
|
3225
3297
|
* @method newLine
|
|
3226
|
-
* @description
|
|
3227
|
-
* @param {String} str
|
|
3298
|
+
* @description Make a newline of HTML.
|
|
3299
|
+
* @param {String} str The string to make a newline.
|
|
3300
|
+
* @return {String} A newline with `<br />`.
|
|
3228
3301
|
* */
|
|
3229
3302
|
|
|
3230
3303
|
function newLine(str) {
|
|
3304
|
+
if (str === void 0) {
|
|
3305
|
+
str = '';
|
|
3306
|
+
}
|
|
3307
|
+
|
|
3231
3308
|
if (!str) {
|
|
3232
3309
|
return '';
|
|
3233
3310
|
}
|
|
@@ -3237,22 +3314,48 @@ function newLine(str) {
|
|
|
3237
3314
|
}
|
|
3238
3315
|
/**
|
|
3239
3316
|
* @method deepCopyObject
|
|
3240
|
-
* @description
|
|
3241
|
-
* @param {Object} obj
|
|
3242
|
-
* @return {Object}
|
|
3317
|
+
* @description Clone Object deeply.
|
|
3318
|
+
* @param {Object} obj The value to clone.
|
|
3319
|
+
* @return {Object} Returns the deep cloned value.
|
|
3243
3320
|
* */
|
|
3244
3321
|
|
|
3245
3322
|
function deepCopyObject(obj) {
|
|
3246
3323
|
return JSON.parse(JSON.stringify(obj));
|
|
3247
3324
|
}
|
|
3325
|
+
/**
|
|
3326
|
+
* @method isJsonString
|
|
3327
|
+
* @description Check whether it is a valid JSON string.
|
|
3328
|
+
* @param {String} str The string to check.
|
|
3329
|
+
* @return {Boolean} Return the result of checking.
|
|
3330
|
+
* */
|
|
3331
|
+
|
|
3332
|
+
function isJsonString(str) {
|
|
3333
|
+
if (str === void 0) {
|
|
3334
|
+
str = '';
|
|
3335
|
+
}
|
|
3336
|
+
|
|
3337
|
+
try {
|
|
3338
|
+
if (_typeof_1(JSON.parse(str)) === 'object') {
|
|
3339
|
+
return true;
|
|
3340
|
+
}
|
|
3341
|
+
} catch (e) {
|
|
3342
|
+
/* pass */
|
|
3343
|
+
}
|
|
3344
|
+
|
|
3345
|
+
return false;
|
|
3346
|
+
}
|
|
3248
3347
|
/**
|
|
3249
3348
|
* @method generateRndNum
|
|
3250
|
-
* @description
|
|
3251
|
-
* @param {Number} n
|
|
3252
|
-
* @return {String}
|
|
3349
|
+
* @description Produce a random string of number, `generateRndNum(7)` => '7658495'.
|
|
3350
|
+
* @param {Number} n Length
|
|
3351
|
+
* @return {String} Return the random string.
|
|
3253
3352
|
* */
|
|
3254
3353
|
|
|
3255
3354
|
function generateRndNum(n) {
|
|
3355
|
+
if (n === void 0) {
|
|
3356
|
+
n = 5;
|
|
3357
|
+
}
|
|
3358
|
+
|
|
3256
3359
|
var ret = '';
|
|
3257
3360
|
|
|
3258
3361
|
while (n--) {
|
|
@@ -3268,36 +3371,15 @@ function generateRndNum(n) {
|
|
|
3268
3371
|
* */
|
|
3269
3372
|
|
|
3270
3373
|
function generateUniqueNum(n) {
|
|
3374
|
+
if (n === void 0) {
|
|
3375
|
+
n = 3;
|
|
3376
|
+
}
|
|
3377
|
+
|
|
3271
3378
|
var _a = [mNow(), generateRndNum(n || 3)],
|
|
3272
3379
|
now = _a[0],
|
|
3273
3380
|
rnd = _a[1];
|
|
3274
3381
|
return now + rnd;
|
|
3275
3382
|
}
|
|
3276
|
-
/**
|
|
3277
|
-
* @method resetForm
|
|
3278
|
-
* @description 重置表单输入值为原始(空)状态。
|
|
3279
|
-
* @param {String} rest name1,name2,name3...NAME属性,可以多个。
|
|
3280
|
-
* */
|
|
3281
|
-
|
|
3282
|
-
function resetForm() {
|
|
3283
|
-
var rest = [];
|
|
3284
|
-
|
|
3285
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
3286
|
-
rest[_i] = arguments[_i];
|
|
3287
|
-
}
|
|
3288
|
-
|
|
3289
|
-
for (var i = 0; i < rest.length; i++) {
|
|
3290
|
-
var tagMz = document.getElementsByName(rest[i])[0]; // tag object
|
|
3291
|
-
|
|
3292
|
-
var tagNameMz = tagMz.tagName.toLowerCase(); // tag name
|
|
3293
|
-
|
|
3294
|
-
if (tagNameMz === 'input') {
|
|
3295
|
-
tagMz.value = '';
|
|
3296
|
-
} else if (tagNameMz === 'select') {
|
|
3297
|
-
tagMz.options[0].selected = true;
|
|
3298
|
-
}
|
|
3299
|
-
}
|
|
3300
|
-
}
|
|
3301
3383
|
/**
|
|
3302
3384
|
* @method floatToPercent
|
|
3303
3385
|
* @description 浮点数转为百分比 0.2 => 20%。
|
|
@@ -3306,17 +3388,23 @@ function resetForm() {
|
|
|
3306
3388
|
* */
|
|
3307
3389
|
|
|
3308
3390
|
function floatToPercent(num, fixSize) {
|
|
3391
|
+
if (num === void 0) {
|
|
3392
|
+
num = 0;
|
|
3393
|
+
}
|
|
3394
|
+
|
|
3309
3395
|
if (fixSize === void 0) {
|
|
3310
3396
|
fixSize = 0;
|
|
3311
3397
|
}
|
|
3312
3398
|
|
|
3399
|
+
var ret = '';
|
|
3400
|
+
|
|
3313
3401
|
if (fixSize) {
|
|
3314
|
-
|
|
3402
|
+
ret = (num * 100).toFixed(fixSize);
|
|
3315
3403
|
} else {
|
|
3316
|
-
|
|
3404
|
+
ret = String(Math.floor(num * 100));
|
|
3317
3405
|
}
|
|
3318
3406
|
|
|
3319
|
-
return
|
|
3407
|
+
return ret + "%";
|
|
3320
3408
|
}
|
|
3321
3409
|
/**
|
|
3322
3410
|
* @method floatFixed
|
|
@@ -3324,23 +3412,11 @@ function floatToPercent(num, fixSize) {
|
|
|
3324
3412
|
* */
|
|
3325
3413
|
|
|
3326
3414
|
function floatFixed(num, size) {
|
|
3327
|
-
|
|
3328
|
-
|
|
3329
|
-
/**
|
|
3330
|
-
* @method compatibleExist
|
|
3331
|
-
* @description 不存在返回 ——。
|
|
3332
|
-
* */
|
|
3333
|
-
|
|
3334
|
-
function compatibleExist(instance, replaceStr) {
|
|
3335
|
-
var ret = '';
|
|
3336
|
-
|
|
3337
|
-
try {
|
|
3338
|
-
ret = instance || replaceStr || '——';
|
|
3339
|
-
} catch (e) {
|
|
3340
|
-
ret = '——';
|
|
3415
|
+
if (size === void 0) {
|
|
3416
|
+
size = 0;
|
|
3341
3417
|
}
|
|
3342
3418
|
|
|
3343
|
-
return
|
|
3419
|
+
return parseFloat(num).toFixed(size);
|
|
3344
3420
|
}
|
|
3345
3421
|
/**
|
|
3346
3422
|
* @method cancelBubble
|
|
@@ -3587,7 +3663,7 @@ function friendlyInterval(_a) {
|
|
|
3587
3663
|
/**
|
|
3588
3664
|
* @method isNumber
|
|
3589
3665
|
* @description 判断是否有效数字
|
|
3590
|
-
* @param {
|
|
3666
|
+
* @param {*} num 被判断的值
|
|
3591
3667
|
* @param {Boolean} isNaNAsNumber 是否 NaN 算数字(默认不算)
|
|
3592
3668
|
* @param {Boolean} isUnFiniteAsNumber 是否 无限 算数字(默认不算)
|
|
3593
3669
|
* @return {Boolean} true 是数字
|
|
@@ -3620,84 +3696,6 @@ function isNumber(num, _a) {
|
|
|
3620
3696
|
|
|
3621
3697
|
return ret;
|
|
3622
3698
|
}
|
|
3623
|
-
/**
|
|
3624
|
-
* @method updateQueryStringParameter
|
|
3625
|
-
* @description 替换或添加地址栏参数。
|
|
3626
|
-
* */
|
|
3627
|
-
|
|
3628
|
-
function updateQueryStringParameter(uri, key, value) {
|
|
3629
|
-
var re = new RegExp('([?&])' + key + '=.*?(&|$)', 'i');
|
|
3630
|
-
var separator = uri.indexOf('?') !== -1 ? '&' : '?';
|
|
3631
|
-
|
|
3632
|
-
if (uri.match(re)) {
|
|
3633
|
-
return uri.replace(re, '$1' + key + '=' + value + '$2');
|
|
3634
|
-
} else {
|
|
3635
|
-
return uri + separator + key + '=' + value;
|
|
3636
|
-
}
|
|
3637
|
-
}
|
|
3638
|
-
/**
|
|
3639
|
-
* @method isJsonString
|
|
3640
|
-
* @description 判断是否合法 JSON 字符串。
|
|
3641
|
-
* */
|
|
3642
|
-
|
|
3643
|
-
function isJsonString(str) {
|
|
3644
|
-
try {
|
|
3645
|
-
if (_typeof_1(JSON.parse(str)) === 'object') {
|
|
3646
|
-
return true;
|
|
3647
|
-
}
|
|
3648
|
-
} catch (e) {
|
|
3649
|
-
/* pass */
|
|
3650
|
-
}
|
|
3651
|
-
|
|
3652
|
-
return false;
|
|
3653
|
-
}
|
|
3654
|
-
/**
|
|
3655
|
-
* @method getUrlParam
|
|
3656
|
-
* @description 链接参数
|
|
3657
|
-
* @param {String} sUrl 链接
|
|
3658
|
-
* @param {String} sKey 参数
|
|
3659
|
-
* */
|
|
3660
|
-
|
|
3661
|
-
function getUrlParam(sUrl, sKey) {
|
|
3662
|
-
var result = {};
|
|
3663
|
-
sUrl.replace(/\??(\w+)=([^&]*)&?/g, function (a, k, v) {
|
|
3664
|
-
if (result[k] !== undefined) {
|
|
3665
|
-
var t = result[k];
|
|
3666
|
-
result[k] = [].concat(t, v);
|
|
3667
|
-
} else {
|
|
3668
|
-
result[k] = v;
|
|
3669
|
-
}
|
|
3670
|
-
});
|
|
3671
|
-
|
|
3672
|
-
if (sKey === undefined) {
|
|
3673
|
-
return result;
|
|
3674
|
-
} else {
|
|
3675
|
-
return result[sKey] || '';
|
|
3676
|
-
}
|
|
3677
|
-
}
|
|
3678
|
-
/**
|
|
3679
|
-
* @method getSearchQueryParam
|
|
3680
|
-
* @description 地址栏参数。
|
|
3681
|
-
* */
|
|
3682
|
-
|
|
3683
|
-
function getSearchQueryParam(name) {
|
|
3684
|
-
var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)');
|
|
3685
|
-
var r = window.location.search.substr(1).match(reg);
|
|
3686
|
-
|
|
3687
|
-
if (r != null) {
|
|
3688
|
-
return decodeURIComponent(unescape(r[2]));
|
|
3689
|
-
}
|
|
3690
|
-
|
|
3691
|
-
return null;
|
|
3692
|
-
}
|
|
3693
|
-
/**
|
|
3694
|
-
* @method getQueryParam
|
|
3695
|
-
* @description 地址栏参数,getSearchQueryParam 的别名。
|
|
3696
|
-
* */
|
|
3697
|
-
|
|
3698
|
-
function getQueryParam(name) {
|
|
3699
|
-
return getSearchQueryParam(name);
|
|
3700
|
-
}
|
|
3701
3699
|
/**
|
|
3702
3700
|
* @method doFn
|
|
3703
3701
|
* @description 执行有效函数
|
|
@@ -3739,7 +3737,7 @@ function setSessionStorage(key, value) {
|
|
|
3739
3737
|
* @method getSessionStorage
|
|
3740
3738
|
* @description 存储数据到 sessionStorage
|
|
3741
3739
|
* @param {String} key 键
|
|
3742
|
-
* @return {
|
|
3740
|
+
* @return {*} 返回值
|
|
3743
3741
|
* */
|
|
3744
3742
|
|
|
3745
3743
|
function getSessionStorage(key) {
|
|
@@ -3775,7 +3773,7 @@ function setLocalStorage(key, value) {
|
|
|
3775
3773
|
* @method getLocalStorage
|
|
3776
3774
|
* @description 存储数据到 localStorage
|
|
3777
3775
|
* @param {String} key 键
|
|
3778
|
-
* @return {
|
|
3776
|
+
* @return {*} 返回值
|
|
3779
3777
|
* */
|
|
3780
3778
|
|
|
3781
3779
|
function getLocalStorage(key) {
|
|
@@ -4068,7 +4066,7 @@ function getCookie(name) {
|
|
|
4068
4066
|
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
|
|
4069
4067
|
}
|
|
4070
4068
|
|
|
4071
|
-
return
|
|
4069
|
+
return '';
|
|
4072
4070
|
}
|
|
4073
4071
|
/**
|
|
4074
4072
|
* @method getPerformance
|
|
@@ -4710,243 +4708,46 @@ function addInlineStyle(_a) {
|
|
|
4710
4708
|
return true;
|
|
4711
4709
|
}
|
|
4712
4710
|
/**
|
|
4713
|
-
* @method
|
|
4714
|
-
* @description
|
|
4715
|
-
* @param {String}
|
|
4716
|
-
* @param {
|
|
4717
|
-
* @
|
|
4718
|
-
* @param {String} imgClassName 图片的类名
|
|
4719
|
-
* @param {Object} imgDom 图片 Dom 对象
|
|
4720
|
-
* @param {String} action 操作类型 hide 隐藏指定 `containerClassName` 滚动条
|
|
4721
|
-
* @param {String} customStyle 滚动条的定制样式,会覆盖默认样式
|
|
4722
|
-
* @return {Boolean} 设置成功
|
|
4711
|
+
* @method genCustomConsole
|
|
4712
|
+
* @description 生成自定义控制台打印
|
|
4713
|
+
* @param {String} prefix 前缀
|
|
4714
|
+
* @param {Function} allowFn 允许打印的判断函数
|
|
4715
|
+
* @return {Object} 新实例
|
|
4723
4716
|
*/
|
|
4724
4717
|
|
|
4725
|
-
function
|
|
4726
|
-
var _b = _a === void 0 ? {} : _a,
|
|
4727
|
-
|
|
4728
|
-
|
|
4729
|
-
|
|
4730
|
-
|
|
4731
|
-
|
|
4732
|
-
|
|
4733
|
-
_f = _b.imgClassName,
|
|
4734
|
-
imgClassName = _f === void 0 ? '' : _f,
|
|
4735
|
-
_g = _b.imgDom,
|
|
4736
|
-
imgDom = _g === void 0 ? null : _g,
|
|
4737
|
-
_h = _b.action,
|
|
4738
|
-
action = _h === void 0 ? '' : _h,
|
|
4739
|
-
_j = _b.customStyle,
|
|
4740
|
-
customStyle = _j === void 0 ? '' : _j; // 变量
|
|
4741
|
-
|
|
4742
|
-
|
|
4743
|
-
var barIsHideId = 'bar-is-hide';
|
|
4744
|
-
var barTopId = 'bar-top';
|
|
4745
|
-
var barBottomId = 'bar-bottom';
|
|
4746
|
-
|
|
4747
|
-
if (action === 'hide') {
|
|
4748
|
-
addInlineStyle({
|
|
4749
|
-
inlineStyle: "\n ." + containerClassName + "::after {\n display: none;\n }\n ",
|
|
4750
|
-
id: barIsHideId
|
|
4751
|
-
});
|
|
4752
|
-
return true;
|
|
4753
|
-
}
|
|
4754
|
-
|
|
4755
|
-
setTimeout(function () {
|
|
4756
|
-
// 样式初始化
|
|
4757
|
-
addInlineStyle({
|
|
4758
|
-
inlineStyle: "\n ." + containerClassName + "::after {\n content: ' ';\n position: fixed;\n top: 0;\n right: 2px;\n min-height: 0vh;\n max-height: 100vh;\n width: 6px;\n border-radius: 3px;\n box-shadow: inset 0 0 6px rgba(0,0,0,.3);\n -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.3);\n background-color: rgb(109, 108, 109);\n " + customStyle + "\n }\n ",
|
|
4759
|
-
id: 'bar-init'
|
|
4760
|
-
});
|
|
4761
|
-
var imgInstance = imgDom || document.querySelector("." + imgClassName);
|
|
4762
|
-
|
|
4763
|
-
if (!imgInstance) {
|
|
4764
|
-
console.warn('Need element\'s Dom instance.');
|
|
4765
|
-
return false;
|
|
4766
|
-
}
|
|
4767
|
-
|
|
4768
|
-
var imgBoxInstance = imgBoxDom || document.querySelector("." + imgBoxClassName);
|
|
4769
|
-
|
|
4770
|
-
if (!imgBoxInstance) {
|
|
4771
|
-
console.warn('Need element box\'s Dom instance.');
|
|
4772
|
-
return false;
|
|
4773
|
-
}
|
|
4774
|
-
|
|
4775
|
-
var Box2ToRes = getBox2To(); // console.log('获取图片距离顶部的距离', Box2ToRes);
|
|
4776
|
-
|
|
4777
|
-
var ImgHeightRes = getImgHeight(); // console.log('获取图片的高度', ImgHeightRes);
|
|
4778
|
-
|
|
4779
|
-
var WindowHeightRes = getWindowHeight(); // console.log('获取窗口的高度', WindowHeightRes);
|
|
4780
|
-
|
|
4781
|
-
var TopOverflowPercentRes = getTopOverflowPercent(); // console.log('获取顶部溢出的百分比', TopOverflowPercentRes);
|
|
4782
|
-
|
|
4783
|
-
var BottomOverflowPercentRes = getBottomOverflowPercent(); // console.log('获取顶部溢出的百分比', BottomOverflowPercentRes);
|
|
4784
|
-
|
|
4785
|
-
var hideBarRes = hideBar(); // console.log('如果都是 0 ,隐藏滚动条', hideBarRes);
|
|
4786
|
-
|
|
4787
|
-
if (!hideBarRes) {
|
|
4788
|
-
setBarTop(); // const setBarTopRes = setBarTop();
|
|
4789
|
-
// console.log('设置顶部状态栏', setBarTopRes);
|
|
4790
|
-
|
|
4791
|
-
setBarBottom(); // const setBarBottomRes = setBarBottom();
|
|
4792
|
-
// console.log('设置底部状态栏', setBarBottomRes);
|
|
4793
|
-
} // 获取图片距离顶部的距离
|
|
4794
|
-
|
|
4795
|
-
|
|
4796
|
-
function getBox2To() {
|
|
4797
|
-
var translates = window.getComputedStyle(imgBoxInstance, null).transform;
|
|
4798
|
-
var tanslateY = parseFloat(translates.substring(6).split(',')[5]);
|
|
4799
|
-
return tanslateY;
|
|
4800
|
-
} // 获取图片的高度
|
|
4801
|
-
|
|
4802
|
-
|
|
4803
|
-
function getImgHeight() {
|
|
4804
|
-
var _a;
|
|
4805
|
-
|
|
4806
|
-
return (_a = imgInstance) === null || _a === void 0 ? void 0 : _a.clientHeight;
|
|
4807
|
-
} // 获取窗口的高度
|
|
4808
|
-
|
|
4809
|
-
|
|
4810
|
-
function getWindowHeight() {
|
|
4811
|
-
return document.querySelector("." + containerClassName).clientHeight; // window.outerHeight;
|
|
4812
|
-
} // 获取顶部溢出的百分比
|
|
4813
|
-
|
|
4814
|
-
|
|
4815
|
-
function getTopOverflowPercent() {
|
|
4816
|
-
var box2To = Box2ToRes;
|
|
4817
|
-
|
|
4818
|
-
if (box2To >= 0) {
|
|
4819
|
-
box2To = 0;
|
|
4820
|
-
}
|
|
4821
|
-
|
|
4822
|
-
box2To = Math.abs(box2To); // 图片高度
|
|
4823
|
-
|
|
4824
|
-
var imgHeight = ImgHeightRes;
|
|
4825
|
-
var per = floatToPercent(box2To / imgHeight, 2);
|
|
4826
|
-
return {
|
|
4827
|
-
box2To: box2To,
|
|
4828
|
-
per: per
|
|
4829
|
-
};
|
|
4830
|
-
} // 获取底部溢出的百分比
|
|
4718
|
+
function genCustomConsole(_a) {
|
|
4719
|
+
var _b = (_a === void 0 ? {} : _a).prefix,
|
|
4720
|
+
prefix = _b === void 0 ? '' : _b;
|
|
4721
|
+
var methods = ['log', 'info', 'warn', 'error'];
|
|
4722
|
+
var newConsole = Object.create(null);
|
|
4723
|
+
methods.forEach(function (method) {
|
|
4724
|
+
newConsole[method] = function () {
|
|
4725
|
+
var _a, _b;
|
|
4831
4726
|
|
|
4727
|
+
var argu = [];
|
|
4832
4728
|
|
|
4833
|
-
|
|
4834
|
-
|
|
4835
|
-
var windowHeight = WindowHeightRes; // 图片高度
|
|
4836
|
-
|
|
4837
|
-
var imgHeight = ImgHeightRes; // 上面溢出的高度
|
|
4838
|
-
|
|
4839
|
-
var box2To = Box2ToRes; // 底部
|
|
4840
|
-
|
|
4841
|
-
var remindImageHeight = windowHeight - box2To;
|
|
4842
|
-
var box2ToBottom = imgHeight - remindImageHeight;
|
|
4843
|
-
|
|
4844
|
-
if (box2ToBottom <= 0) {
|
|
4845
|
-
box2ToBottom = 0;
|
|
4729
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
4730
|
+
argu[_i] = arguments[_i];
|
|
4846
4731
|
}
|
|
4847
4732
|
|
|
4848
|
-
|
|
4849
|
-
|
|
4850
|
-
box2ToBottom: box2ToBottom,
|
|
4851
|
-
per: per
|
|
4852
|
-
};
|
|
4853
|
-
} // 如果都是 0 ,隐藏滚动条
|
|
4854
|
-
|
|
4855
|
-
|
|
4856
|
-
function hideBar() {
|
|
4857
|
-
var box2To = TopOverflowPercentRes.box2To;
|
|
4858
|
-
var box2ToBottom = BottomOverflowPercentRes.box2ToBottom;
|
|
4859
|
-
|
|
4860
|
-
if (!box2To && !box2ToBottom) {
|
|
4861
|
-
return addInlineStyle({
|
|
4862
|
-
inlineStyle: "\n ." + containerClassName + "::after {\n display: none;\n }\n ",
|
|
4863
|
-
id: barIsHideId
|
|
4864
|
-
});
|
|
4733
|
+
if (prefix) {
|
|
4734
|
+
(_a = console)[method].apply(_a, __spreadArrays([prefix], argu));
|
|
4865
4735
|
} else {
|
|
4866
|
-
|
|
4867
|
-
inlineStyle: "\n ." + containerClassName + "::after {\n display: block;\n }\n ",
|
|
4868
|
-
id: barIsHideId
|
|
4869
|
-
});
|
|
4736
|
+
(_b = console)[method].apply(_b, argu);
|
|
4870
4737
|
}
|
|
4871
|
-
|
|
4872
|
-
|
|
4873
|
-
|
|
4874
|
-
|
|
4875
|
-
|
|
4876
|
-
function setBarTop() {
|
|
4877
|
-
var per = TopOverflowPercentRes.per;
|
|
4878
|
-
return addInlineStyle({
|
|
4879
|
-
inlineStyle: "\n ." + containerClassName + "::after {\n top: " + per + ";\n }\n ",
|
|
4880
|
-
id: barTopId
|
|
4881
|
-
});
|
|
4882
|
-
} // 设置底部状态栏
|
|
4883
|
-
|
|
4884
|
-
|
|
4885
|
-
function setBarBottom() {
|
|
4886
|
-
var per = BottomOverflowPercentRes.per;
|
|
4887
|
-
return addInlineStyle({
|
|
4888
|
-
inlineStyle: "\n ." + containerClassName + "::after {\n bottom: " + per + ";\n }\n ",
|
|
4889
|
-
id: barBottomId
|
|
4890
|
-
});
|
|
4891
|
-
}
|
|
4892
|
-
}, 25);
|
|
4893
|
-
return true;
|
|
4894
|
-
}
|
|
4895
|
-
/**
|
|
4896
|
-
* @method calcContainImageSizeAndPosition
|
|
4897
|
-
* @description 计算适配容器宽度的图片的尺寸、距离顶部的距离。如果高度不足以占满容器,使其垂直居中;如果高度比容器长,由上向下铺开。
|
|
4898
|
-
* @param {Number} oriImageWidth 图片原始宽度
|
|
4899
|
-
* @param {Number} oriImageHeight 图片原始高度
|
|
4900
|
-
* @param {Number} viewportWidth 可视窗口宽度
|
|
4901
|
-
* @param {Number} viewportHeight 可视窗口高度
|
|
4902
|
-
* @return {Object} 结果 {"targetImageWidth":375,"targetImageHeight":375,"top":218.5,"wPer":1.25}
|
|
4903
|
-
*/
|
|
4904
|
-
|
|
4905
|
-
function calcContainImageSizeAndPosition(_a) {
|
|
4906
|
-
var _b = _a === void 0 ? {} : _a,
|
|
4907
|
-
_c = _b.oriImageWidth,
|
|
4908
|
-
oriImageWidth = _c === void 0 ? 0 : _c,
|
|
4909
|
-
_d = _b.oriImageHeight,
|
|
4910
|
-
oriImageHeight = _d === void 0 ? 0 : _d,
|
|
4911
|
-
_e = _b.viewportWidth,
|
|
4912
|
-
viewportWidth = _e === void 0 ? 0 : _e,
|
|
4913
|
-
_f = _b.viewportHeight,
|
|
4914
|
-
viewportHeight = _f === void 0 ? 0 : _f;
|
|
4915
|
-
|
|
4916
|
-
var targetImageWidth = viewportWidth;
|
|
4917
|
-
var _g = [0, 0, 0],
|
|
4918
|
-
targetImageHeight = _g[0],
|
|
4919
|
-
top = _g[1],
|
|
4920
|
-
wPer = _g[2]; // 比例
|
|
4921
|
-
|
|
4922
|
-
wPer = viewportWidth / oriImageWidth; // 1.+ 1.1 1.5
|
|
4923
|
-
|
|
4924
|
-
targetImageHeight = oriImageHeight * wPer;
|
|
4925
|
-
|
|
4926
|
-
if (targetImageHeight < viewportHeight) {
|
|
4927
|
-
var doubleGap = viewportHeight - targetImageHeight;
|
|
4928
|
-
top = doubleGap / 2;
|
|
4929
|
-
}
|
|
4930
|
-
|
|
4931
|
-
return {
|
|
4932
|
-
targetImageWidth: targetImageWidth,
|
|
4933
|
-
targetImageHeight: targetImageHeight,
|
|
4934
|
-
top: top,
|
|
4935
|
-
wPer: wPer
|
|
4936
|
-
};
|
|
4738
|
+
};
|
|
4739
|
+
});
|
|
4740
|
+
return newConsole;
|
|
4937
4741
|
}
|
|
4938
4742
|
|
|
4939
4743
|
exports.addClass = addClass;
|
|
4940
4744
|
exports.addInlineStyle = addInlineStyle;
|
|
4941
4745
|
exports.calLongestCommonSubsequence = calLongestCommonSubsequence;
|
|
4942
4746
|
exports.calLongestCommonSubstring = calLongestCommonSubstring;
|
|
4943
|
-
exports.calcContainImageSizeAndPosition = calcContainImageSizeAndPosition;
|
|
4944
4747
|
exports.camelCase2Underscore = camelCase2Underscore;
|
|
4945
4748
|
exports.camelCaseToKebabCase = camelCaseToKebabCase;
|
|
4946
4749
|
exports.cancelBubble = cancelBubble;
|
|
4947
4750
|
exports.clearHtml = clearHtml;
|
|
4948
|
-
exports.compatibleExist = compatibleExist;
|
|
4949
|
-
exports.customScrollBarForTransformEle = customScrollBarForTransformEle;
|
|
4950
4751
|
exports.cutCHSString = cutCHSString;
|
|
4951
4752
|
exports.debounce = debounce;
|
|
4952
4753
|
exports.deepCopyObject = deepCopyObject;
|
|
@@ -4954,6 +4755,7 @@ exports.doFn = doFn;
|
|
|
4954
4755
|
exports.floatFixed = floatFixed;
|
|
4955
4756
|
exports.floatToPercent = floatToPercent;
|
|
4956
4757
|
exports.friendlyInterval = friendlyInterval;
|
|
4758
|
+
exports.genCustomConsole = genCustomConsole;
|
|
4957
4759
|
exports.generateRndNum = generateRndNum;
|
|
4958
4760
|
exports.generateUniqueNum = generateUniqueNum;
|
|
4959
4761
|
exports.getBrowserType = getBrowserType;
|
|
@@ -4963,7 +4765,6 @@ exports.getHashQueryParam = getHashQueryParam;
|
|
|
4963
4765
|
exports.getLocalStorage = getLocalStorage;
|
|
4964
4766
|
exports.getPerformance = getPerformance;
|
|
4965
4767
|
exports.getQueryParam = getQueryParam;
|
|
4966
|
-
exports.getSearchQueryParam = getSearchQueryParam;
|
|
4967
4768
|
exports.getSessionStorage = getSessionStorage;
|
|
4968
4769
|
exports.getUrlParam = getUrlParam;
|
|
4969
4770
|
exports.hasClass = hasClass;
|
|
@@ -4971,18 +4772,15 @@ exports.inRate = inRate;
|
|
|
4971
4772
|
exports.isJsonString = isJsonString;
|
|
4972
4773
|
exports.isNumber = isNumber;
|
|
4973
4774
|
exports.isSafePWAEnv = isSafePWAEnv;
|
|
4974
|
-
exports.join = join;
|
|
4975
4775
|
exports.loadCSS = loadCSS;
|
|
4976
4776
|
exports.loadScript = loadScript;
|
|
4977
4777
|
exports.mNow = mNow;
|
|
4778
|
+
exports.mTrim = mTrim;
|
|
4978
4779
|
exports.newLine = newLine;
|
|
4979
4780
|
exports.removeClass = removeClass;
|
|
4980
|
-
exports.renderTable = renderTable;
|
|
4981
|
-
exports.resetForm = resetForm;
|
|
4982
4781
|
exports.setCookie = setCookie;
|
|
4983
4782
|
exports.setLocalStorage = setLocalStorage;
|
|
4984
4783
|
exports.setSessionStorage = setSessionStorage;
|
|
4985
4784
|
exports.throttle = throttle;
|
|
4986
|
-
exports.
|
|
4987
|
-
exports.updateQueryStringParameter = updateQueryStringParameter;
|
|
4785
|
+
exports.updateQueryParam = updateQueryParam;
|
|
4988
4786
|
exports.windowLoaded = windowLoaded;
|