Gapminder/vizabi

View on GitHub
src/components/dialogs/label/label.js

Summary

Maintainability
A
1 hr
Test Coverage
import * as utils from "base/utils";
import Component from "base/component";
import Dialog from "components/dialogs/_dialog";

import sizeslider from "components/brushslider/sizeslider/sizeslider";
import indicatorpicker from "components/indicatorpicker/indicatorpicker";
import simplecheckbox from "components/simplecheckbox/simplecheckbox";
/*
 * Label dialog
 */

const Label = Dialog.extend("label", {

/**
 * Initializes the dialog component
 * @param config component configuration
 * @param context component context (parent)
 */
  init(config, parent) {
    this.name = "label";

    // in dialog, this.model_expects = ["state", "data"];

    this.components = [
      {
        component: sizeslider,
        placeholder: ".vzb-dialog-sizeslider",
        model: ["state.marker.size_label",  "locale"],
        propertyname: "LabelTextSize",
        ui: {
          constantUnit: "unit/pixels"
        }
      },
      {
        component: indicatorpicker,
        placeholder: ".vzb-saxis-selector",
        model: ["state.time", "state.marker.size_label", "locale"],
        showHoverValues: true
      },
      {
        component: simplecheckbox,
        placeholder: ".vzb-removelabelbox-switch",
        model: ["ui.chart.labels", "locale"],
        checkbox: "removeLabelBox"
      },
      {
        component: simplecheckbox,
        placeholder: ".vzb-labelsenabled-switch",
        model: ["ui.chart.labels", "locale"],
        prefix: "labels",
        checkbox: "enabled"
      }
    ];

    this._super(config, parent);
  }
});

export default Label;