MCPcopy Create free account
hub / github.com/angular-rust/ux-charts / create_entity

Method create_entity

src/pie.rs:420–473  ·  view source on GitHub ↗
(
        &self,
        channel_index: usize,
        entity_index: usize,
        value: Option<D>,
        color: Color,
        highlight_color: Color,
    )

Source from the content-addressed store, hash-verified

418 }
419
420 fn create_entity(
421 &self,
422 channel_index: usize,
423 entity_index: usize,
424 value: Option<D>,
425 color: Color,
426 highlight_color: Color,
427 ) -> PieEntity<D> {
428 // Override the colors.
429 let color = self.base.get_color(entity_index);
430 let highlight_color = self.base.change_color_alpha(color, 0.5);
431
432 let stream = &self.base.data;
433 let frame = stream.frames.get(entity_index).unwrap();
434 let name = format!("{}", frame.metric);
435
436 let props = self.props.borrow();
437 let baseprops = self.base.props.borrow();
438
439 let start_angle = START_ANGLE; // props.start_angle;
440
441 // FIXME: should be handled in update_channel
442 // if entity_index > 0 {
443 // let channels = self.base.channels.borrow();
444 // let channel = channels.first().unwrap();
445 // let prev = channel.entities.get(entity_index - 1).unwrap();
446 // start_angle = prev.end_angle;
447 // }
448
449 let formatted_value = match value {
450 Some(value) => match baseprops.entity_value_formatter {
451 Some(formatter) => formatter(value.into()),
452 None => default_value_formatter(value.into()),
453 },
454 None => "".into(),
455 };
456
457 PieEntity {
458 index: entity_index,
459 old_value: None,
460 value,
461 formatted_value,
462 name,
463 color,
464 highlight_color,
465 old_start_angle: start_angle,
466 old_end_angle: start_angle,
467 center: props.center,
468 inner_radius: props.inner_radius,
469 outer_radius: props.outer_radius,
470 start_angle,
471 end_angle: start_angle, // To be updated in `update_channel`
472 }
473 }
474
475 fn create_channels(&self, start: usize, end: usize) {
476 let mut start = start;

Callers 1

create_entitiesMethod · 0.45

Calls 3

default_value_formatterFunction · 0.85
get_colorMethod · 0.80
change_color_alphaMethod · 0.80

Tested by

no test coverage detected