@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.dataimport.routes.{DataSetImportController => dataSetImportRoutes} @import org.ada.web.util.{formatTimeElement, toHumanReadableCamel, typeColumns} @import org.ada.server.models.{DataSpaceMetaInfo, Field, Filter, FilterShowFieldStyle} @import org.ada.server.models.dataimport._ @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[DataSetImport], conditions: Seq[FilterCondition], classDisplayNameMap: Map[Class[_], String], dataSpaceMetaInfos: Traversable[DataSpaceMetaInfo] )( implicit webContext: WebContext ) @importLink(clazz: Class[_], title: String) = {
  • @title
  • } @actions = {
    @filterWithJs( Filter(conditions), dataSetImportRoutes.find(), Left(Seq( Field("dataSpaceName", Some("Data Space Name")), Field("dataSetName", 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: DataSetImport) = { } @executeLink(dataSetImport: DataSetImport) = { } @table = @{ paginatedTable( page, dataSetImportRoutes.find(_, _, conditions), typeColumns[DataSetImport]( (Some("dataSpaceName"), "Data Space Name", _.dataSpaceName), (Some("dataSetName"), "Data Set Name", _.dataSetName), (Some("concreteClass"), "Type", {importInfo => classDisplayNameMap.get(importInfo.getClass).getOrElse(toHumanReadableCamel(importInfo.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 => dataSetImportRoutes.get(item.asInstanceOf[DataSetImport]._id.get)}) ) } @layout.list( "Data Set Import", None, page.total, Some(actions), Some(table), None, Some(datasetMenu(dataSpaceMetaInfos)) )