Пример #1
0
  getColumns() {
    const { repositories } = this.props;
    const getClassName = this.getClassName;
    const heading = ResourceTableUtil.renderHeading(
      RepositoriesTableHeaderLabels
    );
    const sortFunction = TableUtil.getSortFunction("uri", function(item, prop) {
      if (prop === "priority") {
        return repositories.getPriority(item);
      }

      return item.get(prop);
    });

    return [
      {
        className: getClassName,
        headerClassName: getClassName,
        heading,
        prop: "name",
        render: this.getHeadline,
        sortable: true,
        sortFunction
      },
      {
        className: getClassName,
        headerClassName: getClassName,
        heading,
        prop: "uri",
        render: this.getUri,
        sortable: true,
        sortFunction
      },
      {
        className: getClassName,
        headerClassName: getClassName,
        heading,
        prop: "priority",
        render: this.getPriority,
        sortable: true,
        sortFunction
      },
      {
        className: getClassName,
        headerClassName: getClassName,
        heading() {},
        prop: "removed",
        render: this.getRemoveButton,
        sortable: false
      }
    ];
  }
Пример #2
0
        <span className="label">{value}%</span>
      </span>
    );
  },

  getColumns() {
    const className = ResourceTableUtil.getClassName;
    const heading = ResourceTableUtil.renderHeading(NodesTableHeaderLabels);
    const getHealthSorting = TableUtil.getHealthSortingOrder;
    const sortFunction = TableUtil.getSortFunction("hostname", function(
      node,
      prop
    ) {
      if (prop === "cpus" || prop === "mem" || prop === "disk") {
        return node.getUsageStats(prop).percentage;
      }

      if (prop === "health") {
        return UnitHealthUtil.getHealthSorting(node);
      }

      return node.get(prop);
    });

    return [
      {
        className,
        headerClassName: className,
        prop: "hostname",
        render: this.renderHeadline,
        sortable: true,
        sortFunction,
Пример #3
0
    return TableUtil.getSortFunction(tieBreakerProp, function(item, prop) {
      const hasGetter = typeof item.get === "function";

      if (prop === "updated") {
        return getUpdatedTimestamp(item) || 0;
      }

      if (prop === "zone") {
        return TaskUtil.getZoneName(item);
      }

      if (prop === "host") {
        return TaskUtil.getHostName(item);
      }

      if (prop === "region") {
        return TaskUtil.getRegionName(item);
      }

      if (prop === "status" && !hasGetter) {
        return TaskStatusSortingOrder[item.state];
      }

      if (
        prop === "cpus" ||
        prop === "gpus" ||
        prop === "mem" ||
        prop === "disk"
      ) {
        // This is necessary for tasks, since they are not structs
        let value = item[prop];

        if (!value && hasGetter) {
          value = item.get(prop);
        }

        if (item.getUsageStats) {
          value = item.getUsageStats(prop).value;
        }

        if (Util.findNestedPropertyInObject(item, `resources.${prop}`)) {
          value = item.resources[prop];
        }

        if (Array.isArray(value)) {
          return Util.last(value).value;
        }

        return value;
      }

      // This is necessary for tasks, since they are not structs
      if (!hasGetter) {
        return item[prop];
      }

      return item.get(prop);
    });