transformProps.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. "use strict";
  2. exports.__esModule = true;
  3. exports.default = transformProps;
  4. /**
  5. * Licensed to the Apache Software Foundation (ASF) under one
  6. * or more contributor license agreements. See the NOTICE file
  7. * distributed with this work for additional information
  8. * regarding copyright ownership. The ASF licenses this file
  9. * to you under the Apache License, Version 2.0 (the
  10. * "License"); you may not use this file except in compliance
  11. * with the License. You may obtain a copy of the License at
  12. *
  13. * http://www.apache.org/licenses/LICENSE-2.0
  14. *
  15. * Unless required by applicable law or agreed to in writing,
  16. * software distributed under the License is distributed on an
  17. * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  18. * KIND, either express or implied. See the License for the
  19. * specific language governing permissions and limitations
  20. * under the License.
  21. */
  22. function transformData(data, formData) {
  23. const {
  24. metric,
  25. series
  26. } = formData;
  27. const transformedData = data.map(datum => ({
  28. size: datum[metric.label || metric],
  29. text: datum[series]
  30. }));
  31. return transformedData;
  32. }
  33. function transformProps(chartProps) {
  34. const {
  35. width,
  36. height,
  37. formData,
  38. queryData
  39. } = chartProps;
  40. const {
  41. colorScheme,
  42. rotation,
  43. sizeTo,
  44. sizeFrom
  45. } = formData;
  46. return {
  47. width,
  48. height,
  49. data: transformData(queryData.data, formData),
  50. colorScheme,
  51. rotation,
  52. sizeRange: [sizeFrom, sizeTo]
  53. };
  54. }