beholder


Лицензия

Лицензия

Группа

Группа

org.virtuslab
Идентификатор

Идентификатор

beholder_2.10
Последняя версия

Последняя версия

0.2.1
Дата

Дата

Тип

Тип

jar
Описание

Описание

beholder
beholder
Ссылка на сайт

Ссылка на сайт

https://github.com/VirtusLab/beholder
Организация-разработчик

Организация-разработчик

org.virtuslab
Система контроля версий

Система контроля версий

https://github.com/VirtusLab/beholder.git

Скачать beholder_2.10

Как подключить последнюю версию

<!-- https://jarcasting.com/artifacts/org.virtuslab/beholder_2.10/ -->
<dependency>
    <groupId>org.virtuslab</groupId>
    <artifactId>beholder_2.10</artifactId>
    <version>0.2.1</version>
</dependency>
// https://jarcasting.com/artifacts/org.virtuslab/beholder_2.10/
implementation 'org.virtuslab:beholder_2.10:0.2.1'
// https://jarcasting.com/artifacts/org.virtuslab/beholder_2.10/
implementation ("org.virtuslab:beholder_2.10:0.2.1")
'org.virtuslab:beholder_2.10:jar:0.2.1'
<dependency org="org.virtuslab" name="beholder_2.10" rev="0.2.1">
  <artifact name="beholder_2.10" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.virtuslab', module='beholder_2.10', version='0.2.1')
)
libraryDependencies += "org.virtuslab" % "beholder_2.10" % "0.2.1"
[org.virtuslab/beholder_2.10 "0.2.1"]

Зависимости

compile (4)

Идентификатор библиотеки Тип Версия
org.scala-lang : scala-library jar 2.10.4
com.typesafe.slick : slick_2.10 jar 2.1.0
com.typesafe.play : play-slick_2.10 jar 0.8.0
org.virtuslab : unicorn_2.10 jar 0.6.1

test (3)

Идентификатор библиотеки Тип Версия
org.scalatest : scalatest_2.10 jar 2.2.2
com.typesafe.play : play-test_2.10 jar 2.3.4
com.h2database : h2 jar 1.4.181

Модули Проекта

Данный проект не имеет модулей.

Beholder: Play-Slick library for data presentation

Build Status

Standard part of many application are list of data that is not a effect of simple query from one table but junction and aggregation of data from many tables. Beholder provides support for such elemets.

Features:

  • views as table
  • declaring filters for data
  • support for sorting, filtering on multiple (custom) datatypes

Contributors

Authors:

Feel free to use it, test it and to contribute!

Getting beholder

For latest version (Scala 2.11.7 compatible) use:

// https://mvnrepository.com/artifact/org.virtuslab/beholder
libraryDependencies += "org.virtuslab" %% "beholder" % "1.1.0"

Or see Maven repository for 2.10 and 2.11.

Examples

Lets assume that we created simple entries

case class MachineId(id: Long) extends AnyVal with BaseId
case class UserId(id: Long) extends AnyVal with BaseId

and junction table joined them by ids.

Defining view

Usually for data in view does not came form single table so we have to create view that is materialisation of some query. Beholder provides such utility. We can create Slick's table that operate on view (it is read only).

case class UserMachineView(email: String, system: String, cores: Int)

val usersMachinesQuery = for {
  user <- Users
  userMachine <- UserMachines if user.id === userMachine.userId
  machine <- Machines if machine.id === userMachine.machineId
} yield (user, machine)


val UsersMachineView = FilterableViews.createView(name = "USERS_MACHINE_VIEW",
  apply = UserMachineView.apply _,
  unapply = UserMachineView.unapply _,
  baseQuery = usersMachinesQuery) {
  case (user, machine) =>
    //naming the fields
    ("email" -> user.email,
      "system" -> machine.system,
      "cores" -> machine.cores)
}

UsersMachineView.viewDDL.create

Defining filter

We create a filter by specify table query (view or normal table) and mapping for field

val UsersMachineFilter = new FiltersGenerator[UserMachineView].create(view,
  inText,
  inText,
  inIntField
)

Do the filtering from request

UsersMachineFilter.filterForm.bindFromRequest().fold(
  errors => handleError(),
  filterData => showResult(UsersMachineFilter.filter(filterData))
)
org.virtuslab

VirtusLab

Версии библиотеки

Версия
0.2.1
0.2.0