@opentiny/vue-renderless 3.1.0-alpha.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.
Files changed (397) hide show
  1. package/action-sheet/index.js +28 -0
  2. package/action-sheet/vue.js +29 -0
  3. package/alert/index.js +23 -0
  4. package/alert/vue.js +37 -0
  5. package/autocomplete/index.js +175 -0
  6. package/autocomplete/vue.js +171 -0
  7. package/avatar/index.js +29 -0
  8. package/avatar/vue.js +24 -0
  9. package/badge/index.js +16 -0
  10. package/badge/vue.js +30 -0
  11. package/breadcrumb/vue.js +4 -0
  12. package/breadcrumb-item/vue.js +24 -0
  13. package/bulletin-board/index.js +21 -0
  14. package/bulletin-board/vue.js +36 -0
  15. package/button/index.js +19 -0
  16. package/button/vue.js +43 -0
  17. package/button-group/index.js +25 -0
  18. package/button-group/vue.js +51 -0
  19. package/calendar/index.js +279 -0
  20. package/calendar/vue.js +124 -0
  21. package/card-template/index.js +39 -0
  22. package/card-template/vue.js +34 -0
  23. package/carousel/index.js +206 -0
  24. package/carousel/vue.js +222 -0
  25. package/carousel-item/index.js +93 -0
  26. package/carousel-item/vue.js +57 -0
  27. package/cascader/index.js +511 -0
  28. package/cascader/vue.js +342 -0
  29. package/cascader-menu/index.js +41 -0
  30. package/cascader-menu/vue.js +36 -0
  31. package/cascader-node/index.js +63 -0
  32. package/cascader-node/vue.js +62 -0
  33. package/cascader-panel/index.js +359 -0
  34. package/cascader-panel/node.js +199 -0
  35. package/cascader-panel/store.js +80 -0
  36. package/cascader-panel/vue.js +217 -0
  37. package/checkbox/index.js +145 -0
  38. package/checkbox/vue.js +139 -0
  39. package/checkbox-button/index.js +102 -0
  40. package/checkbox-button/vue.js +150 -0
  41. package/checkbox-group/index.js +12 -0
  42. package/checkbox-group/vue.js +33 -0
  43. package/col/index.js +132 -0
  44. package/col/vue.js +34 -0
  45. package/collapse/index.js +45 -0
  46. package/collapse/vue.js +35 -0
  47. package/collapse-item/index.js +38 -0
  48. package/collapse-item/vue.js +48 -0
  49. package/common/array.js +120 -0
  50. package/common/bigInt.js +352 -0
  51. package/common/browser.js +69 -0
  52. package/common/dataset/index.js +135 -0
  53. package/common/date.js +352 -0
  54. package/common/decimal.js +203 -0
  55. package/common/deps/ResizeObserver.js +474 -0
  56. package/common/deps/after-leave.js +25 -0
  57. package/common/deps/clickoutside.js +61 -0
  58. package/common/deps/date-util.js +262 -0
  59. package/common/deps/date.js +308 -0
  60. package/common/deps/debounce.js +4 -0
  61. package/common/deps/dom.js +190 -0
  62. package/common/deps/fullscreen/apis.js +157 -0
  63. package/common/deps/fullscreen/screenfull.js +106 -0
  64. package/common/deps/letter-only.js +15 -0
  65. package/common/deps/memorize.js +149 -0
  66. package/common/deps/number-only.js +16 -0
  67. package/common/deps/popper.js +713 -0
  68. package/common/deps/popup-manager.js +179 -0
  69. package/common/deps/repeat-click.js +24 -0
  70. package/common/deps/requestAnimationFrame.js +25 -0
  71. package/common/deps/resize-event.js +29 -0
  72. package/common/deps/scroll-into-view.js +29 -0
  73. package/common/deps/scrollbar-width.js +25 -0
  74. package/common/deps/throttle.js +34 -0
  75. package/common/deps/touch.js +33 -0
  76. package/common/deps/tree-model/node.js +586 -0
  77. package/common/deps/tree-model/tree-store.js +377 -0
  78. package/common/deps/tree-model/util.js +14 -0
  79. package/common/deps/upload-ajax.js +71 -0
  80. package/common/deps/vue-emitter.js +30 -0
  81. package/common/deps/vue-popper.js +291 -0
  82. package/common/deps/vue-popup.js +211 -0
  83. package/common/event.js +17 -0
  84. package/common/index.js +288 -0
  85. package/common/object.js +228 -0
  86. package/common/runtime.js +52 -0
  87. package/common/string.js +446 -0
  88. package/common/type.js +65 -0
  89. package/common/validate/index.js +6 -0
  90. package/common/validate/messages.js +68 -0
  91. package/common/validate/rules/enum.js +8 -0
  92. package/common/validate/rules/index.js +14 -0
  93. package/common/validate/rules/pattern.js +16 -0
  94. package/common/validate/rules/range.js +62 -0
  95. package/common/validate/rules/required.js +13 -0
  96. package/common/validate/rules/type.js +110 -0
  97. package/common/validate/rules/whitespace.js +6 -0
  98. package/common/validate/schema.js +323 -0
  99. package/common/validate/util.js +198 -0
  100. package/common/validate/validations/array.js +25 -0
  101. package/common/validate/validations/date.js +35 -0
  102. package/common/validate/validations/enum.js +24 -0
  103. package/common/validate/validations/float.js +24 -0
  104. package/common/validate/validations/index.js +42 -0
  105. package/common/validate/validations/integer.js +24 -0
  106. package/common/validate/validations/method.js +23 -0
  107. package/common/validate/validations/number.js +27 -0
  108. package/common/validate/validations/pattern.js +23 -0
  109. package/common/validate/validations/required.js +15 -0
  110. package/common/validate/validations/string.js +29 -0
  111. package/common/validate/validations/type.js +25 -0
  112. package/common/xss.js +325 -0
  113. package/container/index.js +110 -0
  114. package/container/vue.js +63 -0
  115. package/credit-card/index.js +107 -0
  116. package/credit-card/vue.js +117 -0
  117. package/credit-card-form/index.js +143 -0
  118. package/credit-card-form/vue.js +150 -0
  119. package/crop/index.js +297 -0
  120. package/crop/vue.js +191 -0
  121. package/date-panel/index.js +584 -0
  122. package/date-panel/vue.js +319 -0
  123. package/date-picker/index.js +301 -0
  124. package/date-picker/vue.js +169 -0
  125. package/date-range/index.js +463 -0
  126. package/date-range/vue.js +297 -0
  127. package/date-table/index.js +457 -0
  128. package/date-table/vue.js +151 -0
  129. package/detail-page/index.js +135 -0
  130. package/detail-page/vue.js +145 -0
  131. package/dialog-box/index.js +268 -0
  132. package/dialog-box/vue.js +226 -0
  133. package/drop-times/index.js +23 -0
  134. package/drop-times/vue.js +28 -0
  135. package/dropdown/index.js +259 -0
  136. package/dropdown/vue.js +107 -0
  137. package/dropdown-item/index.js +155 -0
  138. package/dropdown-item/vue.js +124 -0
  139. package/dropdown-menu/index.js +148 -0
  140. package/dropdown-menu/vue.js +44 -0
  141. package/exception/index.js +13 -0
  142. package/exception/vue.js +25 -0
  143. package/fall-menu/index.js +121 -0
  144. package/fall-menu/vue.js +90 -0
  145. package/file-upload/index.js +1940 -0
  146. package/file-upload/vue.js +458 -0
  147. package/floatbar/index.js +10 -0
  148. package/floatbar/vue.js +17 -0
  149. package/form/index.js +186 -0
  150. package/form/vue.js +69 -0
  151. package/form-item/index.js +364 -0
  152. package/form-item/vue.js +210 -0
  153. package/fullscreen/index.js +138 -0
  154. package/fullscreen/vue.js +77 -0
  155. package/grid/core/index.js +3 -0
  156. package/grid/core/interceptor.js +38 -0
  157. package/grid/core/storeMap.js +19 -0
  158. package/grid/plugins/export.js +169 -0
  159. package/grid/plugins/exportExcel.js +749 -0
  160. package/grid/plugins/header.js +58 -0
  161. package/grid/plugins/resize.js +82 -0
  162. package/grid/static/array/arrayEach.js +12 -0
  163. package/grid/static/array/arrayIndexOf.js +11 -0
  164. package/grid/static/array/eachTree.js +32 -0
  165. package/grid/static/array/every.js +2 -0
  166. package/grid/static/array/filterTree.js +16 -0
  167. package/grid/static/array/find.js +3 -0
  168. package/grid/static/array/findTree.js +46 -0
  169. package/grid/static/array/helperCreateIterateHandle.js +59 -0
  170. package/grid/static/array/helperCreateTreeFunc.js +18 -0
  171. package/grid/static/array/includes.js +5 -0
  172. package/grid/static/array/lastArrayEach.js +6 -0
  173. package/grid/static/array/map.js +23 -0
  174. package/grid/static/array/mapTree.js +33 -0
  175. package/grid/static/array/slice.js +10 -0
  176. package/grid/static/array/sortBy.js +69 -0
  177. package/grid/static/array/sum.js +28 -0
  178. package/grid/static/array/toArray.js +7 -0
  179. package/grid/static/array/toTreeArray.js +24 -0
  180. package/grid/static/base/clear.js +44 -0
  181. package/grid/static/base/clone.js +18 -0
  182. package/grid/static/base/destructuring.js +18 -0
  183. package/grid/static/base/each.js +9 -0
  184. package/grid/static/base/eqNull.js +6 -0
  185. package/grid/static/base/findIndexOf.js +10 -0
  186. package/grid/static/base/get.js +42 -0
  187. package/grid/static/base/has.js +60 -0
  188. package/grid/static/base/hasOwnProp.js +4 -0
  189. package/grid/static/base/helperCreateGetObjects.js +26 -0
  190. package/grid/static/base/helperCreateInInObjectString.js +7 -0
  191. package/grid/static/base/helperCreateInTypeof.js +6 -0
  192. package/grid/static/base/helperCreateIndexOf.js +21 -0
  193. package/grid/static/base/helperCreateiterateIndexOf.js +21 -0
  194. package/grid/static/base/helperDefaultCompare.js +4 -0
  195. package/grid/static/base/helperDeleteProperty.js +8 -0
  196. package/grid/static/base/helperEqualCompare.js +60 -0
  197. package/grid/static/base/helperGetHGSKeys.js +4 -0
  198. package/grid/static/base/indexOf.js +3 -0
  199. package/grid/static/base/isArray.js +3 -0
  200. package/grid/static/base/isBoolean.js +4 -0
  201. package/grid/static/base/isDate.js +3 -0
  202. package/grid/static/base/isEmpty.js +8 -0
  203. package/grid/static/base/isEqual.js +11 -0
  204. package/grid/static/base/isFunction.js +4 -0
  205. package/grid/static/base/isNaN.js +5 -0
  206. package/grid/static/base/isNull.js +4 -0
  207. package/grid/static/base/isNumber.js +4 -0
  208. package/grid/static/base/isObject.js +5 -0
  209. package/grid/static/base/isPlainObject.js +2 -0
  210. package/grid/static/base/isRegExp.js +3 -0
  211. package/grid/static/base/isSet.js +5 -0
  212. package/grid/static/base/isString.js +4 -0
  213. package/grid/static/base/isUndefined.js +4 -0
  214. package/grid/static/base/keys.js +3 -0
  215. package/grid/static/base/lastEach.js +9 -0
  216. package/grid/static/base/remove.js +44 -0
  217. package/grid/static/base/set.js +43 -0
  218. package/grid/static/base/toJSONString.js +4 -0
  219. package/grid/static/base/toStringJSON.js +13 -0
  220. package/grid/static/base/uniqueId.js +5 -0
  221. package/grid/static/browse/browse.js +54 -0
  222. package/grid/static/function/property.js +7 -0
  223. package/grid/static/function/throttle.js +43 -0
  224. package/grid/static/index.js +55 -0
  225. package/grid/static/number/helperCreateToNumber.js +12 -0
  226. package/grid/static/number/toNumber.js +3 -0
  227. package/grid/static/object/assign.js +41 -0
  228. package/grid/static/object/extend.js +3 -0
  229. package/grid/static/object/lastObjectEach.js +8 -0
  230. package/grid/static/object/objectEach.js +11 -0
  231. package/grid/static/object/objectMap.js +20 -0
  232. package/grid/static/object/values.js +9 -0
  233. package/grid/static/static/staticDocument.js +4 -0
  234. package/grid/static/static/staticHGKeyRE.js +2 -0
  235. package/grid/static/static/staticParseInt.js +2 -0
  236. package/grid/static/static/staticStrUndefined.js +2 -0
  237. package/grid/static/static/staticWindow.js +4 -0
  238. package/grid/static/string/template.js +12 -0
  239. package/grid/static/string/toString.js +12 -0
  240. package/grid/utils/column.js +72 -0
  241. package/grid/utils/common.js +155 -0
  242. package/grid/utils/dom.js +213 -0
  243. package/grid/utils/event.js +40 -0
  244. package/grid/utils/index.js +5 -0
  245. package/image/index.js +187 -0
  246. package/image/vue.js +142 -0
  247. package/image-viewer/index.js +469 -0
  248. package/image-viewer/vue.js +243 -0
  249. package/input/index.js +319 -0
  250. package/input/vue.js +319 -0
  251. package/ip-address/index.js +370 -0
  252. package/ip-address/vue.js +185 -0
  253. package/layout/vue.js +4 -0
  254. package/link/index.js +10 -0
  255. package/link/vue.js +26 -0
  256. package/link-menu/index.js +146 -0
  257. package/link-menu/vue.js +138 -0
  258. package/list/index.js +13 -0
  259. package/list/vue.js +17 -0
  260. package/loading/index.js +29 -0
  261. package/loading/vue.js +28 -0
  262. package/milestone/index.js +92 -0
  263. package/milestone/vue.js +31 -0
  264. package/mini-picker/index.js +227 -0
  265. package/mini-picker/vue.js +142 -0
  266. package/modal/index.js +866 -0
  267. package/modal/vue.js +130 -0
  268. package/month-range/index.js +169 -0
  269. package/month-range/vue.js +104 -0
  270. package/month-table/index.js +232 -0
  271. package/month-table/vue.js +72 -0
  272. package/nav-menu/index.js +457 -0
  273. package/nav-menu/vue.js +187 -0
  274. package/notify/index.js +91 -0
  275. package/notify/vue.js +67 -0
  276. package/numeric/index.js +419 -0
  277. package/numeric/vue.js +218 -0
  278. package/option/index.js +79 -0
  279. package/option/vue.js +219 -0
  280. package/option-group/index.js +18 -0
  281. package/option-group/vue.js +37 -0
  282. package/package.json +179 -0
  283. package/pager-item/index.js +122 -0
  284. package/pager-item/vue.js +52 -0
  285. package/panel/index.js +30 -0
  286. package/panel/vue.js +26 -0
  287. package/picker/index.js +1039 -0
  288. package/picker/timezone.js +974 -0
  289. package/picker/vue.js +415 -0
  290. package/picker-column/index.js +261 -0
  291. package/picker-column/vue.js +163 -0
  292. package/pop-upload/index.js +324 -0
  293. package/pop-upload/vue.js +292 -0
  294. package/popeditor/index.js +884 -0
  295. package/popeditor/vue.js +368 -0
  296. package/popover/index.js +203 -0
  297. package/popover/vue.js +174 -0
  298. package/popup/index.js +139 -0
  299. package/popup/vue.js +129 -0
  300. package/progress/index.js +174 -0
  301. package/progress/vue.js +118 -0
  302. package/pull-refresh/index.js +104 -0
  303. package/pull-refresh/vue.js +64 -0
  304. package/radio/index.js +83 -0
  305. package/radio/vue.js +99 -0
  306. package/radio-button/index.js +58 -0
  307. package/radio-button/vue.js +70 -0
  308. package/radio-group/index.js +51 -0
  309. package/radio-group/vue.js +34 -0
  310. package/rate/index.js +254 -0
  311. package/rate/vue.js +158 -0
  312. package/row/index.js +19 -0
  313. package/row/vue.js +24 -0
  314. package/scroll-text/index.js +24 -0
  315. package/scroll-text/vue.js +31 -0
  316. package/scrollbar/index.js +127 -0
  317. package/scrollbar/vue-bar.js +49 -0
  318. package/scrollbar/vue.js +43 -0
  319. package/search/index.js +110 -0
  320. package/search/vue.js +110 -0
  321. package/select/index.js +1766 -0
  322. package/select/vue.js +693 -0
  323. package/select-dropdown/index.js +23 -0
  324. package/select-dropdown/vue.js +122 -0
  325. package/slide-bar/index.js +94 -0
  326. package/slide-bar/vue.js +58 -0
  327. package/slider/index.js +434 -0
  328. package/slider/vue.js +172 -0
  329. package/split/index.js +122 -0
  330. package/split/vue.js +131 -0
  331. package/steps/vue.js +4 -0
  332. package/switch/index.js +45 -0
  333. package/switch/vue.js +62 -0
  334. package/tab-bar/index.js +51 -0
  335. package/tab-bar/vue.js +16 -0
  336. package/tab-dropdown/index.js +11 -0
  337. package/tab-dropdown/vue.js +17 -0
  338. package/tab-item/index.js +37 -0
  339. package/tab-item/vue.js +49 -0
  340. package/tab-nav/index.js +247 -0
  341. package/tab-nav/vue.js +106 -0
  342. package/tabbar/index.js +32 -0
  343. package/tabbar/vue.js +54 -0
  344. package/tabbar-item/index.js +55 -0
  345. package/tabbar-item/vue.js +53 -0
  346. package/table/index.js +111 -0
  347. package/table/vue.js +66 -0
  348. package/tabs/index.js +174 -0
  349. package/tabs/vue.js +141 -0
  350. package/tag/index.js +14 -0
  351. package/tag/vue.js +13 -0
  352. package/tall-storage/index.js +161 -0
  353. package/tall-storage/vue-storage-box.js +25 -0
  354. package/tall-storage/vue.js +38 -0
  355. package/text-popup/index.js +75 -0
  356. package/text-popup/vue.js +64 -0
  357. package/time/index.js +121 -0
  358. package/time/vue.js +124 -0
  359. package/time-line/index.js +60 -0
  360. package/time-line/vue.js +49 -0
  361. package/time-panel/index.js +189 -0
  362. package/time-panel/scrollIntoView.js +23 -0
  363. package/time-panel/vue.js +110 -0
  364. package/time-range/index.js +199 -0
  365. package/time-range/vue.js +129 -0
  366. package/time-spinner/index.js +175 -0
  367. package/time-spinner/vue.js +122 -0
  368. package/toggle-menu/index.js +104 -0
  369. package/toggle-menu/vue.js +74 -0
  370. package/tooltip/index.js +171 -0
  371. package/tooltip/vue.js +133 -0
  372. package/top-box/index.js +81 -0
  373. package/top-box/vue.js +77 -0
  374. package/transfer/index.js +296 -0
  375. package/transfer/vue.js +138 -0
  376. package/transfer-panel/index.js +364 -0
  377. package/transfer-panel/vue.js +258 -0
  378. package/tree/index.js +642 -0
  379. package/tree/vue.js +268 -0
  380. package/tree-menu/index.js +124 -0
  381. package/tree-menu/vue.js +60 -0
  382. package/tree-node/index.js +271 -0
  383. package/tree-node/vue.js +211 -0
  384. package/upload/index.js +324 -0
  385. package/upload/vue.js +93 -0
  386. package/upload-dragger/index.js +50 -0
  387. package/upload-dragger/vue.js +27 -0
  388. package/upload-list/index.js +55 -0
  389. package/upload-list/vue.js +48 -0
  390. package/user-contact/index.js +13 -0
  391. package/user-contact/vue.js +20 -0
  392. package/user-head/index.js +71 -0
  393. package/user-head/vue.js +47 -0
  394. package/wizard/index.js +123 -0
  395. package/wizard/vue.js +45 -0
  396. package/year-table/index.js +40 -0
  397. package/year-table/vue.js +23 -0
