All Downloads are FREE. Search and download functionalities are using the official Maven repository.

pl.touk.nussknacker.ui.config.scenariotoolbar.ScenarioToolbarsConfig.scala Maven / Gradle / Ivy

There is a newer version: 1.18.1
Show newest version
package pl.touk.nussknacker.ui.config.scenariotoolbar

import com.typesafe.config.Config
import net.ceedubs.ficus.readers.ValueReader

import java.util.UUID

object ScenarioToolbarsConfig {

  import net.ceedubs.ficus.readers.ArbitraryTypeReader._
  import net.ceedubs.ficus.readers.EnumerationReader._
  import pl.touk.nussknacker.engine.util.config.CustomFicusInstances._

  // It provides empty list when toolbar panel is not set
  implicit val panelListReader: ValueReader[List[ToolbarPanelConfig]] = new ValueReader[List[ToolbarPanelConfig]] {

    override def read(config: Config, path: String): List[ToolbarPanelConfig] = {
      config.getOrElse[List[Config]](path, List.empty).map(_.as[ToolbarPanelConfig])
    }

  }

}

final case class ScenarioToolbarsConfig(
    uuid: Option[UUID],
    topLeft: List[ToolbarPanelConfig],
    bottomLeft: List[ToolbarPanelConfig],
    topRight: List[ToolbarPanelConfig],
    bottomRight: List[ToolbarPanelConfig]
) {
  lazy val uuidCode: UUID = uuid.getOrElse(UUID.nameUUIDFromBytes(hashCode().toString.getBytes))
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy