Skip to content

Files

Latest commit

Feb 23, 2025
9735424 · Feb 23, 2025

History

History

gradle-plugin

README.md

CI Status Gradle Plugin Portal Kotlin

yFiles Gradle Plugin for Kotlin/JS

Goal

Interface(s) implementing

Example

// Generated prototype (JS): 
// MyVisualTemplate.prototype = Object.create(BaseClass(IVisualTemplate).prototype) 
class MyVisualTemplate: IVisualTemplate {
    /* body */
}

// Generated prototype (JS): 
// MyArrow.prototype = Object.create(BaseClass(IArrow, IVisualCreator, IBoundsProvider).prototype)
class MyArrow: IArrow, IVisualCreator, IBoundsProvider {
    /* body */
}

Requirements

  • Only yFiles interfaces implemented
  • No extended class

Custom YObject

Example

// Generated JS: 
// Class.fixType(SelectionProvider) 
class SelectionProvider : YObject {
    fun isSelected(item: IModelItem): Boolean = /* ... */
}

// Generated JS: 
// Class.fixType(HighlightProvider)
class HighlightProvider : YObject {
    fun isHighlighted(item: IModelItem): Boolean = /* ... */
}

Requirements

  • No extended interfaces

Class property

class MyObject : YObject {
    companion object : IClassMetadata<MyObject> by classMetadata()
}

// JS: MyObject.$class
MyObject.yclass