@* * Copyright 2015 Yahoo Inc. Licensed under the Apache License, Version 2.0 * See accompanying LICENSE file. *@ @import scalaz.{\/} @(cluster: String, errorOrForm: kafka.manager.ApiError \/ (Form[models.form.GenerateMultipleAssignments], kafka.manager.model.ClusterContext) )(implicit af: features.ApplicationFeatures, messages: play.api.i18n.Messages, menus: models.navigation.Menus, request:RequestHeader) @theMenu = { @views.html.navigation.clusterMenu(cluster,"Topic","Confirm Assignments",menus.clusterMenus(cluster)( errorOrForm.toOption.map(_._2.clusterFeatures).getOrElse(kafka.manager.features.ClusterFeatures.default))) } @checkboxWithLink(field: play.api.data.Field, topic: String)(implicit fc: b4.B4FieldConstructor, msgsProv: MessagesProvider) = { @b4.inputFormGroup(field, withLabelFor = false, views.html.bs.Args.withDefault(Seq(), 'disabled -> false)) { fieldInfo =>
} } @renderForm(confirmForm: Form[models.form.GenerateMultipleAssignments]) = {

Choose topics and brokers for reassignments:

@b4.vertical.form(routes.ReassignPartitions.handleGenerateMultipleAssignments(cluster)) { implicit fc =>
TopicsBrokers
@helper.repeat(confirmForm("topics"), min = 1) { topicSelectForm => @b4.hidden(topicSelectForm("name").name,topicSelectForm("name").value.getOrElse("")) @checkboxWithLink(topicSelectForm("selected"),topicSelectForm("name").value.getOrElse("")) } @helper.repeat(confirmForm("brokers"), min = 1) { brokerSelectForm => @b4.hidden(brokerSelectForm("id").name,brokerSelectForm("id").value.getOrElse(-1)) @b4.hidden(brokerSelectForm("host").name,brokerSelectForm("host").value.getOrElse("")) @b4.checkbox(brokerSelectForm("selected"), '_text -> s"${brokerSelectForm("id").value.getOrElse(-1)} - ${brokerSelectForm("host").value.getOrElse("")}") }
Cancel @b4.submit('class -> "btn btn-primary"){ Generate Partition Assignments } } } @main( "Confirm Multiple Assignment", menu = theMenu, breadcrumbs=views.html.navigation.breadCrumbs(models.navigation.BreadCrumbs.withViewAndCluster("Topics",cluster))) {

Confirm Assignments

@errorOrForm.fold( views.html.errors.onApiError(_), t => renderForm(t._1))
}