@*
* Copyright 2015 Yahoo Inc. Licensed under the Apache License, Version 2.0
* See accompanying LICENSE file.
*@
@import scalaz.{\/}
@(cluster:String, errorOrStatus: kafka.manager.ApiError \/ Option[kafka.manager.model.ActorModel.ReassignPartitions]
)(implicit af: features.ApplicationFeatures, messages: play.api.i18n.Messages, menus: models.navigation.Menus, request:RequestHeader)
@implicitFieldConstructor = @{ b4.vertical.fieldConstructor() }
@theMenu = {
@views.html.navigation.clusterMenu(cluster,"Reassign Partitions","",menus.clusterMenus(cluster)(
errorOrStatus.toOption.flatten.map(_.clusterContext.clusterFeatures).getOrElse(kafka.manager.features.ClusterFeatures.default)))
}
@renderView(c: String, viewOption: Option[kafka.manager.model.ActorModel.ReassignPartitions]) = {
@viewOption.fold {
No data found for any recent reassign partitions command.
} { repar =>
Submitted: |
@repar.startTime |
Completed: |
@repar.endTime.map(_.toString()).getOrElse("pending") |
Topic | Partition | Replica Assignment |
@for(((topic,partNum),assignment) <- repar.sortedTopicPartitionAssignmentList) {
@topic |
@partNum |
@assignment.mkString("(",",",")") |
}
}
}
@main(
"Reassign Partitions",
menu = theMenu,
breadcrumbs=views.html.navigation.breadCrumbs(models.navigation.BreadCrumbs.withViewAndCluster("Reassign Partitions",cluster))) {
@errorOrStatus.fold[Html](views.html.errors.onApiError(_), renderView(cluster, _))
}