(dimensionsDefine)
| 19975 | |
| 19976 | |
| 19977 | function normalizeDimensionsOption(dimensionsDefine) { |
| 19978 | if (!dimensionsDefine) { |
| 19979 | // The meaning of null/undefined is different from empty array. |
| 19980 | return; |
| 19981 | } |
| 19982 | |
| 19983 | var nameMap = createHashMap(); |
| 19984 | return map(dimensionsDefine, function (rawItem, index) { |
| 19985 | rawItem = isObject(rawItem) ? rawItem : { |
| 19986 | name: rawItem |
| 19987 | }; // Other fields will be discarded. |
| 19988 | |
| 19989 | var item = { |
| 19990 | name: rawItem.name, |
| 19991 | displayName: rawItem.displayName, |
| 19992 | type: rawItem.type |
| 19993 | }; // User can set null in dimensions. |
| 19994 | // We dont auto specify name, othewise a given name may |
| 19995 | // cause it be refered unexpectedly. |
| 19996 | |
| 19997 | if (item.name == null) { |
| 19998 | return item; |
| 19999 | } // Also consider number form like 2012. |
| 20000 | |
| 20001 | |
| 20002 | item.name += ''; // User may also specify displayName. |
| 20003 | // displayName will always exists except user not |
| 20004 | // specified or dim name is not specified or detected. |
| 20005 | // (A auto generated dim name will not be used as |
| 20006 | // displayName). |
| 20007 | |
| 20008 | if (item.displayName == null) { |
| 20009 | item.displayName = item.name; |
| 20010 | } |
| 20011 | |
| 20012 | var exist = nameMap.get(item.name); |
| 20013 | |
| 20014 | if (!exist) { |
| 20015 | nameMap.set(item.name, { |
| 20016 | count: 1 |
| 20017 | }); |
| 20018 | } else { |
| 20019 | item.name += '-' + exist.count++; |
| 20020 | } |
| 20021 | |
| 20022 | return item; |
| 20023 | }); |
| 20024 | } |
| 20025 | |
| 20026 | function arrayRowsTravelFirst(cb, seriesLayoutBy, data, maxLoop) { |
| 20027 | if (seriesLayoutBy === SERIES_LAYOUT_BY_ROW) { |
no test coverage detected
searching dependent graphs…