@@ -0,0 +1,352 @@
1
+ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
+ import _createClass from "@babel/runtime/helpers/createClass";
3
+ import { fillChar } from '@opentiny/vue-renderless/common/string';
4
+ var BigInt = window.BigInt;
5
+ export function supportBigInt() {
6
+ return typeof BigInt === 'function';
7
+ }
8
+ export function trimNumber(numStr) {
9
+ var string = numStr.toString().trim();
10
+ var negative = string.startsWith('-');
11
+ if (negative) {
12
+ string = string.slice(1);
13
+ }
14
+ string = string.replace(/(\.\d*[^0])0*$/, '$1').replace(/\.0*$/, '').replace(/^0+/, '');
15
+ if (string.startsWith('.')) {
16
+ string = '0'.concat(string);
17
+ }
18
+ var trimStr = string || '0';
19
+ var splitNumber = trimStr.split('.');
20
+ var integerStr = splitNumber[0] || '0';
21
+ var decimalStr = splitNumber[1] || '0';
22
+ if (integerStr === '0' && decimalStr === '0') {
23
+ negative = false;
24
+ }
25
+ var negativeStr = negative ? '-' : '';
26
+ return {
27
+ negative: negative,
28
+ negativeStr: negativeStr,
29
+ trimStr: trimStr,
30
+ integerStr: integerStr,
31
+ decimalStr: decimalStr,
32
+ fullStr: ''.concat(negativeStr).concat(trimStr)
33
+ };
34
+ }
35
+ export function isE(number) {
36
+ var str = String(number);
37
+ return !isNaN(Number(str)) && ~str.indexOf('e');
38
+ }
39
+ export function validateNumber(num) {
40
+ if (typeof num === 'number') {
41
+ return !isNaN(num);
42
+ }
43
+ if (!num) {
44
+ return false;
45
+ }
46
+ return /^\s*-?\d+(\.\d+)?\s*$/.test(num) || /^\s*-?\d+\.\s*$/.test(num) || /^\s*-?\.\d+\s*$/.test(num);
47
+ }
48
+ export function getNumberPrecision(number) {
49
+ var numStr = String(number);
50
+ if (isE(number)) {
51
+ var precision = Number(numStr.slice(numStr.indexOf('e-') + 2));
52
+ var decimalMatch = numStr.match(/\.(\d+)/);
53
+ if (decimalMatch === null || decimalMatch === void 0 ? void 0 : decimalMatch[1]) {
54
+ precision += decimalMatch[1].length;
55
+ }
56
+ return precision;
57
+ }
58
+ return ~numStr.indexOf('.') && validateNumber(numStr) ? numStr.length - numStr.indexOf('.') - 1 : 0;
59
+ }
60
+ export function num2str(number) {
61
+ var numStr = String(number);
62
+ if (isE(number)) {
63
+ if (number > Number.MAX_SAFE_INTEGER) {
64
+ return String(supportBigInt() ? BigInt(number).toString() : Number.MAX_SAFE_INTEGER);
65
+ }
66
+ if (number < Number.MIN_SAFE_INTEGER) {
67
+ return String(supportBigInt() ? BigInt(number).toString() : Number.MIN_SAFE_INTEGER);
68
+ }
69
+ numStr = number.toFixed(getNumberPrecision(numStr));
70
+ }
71
+ return trimNumber(numStr).fullStr;
72
+ }
73
+ function pluginDecimal(decimal) {
74
+ if (!decimal.add) {
75
+ Object.assign(decimal, {
76
+ add: decimal.plus,
77
+ lessEquals: decimal.isLessThan,
78
+ equals: decimal.isEqualTo
79
+ });
80
+ }
81
+ return decimal;
82
+ }
83
+ var DecimalCls = {
84
+ CLS: null
85
+ };
86
+ var setDecimalClass;
87
+ export function getMiniDecimal(value, decimal) {
88
+ if (!DecimalCls.CLS) {
89
+ setDecimalClass(decimal);
90
+ }
91
+ return pluginDecimal(new DecimalCls.CLS(value));
92
+ }
93
+ export var BigIntDecimal = function () {
94
+ function BigIntDecimal(value) {
95
+ _classCallCheck(this, BigIntDecimal);
96
+ if (!value && value !== 0 || !String(value).trim()) {
97
+ this.empty = true;
98
+ return;
99
+ }
100
+ this.origin = String(value);
101
+ this.negative = void 0;
102
+ this.integer = void 0;
103
+ this.decimal = void 0;
104
+ this.decimalLen = void 0;
105
+ this.empty = void 0;
106
+ this.nan = void 0;
107
+ if (value === '-') {
108
+ this.nan = true;
109
+ return;
110
+ }
111
+ var mergedValue = isE(value) ? Number(value) : value;
112
+ if (typeof mergedValue !== 'string') {
113
+ num2str(mergedValue);
114
+ }
115
+ if (validateNumber(mergedValue)) {
116
+ var trimRet = trimNumber(mergedValue);
117
+ this.negative = trimRet.negative;
118
+ var numbers = trimRet.trimStr.split('.');
119
+ this.integer = BigInt(numbers[0]);
120
+ var decimalStr = numbers[1] || '0';
121
+ this.decimalLen = decimalStr.length;
122
+ this.decimal = BigInt(decimalStr);
123
+ } else {
124
+ this.nan = true;
125
+ }
126
+ }
127
+ _createClass(BigIntDecimal, [{
128
+ key: "getDecimalStr",
129
+ value: function getDecimalStr() {
130
+ return this.decimal.toString().padStart(this.decimalLen, '0');
131
+ }
132
+ }, {
133
+ key: "getIntegerStr",
134
+ value: function getIntegerStr() {
135
+ return this.integer.toString();
136
+ }
137
+ }, {
138
+ key: "getMark",
139
+ value: function getMark() {
140
+ return this.negative ? '-' : '';
141
+ }
142
+ }, {
143
+ key: "alignDecimal",
144
+ value: function alignDecimal(decimalLength) {
145
+ var string = "".concat(this.getMark()).concat(this.getIntegerStr()).concat(this.getDecimalStr().padEnd(decimalLength, '0'));
146
+ return BigInt(string);
147
+ }
148
+ }, {
149
+ key: "add",
150
+ value: function add(value) {
151
+ if (this.isInvalidate()) {
152
+ return new BigIntDecimal(value);
153
+ }
154
+ var offsetObj = new BigIntDecimal(value);
155
+ if (offsetObj.isInvalidate()) {
156
+ return this;
157
+ }
158
+ var maxDecimalLength = Math.max(this.getDecimalStr().length, offsetObj.getDecimalStr().length);
159
+ var offsetAlignedDecimal = offsetObj.alignDecimal(maxDecimalLength);
160
+ var myAlignedDecimal = this.alignDecimal(maxDecimalLength);
161
+ var valueStr = "".concat(myAlignedDecimal + offsetAlignedDecimal);
162
+ var _trimNumber = trimNumber(valueStr),
163
+ str = _trimNumber.negativeStr,
164
+ trimStr = _trimNumber.trimStr;
165
+ var hydrateValueStr = "".concat(str).concat(trimStr.padStart(maxDecimalLength + 1, '0'));
166
+ return getMiniDecimal("".concat(hydrateValueStr.slice(0, -maxDecimalLength), ".").concat(hydrateValueStr.slice(-maxDecimalLength)));
167
+ }
168
+ }, {
169
+ key: "negate",
170
+ value: function negate() {
171
+ var clone = new BigIntDecimal(this.toString());
172
+ clone.negative = !clone.negative;
173
+ return clone;
174
+ }
175
+ }, {
176
+ key: "isNaN",
177
+ value: function isNaN() {
178
+ return this.nan;
179
+ }
180
+ }, {
181
+ key: "isEmpty",
182
+ value: function isEmpty() {
183
+ return this.empty;
184
+ }
185
+ }, {
186
+ key: "isInvalidate",
187
+ value: function isInvalidate() {
188
+ return this.isEmpty() || this.isNaN();
189
+ }
190
+ }, {
191
+ key: "lessEquals",
192
+ value: function lessEquals(target) {
193
+ return this.add(target.negate().toString()).toNumber() <= 0;
194
+ }
195
+ }, {
196
+ key: "equals",
197
+ value: function equals(target) {
198
+ return this.toString() === (target && target.toString());
199
+ }
200
+ }, {
201
+ key: "toNumber",
202
+ value: function toNumber() {
203
+ if (this.isNaN()) {
204
+ return NaN;
205
+ }
206
+ return Number(this.toString());
207
+ }
208
+ }, {
209
+ key: "toString",
210
+ value: function toString() {
211
+ var safe = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
212
+ if (!safe) {
213
+ return this.origin;
214
+ }
215
+ if (this.isInvalidate()) {
216
+ return '';
217
+ }
218
+ return trimNumber("".concat(this.getMark()).concat(this.getIntegerStr(), ".").concat(this.getDecimalStr())).fullStr;
219
+ }
220
+ }]);
221
+ return BigIntDecimal;
222
+ }();
223
+ export var NumberDecimal = function () {
224
+ function NumberDecimal() {
225
+ var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
226
+ _classCallCheck(this, NumberDecimal);
227
+ if (!value && value !== 0 || !String(value).trim()) {
228
+ this.empty = true;
229
+ return;
230
+ }
231
+ this.origin = '';
232
+ this.number = void 0;
233
+ this.empty = void 0;
234
+ this.origin = String(value);
235
+ this.number = Number(value);
236
+ }
237
+ _createClass(NumberDecimal, [{
238
+ key: "negate",
239
+ value: function negate() {
240
+ return new NumberDecimal(-this.toNumber());
241
+ }
242
+ }, {
243
+ key: "add",
244
+ value: function add(value) {
245
+ if (this.isInvalidate()) {
246
+ return new NumberDecimal(value);
247
+ }
248
+ var target = Number(value);
249
+ if (isNaN(target)) {
250
+ return this;
251
+ }
252
+ var number = this.number + target;
253
+ if (number < Number.MIN_SAFE_INTEGER) {
254
+ return new NumberDecimal(Number.MIN_SAFE_INTEGER);
255
+ }
256
+ if (number > Number.MAX_SAFE_INTEGER) {
257
+ return new NumberDecimal(Number.MAX_SAFE_INTEGER);
258
+ }
259
+ var maxPrecision = Math.max(getNumberPrecision(target), getNumberPrecision(this.number));
260
+ return new NumberDecimal(number.toFixed(maxPrecision));
261
+ }
262
+ }, {
263
+ key: "isNaN",
264
+ value: function (_isNaN) {
265
+ function isNaN() {
266
+ return _isNaN.apply(this, arguments);
267
+ }
268
+ isNaN.toString = function () {
269
+ return _isNaN.toString();
270
+ };
271
+ return isNaN;
272
+ }(function () {
273
+ return isNaN(this.number);
274
+ })
275
+ }, {
276
+ key: "isEmpty",
277
+ value: function isEmpty() {
278
+ return this.empty;
279
+ }
280
+ }, {
281
+ key: "isInvalidate",
282
+ value: function isInvalidate() {
283
+ return this.isEmpty() || this.isNaN();
284
+ }
285
+ }, {
286
+ key: "equals",
287
+ value: function equals(target) {
288
+ return this.toNumber() === (target && target.toNumber());
289
+ }
290
+ }, {
291
+ key: "lessEquals",
292
+ value: function lessEquals(target) {
293
+ return this.add(target.negate().toString()).toNumber() <= 0;
294
+ }
295
+ }, {
296
+ key: "toNumber",
297
+ value: function toNumber() {
298
+ return this.number;
299
+ }
300
+ }, {
301
+ key: "toString",
302
+ value: function toString() {
303
+ var safe = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
304
+ if (!safe) {
305
+ return this.origin;
306
+ }
307
+ if (this.isInvalidate()) {
308
+ return '';
309
+ }
310
+ return num2str(this.number);
311
+ }
312
+ }]);
313
+ return NumberDecimal;
314
+ }();
315
+ setDecimalClass = function setDecimalClass(decimaljs) {
316
+ DecimalCls.CLS = supportBigInt() ? BigIntDecimal : typeof decimaljs === 'function' ? decimaljs : NumberDecimal;
317
+ };
318
+ export { setDecimalClass };
319
+ export function lessEquals(value1, value2) {
320
+ return getMiniDecimal(value1).lessEquals(getMiniDecimal(value2));
321
+ }
322
+ export function equalsDecimal(value1, value2) {
323
+ return getMiniDecimal(value1).equals(getMiniDecimal(value2));
324
+ }
325
+ export function toFixed(numStr, precision) {
326
+ var rounding = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 5;
327
+ if (numStr === '') {
328
+ return '';
329
+ }
330
+ var separatorStr = '.';
331
+ var _trimNumber2 = trimNumber(numStr),
332
+ negativeStr = _trimNumber2.negativeStr,
333
+ integerStr = _trimNumber2.integerStr,
334
+ decimalStr = _trimNumber2.decimalStr;
335
+ var precisionDecimalStr = "".concat(separatorStr).concat(decimalStr);
336
+ var numberWithoutDecimal = "".concat(negativeStr).concat(integerStr);
337
+ if (precision >= 0) {
338
+ var advancedNum = Number(decimalStr[precision]);
339
+ if (advancedNum >= rounding && rounding !== 0) {
340
+ var advancedDecimal = getMiniDecimal("".concat(integerStr).concat(separatorStr).concat(decimalStr)).add("0.".concat(fillChar('', precision, true)).concat(10 - advancedNum));
341
+ return toFixed(negativeStr + advancedDecimal.toString(), precision, 0);
342
+ }
343
+ if (precision === 0) {
344
+ return numberWithoutDecimal;
345
+ }
346
+ return "".concat(numberWithoutDecimal).concat(separatorStr).concat(fillChar(decimalStr, precision, true).slice(0, precision));
347
+ }
348
+ if (precisionDecimalStr === '.0') {
349
+ return numberWithoutDecimal;
350
+ }
351
+ return "".concat(numberWithoutDecimal).concat(precisionDecimalStr);
352
+ }
@@ -0,0 +1,69 @@
1
+ var getIEVersion = function getIEVersion() {
2
+ var version = 8;
3
+ if (!!document.addEventListener && !!window.performance) {
4
+ version = 9;
5
+ if (!!window.atob && !!window.matchMedia) {
6
+ version = 10;
7
+ if (!window.attachEvent && !document.all) {
8
+ version = 11;
9
+ }
10
+ }
11
+ }
12
+ return version;
13
+ };
14
+ var isEdge = function isEdge(browser) {
15
+ if (browser.chrome && ~navigator.userAgent.indexOf('Edg')) {
16
+ browser.name = 'edge';
17
+ browser.edge = true;
18
+ delete browser.chrome;
19
+ } else if (!document.documentMode && !!window.StyleMedia) {
20
+ browser.name = 'edge';
21
+ browser.edge = true;
22
+ }
23
+ };
24
+ export default (function () {
25
+ var isMobile = /(Android|webOS|iPhone|iPad|iPod|SymbianOS|BlackBerry|Windows Phone)/.test(navigator.userAgent);
26
+ var browser = {
27
+ name: undefined,
28
+ version: undefined,
29
+ isDoc: typeof document !== 'undefined',
30
+ isMobile: isMobile,
31
+ isPC: !isMobile,
32
+ isNode: typeof window === 'undefined'
33
+ };
34
+ var matches;
35
+ if (!!window.chrome && (!!window.chrome.webstore || /^Google\b/.test(window.navigator.vendor))) {
36
+ browser.name = 'chrome';
37
+ browser.chrome = true;
38
+ matches = navigator.userAgent.match(/chrome\/(\d+)/i);
39
+ browser.version = !!matches && !!matches[1] && parseInt(matches[1], 10);
40
+ matches = undefined;
41
+ } else if (!!document.all || !!document.documentMode) {
42
+ browser.name = 'ie';
43
+ browser.version = getIEVersion();
44
+ browser.ie = true;
45
+ } else if (typeof window.InstallTrigger !== 'undefined') {
46
+ browser.name = 'firefox';
47
+ browser.firefox = true;
48
+ } else if (Object.prototype.toString.call(window.HTMLElement).indexOf('Constructor') > 0) {
49
+ browser.name = 'safari';
50
+ browser.safari = true;
51
+ } else if (!!window.opr && !!window.opr.addons || !!window.opera) {
52
+ browser.name = 'opera';
53
+ browser.opera = true;
54
+ }
55
+ isEdge(browser);
56
+ if (!~['ie', 'chrome'].indexOf(browser.name)) {
57
+ var reg = browser.name + '/(\\d+)';
58
+ matches = navigator.userAgent.match(new RegExp(reg, 'i'));
59
+ browser.version = !!matches && !!matches[1] && parseInt(matches[1], 10);
60
+ matches = undefined;
61
+ }
62
+ if (browser.isDoc) {
63
+ var bodyEl = document.body || document.documentElement;
64
+ ['webkit', 'khtml', 'moz', 'ms', 'o'].forEach(function (core) {
65
+ browser['-' + core] = !!bodyEl[core + 'MatchesSelector'];
66
+ });
67
+ }
68
+ return browser;
69
+ })();
@@ -0,0 +1,135 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
+ var _excluded = ["type", "data", "beforeRequest", "afterRequest", "success", "hideErr", "url", "method"];
4
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
5
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6
+ import { format } from '@opentiny/vue-renderless/common/string';
7
+ import { isObject } from '@opentiny/vue-renderless/common/type';
8
+ import { transformTreeData } from '@opentiny/vue-renderless/common/array';
9
+ var getFilterStr = function getFilterStr(filters) {
10
+ var filterArr = {};
11
+ Object.keys(filters).forEach(function (property) {
12
+ var _filters$property = filters[property],
13
+ type = _filters$property.type,
14
+ value = _filters$property.value;
15
+ if (type === 'enum') {
16
+ filterArr[property] = {
17
+ type: value.map(function () {
18
+ return 0;
19
+ }),
20
+ value: value
21
+ };
22
+ if (value.length > 1) {
23
+ filters[property].relation = 'or';
24
+ }
25
+ }
26
+ if (type === 'input') {
27
+ var relation = value.relation,
28
+ text = value.text;
29
+ filterArr[property] = {
30
+ type: [relation === 'startwith' ? 8 : relation === 'equals' ? 0 : 6],
31
+ value: text
32
+ };
33
+ }
34
+ });
35
+ return JSON.stringify(filterArr);
36
+ };
37
+ var getNsObj = function getNsObj(obj, names) {
38
+ var arr = Array.isArray(names) ? names : names.split('.');
39
+ var curkey = arr.shift();
40
+ var curObj = obj[curkey];
41
+ if (isObject(curObj) && arr.length) {
42
+ return getNsObj(curObj, arr);
43
+ }
44
+ return curObj;
45
+ };
46
+ var handlerArgs = function handlerArgs(options, args) {
47
+ if (args) {
48
+ var page = args.page,
49
+ sort = args.sort,
50
+ filters = args.filters;
51
+ var _ref = page || {},
52
+ currentPage = _ref.currentPage,
53
+ pageSize = _ref.pageSize;
54
+ var filterStr = getFilterStr(filters || {});
55
+ var orderBy = sort && sort.property ? sort.property + ' ' + sort.order : '';
56
+ options.url = format(options.url, {
57
+ curPage: currentPage,
58
+ pageSize: pageSize,
59
+ filterStr: filterStr,
60
+ orderBy: orderBy
61
+ });
62
+ }
63
+ };
64
+ var transForm = function transForm(response, tree) {
65
+ var result = response.result,
66
+ pageVO = response.pageVO;
67
+ var _ref2 = tree || {},
68
+ _ref2$key = _ref2.key,
69
+ key = _ref2$key === void 0 ? 'id' : _ref2$key,
70
+ parentKey = _ref2.parentKey;
71
+ var data = result || response;
72
+ if (parentKey) {
73
+ data = transformTreeData(data, key, parentKey);
74
+ }
75
+ return pageVO ? {
76
+ result: data,
77
+ page: {
78
+ total: pageVO.totalRows
79
+ }
80
+ } : data;
81
+ };
82
+ export var getDataset = function getDataset(_ref3, args) {
83
+ var dataset = _ref3.dataset,
84
+ service = _ref3.service,
85
+ tree = _ref3.tree;
86
+ return new Promise(function (resolve, reject) {
87
+ var _ref4 = dataset || {},
88
+ source = _ref4.source,
89
+ value = _ref4.value,
90
+ api = _ref4.api;
91
+ var $service = service || dataset && dataset.service;
92
+ if (Array.isArray(dataset)) {
93
+ return resolve(transForm(dataset, tree));
94
+ }
95
+ if (Array.isArray(value)) {
96
+ return resolve(transForm(value, tree));
97
+ }
98
+ if (!$service) {
99
+ return resolve([]);
100
+ }
101
+ if (isObject(source) && source.url) {
102
+ var _source$type = source.type,
103
+ type = _source$type === void 0 ? 'GET' : _source$type,
104
+ data = source.data,
105
+ beforeRequest = source.beforeRequest,
106
+ afterRequest = source.afterRequest,
107
+ success = source.success,
108
+ hideErr = source.hideErr,
109
+ url = source.url,
110
+ method = source.method,
111
+ options = _objectWithoutProperties(source, _excluded);
112
+ options.url = url;
113
+ options.method = method || type.toLocaleLowerCase();
114
+ var mergeTarget = options.method === 'get' ? 'params' : 'data';
115
+ options[mergeTarget] = data || {};
116
+ var afterRequestFn = afterRequest || success;
117
+ var config = _objectSpread({}, options);
118
+ handlerArgs(config, args);
119
+ beforeRequest && beforeRequest(config, args);
120
+ $service.network.request(config).then(function (response) {
121
+ afterRequestFn && afterRequestFn(response.data);
122
+ resolve(transForm(response.data, tree));
123
+ })["catch"](function (error) {
124
+ hideErr || reject(error);
125
+ });
126
+ } else if (api) {
127
+ var fetchFn = getNsObj($service, api.name);
128
+ fetchFn && fetchFn(_objectSpread(_objectSpread({}, api.data), args)).then(function (response) {
129
+ resolve(transForm(response, tree));
130
+ })["catch"](function (error) {
131
+ reject(error);
132
+ });
133
+ }
134
+ });
135
+ };