1 | 'use strict';
|
2 |
|
3 | exports.__esModule = true;
|
4 | var getWidth = exports.getWidth = function getWidth(elem) {
|
5 | var width = elem && typeof elem.getBoundingClientRect === 'function' && elem.getBoundingClientRect().width;
|
6 | if (width) {
|
7 | width = +width.toFixed(6);
|
8 | }
|
9 | return width || 0;
|
10 | };
|
11 |
|
12 | var normalizeToArray = exports.normalizeToArray = function normalizeToArray(items) {
|
13 | if (items) {
|
14 | if (Array.isArray(items)) {
|
15 | return items;
|
16 | }
|
17 | return [items];
|
18 | }
|
19 |
|
20 | return [];
|
21 | };
|
22 |
|
23 | var isSibling = exports.isSibling = function isSibling(currentPos, targetPos) {
|
24 | var currentNums = currentPos.split('-').slice(0, -1);
|
25 | var targetNums = targetPos.split('-').slice(0, -1);
|
26 |
|
27 | return currentNums.length === targetNums.length && currentNums.every(function (num, index) {
|
28 | return num === targetNums[index];
|
29 | });
|
30 | };
|
31 |
|
32 | var isAncestor = exports.isAncestor = function isAncestor(currentPos, targetPos) {
|
33 | var currentNums = currentPos.split('-');
|
34 | var targetNums = targetPos.split('-');
|
35 |
|
36 | return currentNums.length > targetNums.length && targetNums.every(function (num, index) {
|
37 | return num === currentNums[index];
|
38 | });
|
39 | };
|
40 |
|
41 | var isAvailablePos = exports.isAvailablePos = function isAvailablePos(refPos, targetPos, _p2n) {
|
42 | var _p2n$targetPos = _p2n[targetPos],
|
43 | type = _p2n$targetPos.type,
|
44 | disabled = _p2n$targetPos.disabled;
|
45 |
|
46 |
|
47 | return isSibling(refPos, targetPos) && (type === 'item' && !disabled || type === 'submenu');
|
48 | };
|
49 |
|
50 | var getFirstAvaliablelChildKey = exports.getFirstAvaliablelChildKey = function getFirstAvaliablelChildKey(parentPos, _p2n) {
|
51 | var pos = Object.keys(_p2n).find(function (p) {
|
52 | return isAvailablePos(parentPos + '-0', p, _p2n);
|
53 | });
|
54 | return pos ? _p2n[pos].key : null;
|
55 | };
|
56 |
|
57 |
|
58 |
|
59 |
|
60 |
|
61 |
|
62 |
|
63 |
|
64 |
|
65 |
|
66 |
|
67 | var getChildSelected = exports.getChildSelected = function getChildSelected(_ref) {
|
68 | var selectMode = _ref.selectMode,
|
69 | selectedKeys = _ref.selectedKeys,
|
70 | _k2n = _ref._k2n,
|
71 | _key = _ref._key;
|
72 |
|
73 | if (!_k2n) {
|
74 | return false;
|
75 | }
|
76 |
|
77 | var _keyPos = (_k2n[_key] && _k2n[_key].pos) + '-';
|
78 |
|
79 | return !!selectMode && selectedKeys.some(function (key) {
|
80 | return _k2n[key] && _k2n[key].pos.indexOf(_keyPos) === 0;
|
81 | });
|
82 | }; |
\ | No newline at end of file |