labelHelper.js 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. /*
  2. * Licensed to the Apache Software Foundation (ASF) under one
  3. * or more contributor license agreements. See the NOTICE file
  4. * distributed with this work for additional information
  5. * regarding copyright ownership. The ASF licenses this file
  6. * to you under the Apache License, Version 2.0 (the
  7. * "License"); you may not use this file except in compliance
  8. * with the License. You may obtain a copy of the License at
  9. *
  10. * http://www.apache.org/licenses/LICENSE-2.0
  11. *
  12. * Unless required by applicable law or agreed to in writing,
  13. * software distributed under the License is distributed on an
  14. * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  15. * KIND, either express or implied. See the License for the
  16. * specific language governing permissions and limitations
  17. * under the License.
  18. */
  19. var _dataProvider = require("../../data/helper/dataProvider");
  20. var retrieveRawValue = _dataProvider.retrieveRawValue;
  21. /*
  22. * Licensed to the Apache Software Foundation (ASF) under one
  23. * or more contributor license agreements. See the NOTICE file
  24. * distributed with this work for additional information
  25. * regarding copyright ownership. The ASF licenses this file
  26. * to you under the Apache License, Version 2.0 (the
  27. * "License"); you may not use this file except in compliance
  28. * with the License. You may obtain a copy of the License at
  29. *
  30. * http://www.apache.org/licenses/LICENSE-2.0
  31. *
  32. * Unless required by applicable law or agreed to in writing,
  33. * software distributed under the License is distributed on an
  34. * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  35. * KIND, either express or implied. See the License for the
  36. * specific language governing permissions and limitations
  37. * under the License.
  38. */
  39. /**
  40. * @param {module:echarts/data/List} data
  41. * @param {number} dataIndex
  42. * @return {string} label string. Not null/undefined
  43. */
  44. function getDefaultLabel(data, dataIndex) {
  45. var labelDims = data.mapDimension('defaultedLabel', true);
  46. var len = labelDims.length; // Simple optimization (in lots of cases, label dims length is 1)
  47. if (len === 1) {
  48. return retrieveRawValue(data, dataIndex, labelDims[0]);
  49. } else if (len) {
  50. var vals = [];
  51. for (var i = 0; i < labelDims.length; i++) {
  52. var val = retrieveRawValue(data, dataIndex, labelDims[i]);
  53. vals.push(val);
  54. }
  55. return vals.join(' ');
  56. }
  57. }
  58. exports.getDefaultLabel = getDefaultLabel;