@import views.html.layout @import views.html.table.paginatedTable @import views.html.dataset.{datasetMenu} @import views.html.filter.filterWithJs @import org.ada.web.controllers.dataset.datatrans.routes.{DataSetTransformationController => dataSetTransformationRoutes} @import org.ada.web.util.{formatTimeElement, toHumanReadableCamel, typeColumns} @import org.ada.server.models.{DataSpaceMetaInfo, Field, Filter, FilterShowFieldStyle} @import org.ada.server.models.datatrans._ @import org.ada.server.models.ScheduledTime @import org.incal.play.controllers.WebContext._ @import org.incal.play.controllers.WebContext @import reactivemongo.bson.BSONObjectID @import org.incal.play.Page @import org.incal.core.FilterCondition @( page: Page[DataSetTransformation], conditions: Seq[FilterCondition], classDisplayNameMap: Map[Class[_], String], dataSpaceMetaInfos: Traversable[DataSpaceMetaInfo] )( implicit webContext: WebContext ) @transformationLink(clazz: Class[_], title: String) = {
  • @title
  • } @actions = {
    @filterWithJs( Filter(conditions), dataSetTransformationRoutes.find(), Left(Seq( Field("resultDataSetSpec.id", Some("Data Set Id")), Field("resultDataSetSpec.name", Some("Data Set Name")) )), None, Some(FilterShowFieldStyle.LabelsOnly) )
    } @scheduleTime(scheduledTime: ScheduledTime) = { @Html(formatTimeElement(scheduledTime.hour, true, "    ") + formatTimeElement(scheduledTime.minute, true, "    ") + formatTimeElement(scheduledTime.second, false, "    ")) } @scheduleCheckbox(dataSetImport: DataSetTransformation) = { } @executeLink(dataSetTransformation: DataSetTransformation) = { } @table = @{ paginatedTable( page, dataSetTransformationRoutes.find(_, _, conditions), typeColumns[DataSetTransformation]( (Some("sourceDataSetIds"), "Source Data Set(s)", _.sourceDataSetIds.mkString(", ")), (Some("dataSetName"), "Data Set Name", _.resultDataSetName), (Some("concreteClass"), "Type", {info => classDisplayNameMap.get(info.getClass).getOrElse(toHumanReadableCamel(info.getClass.getSimpleName)) }), (Some("timeCreated"), "Time Created", _.timeCreated.format("yyyy-MM-dd HH:mm:ss")), (Some("timeLastExecuted"), "Time Last Executed", _.timeLastExecuted.map(_.format("yyyy-MM-dd HH:mm:ss")).getOrElse("")), (Some("scheduled"), "Scheduled?", scheduleCheckbox), (None, "Execute Now", executeLink) ), Some({ item : Any => dataSetTransformationRoutes.get(item.asInstanceOf[DataSetTransformation]._id.get)}) ) } @layout.list( "Data Set Transformation", None, page.total, Some(actions), Some(table), None, Some(datasetMenu(dataSpaceMetaInfos)) )