Graphics Classes
Board
This object represents the entire animation
let myBoard = new Board(1280, 720);▼ Parameters for Initialization
▼ Methods (for complex changes)
objektname.setFramerate(50)objektname.setAdaptiveFramerate(true)Group
Group of graphic objects
let myGroup = new Group();▼ Setter Parameters (for later changes)
objektname.x = 100objektname.y = 200objektname.rotation = 45objektname.visible = false▼ Methods (for complex changes)
objektname.addChild(rectangle)objektname.removeChild(rectangle)objektname.setTransformationPoint(50, 50)objektname.setRotationPoint(25, 25)objektname.setScale(0.75)objektname.setAlpha(0.5)objektname.getBounds()objektname.setMask(10, 20, 100, 80)objektname.removeMask()objektname.onClick(sendMessage);
function sendMessage() { console.log("Hello World"); }objektname.onMouseDown(handleMouseDown);
function handleMouseDown() { console.log("Mouse button pressed"); }objektname.onMouseUp(handleMouseUp);
function handleMouseUp() { console.log("Mouse button released"); }objektname.onMouseOver(handleMouseOver);
function handleMouseOver() { console.log("Mouse entered element"); }objektname.onMouseOut(handleMouseOut);
function handleMouseOut() { console.log("Mouse left element"); }objektname.setDragging(0, 0, 1280, 720)objektname.onDragStart(handleDragStart);
function handleDragStart() { console.log("Started dragging element"); }objektname.onDrag(handleDrag);
function handleDrag() { console.log("Element is being dragged"); }objektname.onDragEnd(handleDragEnd);
function handleDragEnd() { console.log("Stopped dragging element"); }Rectangle
Rectangular graphic element
let myRectangle = new Rectangle(200, 100, 0xff0000);▼ Parameters for Initialization
▼ Setter Parameters (for later changes)
objektname.x = 100objektname.y = 200objektname.rotation = 45objektname.visible = false▼ Methods (for complex changes)
objektname.setBorder(0xff0000, 2)objektname.setTransformationPoint(0, 0)objektname.setRotationPoint(50, 50)objektname.setGradient("linear", [{offset:0,color:"#ff0"},{offset:1,color:"#f00"}])objektname.setScale(0.75)objektname.setAlpha(0.5)objektname.setRoundedCorners(10);objektname.setWidth(200)objektname.setHeight(150)objektname.onClick(sendMessage);
function sendMessage() { console.log("Hello World"); }objektname.onMouseDown(handleMouseDown);
function handleMouseDown() { console.log("Mouse button pressed"); }objektname.onMouseUp(handleMouseUp);
function handleMouseUp() { console.log("Mouse button released"); }objektname.onMouseOver(handleMouseOver);
function handleMouseOver() { console.log("Mouse entered element"); }objektname.onMouseOut(handleMouseOut);
function handleMouseOut() { console.log("Mouse left element"); }objektname.setDragging(0, 0, 1280, 720)objektname.onDragStart(handleDragStart);
function handleDragStart() { console.log("Started dragging element"); }objektname.onDrag(handleDrag);
function handleDrag() { console.log("Element is being dragged"); }objektname.onDragEnd(handleDragEnd);
function handleDragEnd() { console.log("Stopped dragging element"); }Circle
Circular graphic element
let myCircle = new Circle(50, 0x00ff00);▼ Parameters for Initialization
▼ Setter Parameters (for later changes)
objektname.x = 100objektname.y = 200objektname.rotation = 45objektname.visible = false▼ Methods (for complex changes)
objektname.setBorder(0xff0000, 2)objektname.setTransformationPoint(0, 0)objektname.setRotationPoint(0, 0)objektname.setGradient("radial", [{offset:0,color:"#fff"},{offset:1,color:"#000"}])objektname.setScale(0.75)objektname.setAlpha(0.5)objektname.setRadius(50)objektname.onClick(sendMessage);
function sendMessage() { console.log("Hello World"); }objektname.onMouseDown(handleMouseDown);
function handleMouseDown() { console.log("Mouse button pressed"); }objektname.onMouseUp(handleMouseUp);
function handleMouseUp() { console.log("Mouse button released"); }objektname.onMouseOver(handleMouseOver);
function handleMouseOver() { console.log("Mouse entered element"); }objektname.onMouseOut(handleMouseOut);
function handleMouseOut() { console.log("Mouse left element"); }objektname.setDragging(0, 0, 1280, 720)objektname.onDragStart(handleDragStart);
function handleDragStart() { console.log("Started dragging element"); }objektname.onDrag(handleDrag);
function handleDrag() { console.log("Element is being dragged"); }objektname.onDragEnd(handleDragEnd);
function handleDragEnd() { console.log("Stopped dragging element"); }Polygon
Polygon graphic element
let myPolygon = new Polygon(6, 60, 0x0000ff);▼ Parameters for Initialization
▼ Setter Parameters (for later changes)
objektname.x = 100objektname.y = 200objektname.rotation = 45objektname.visible = false▼ Methods (for complex changes)
objektname.setBorder(0xff0000, 2)objektname.setTransformationPoint(0, 0)objektname.setRotationPoint(0, 0)objektname.setGradient("radial", [{offset:0,color:"#fff"},{offset:1,color:"#000"}])objektname.setScale(0.75)objektname.setAlpha(0.5)objektname.setStartAngle(90)objektname.onClick(sendMessage);
function sendMessage() { console.log("Hallo World"); }objektname.onMouseDown(handleMouseDown);
function handleMouseDown() { console.log("Mouse button pressed"); }objektname.onMouseUp(handleMouseUp);
function handleMouseUp() { console.log("Mouse button released"); }objektname.onMouseOver(handleMouseOver);
function handleMouseOver() { console.log("Mouse entered element"); }objektname.onMouseOut(handleMouseOut);
function handleMouseOut() { console.log("Mouse left element"); }objektname.setDragging(0, 0, 1280, 720)objektname.onDragStart(handleDragStart);
function handleDragStart() { console.log("Started dragging element"); }objektname.onDrag(handleDrag);
function handleDrag() { console.log("Element is being dragged"); }objektname.onDragEnd(handleDragEnd);
function handleDragEnd() { console.log("Stopped dragging element"); }LinePath
Line path from points
let myLinePath = new LinePath([[0,0], [100,50], [200,100]], 0xff0000, 3);▼ Parameters for Initialization
▼ Setter Parameters (for later changes)
objektname.visible = falseobjektname.x = 100objektname.y = 200▼ Methods (for complex changes)
objektname.setFillColor(0xff0000)objektname.setAlpha(0.5)objektname.setPoints([[0,0], [100,50], [200,100]])objektname.addPointEnd(150, 75)objektname.addPointStart(25, 25)objektname.removePointEnd()objektname.removePointStart()objektname.shiftX(50)objektname.closePath()objektname.openPath()objektname.onClick(sendMessage);
function sendMessage() { console.log("Hallo World"); }objektname.onMouseDown(handleMouseDown);
function handleMouseDown() { console.log("Mouse button pressed"); }objektname.onMouseUp(handleMouseUp);
function handleMouseUp() { console.log("Mouse button released"); }objektname.onMouseOver(handleMouseOver);
function handleMouseOver() { console.log("Mouse entered element"); }objektname.onMouseOut(handleMouseOut);
function handleMouseOut() { console.log("Mouse left element"); }objektname.setDragging(0, 0, 1280, 720)objektname.onDragStart(handleDragStart);
function handleDragStart() { console.log("Started dragging element"); }objektname.onDrag(handleDrag);
function handleDrag() { console.log("Element is being dragged"); }objektname.onDragEnd(handleDragEnd);
function handleDragEnd() { console.log("Stopped dragging element"); }BezierPath
Bezier curve with control points
let myBezierPath = new BezierPath([[0,0,10,-10], [100,50,120,30], [200,100,180,120]], 0xff0000, 3);▼ Parameters for Initialization
▼ Setter Parameters (for later changes)
objektname.visible = falseobjektname.x = 100objektname.y = 200▼ Methods (for complex changes)
objektname.setFillColor(0xff0000)objektname.setAlpha(0.5)objektname.setPoints([[0,0,10,-10], [100,50,120,30], [200,100,180,120]])objektname.addPointEnd(150, 75, 160, 60)objektname.addPointStart(25, 25, 30, 20)objektname.removePointEnd()objektname.removePointStart()objektname.shiftX(50)objektname.onClick(sendMessage);
function sendMessage() { console.log("Hallo World"); }objektname.onMouseDown(handleMouseDown);
function handleMouseDown() { console.log("Mouse button pressed"); }objektname.onMouseUp(handleMouseUp);
function handleMouseUp() { console.log("Mouse button released"); }objektname.onMouseOver(handleMouseOver);
function handleMouseOver() { console.log("Mouse entered element"); }objektname.onMouseOut(handleMouseOut);
function handleMouseOut() { console.log("Mouse left element"); }objektname.setDragging(0, 0, 1280, 720)objektname.onDragStart(handleDragStart);
function handleDragStart() { console.log("Started dragging element"); }objektname.onDrag(handleDrag);
function handleDrag() { console.log("Element is being dragged"); }objektname.onDragEnd(handleDragEnd);
function handleDragEnd() { console.log("Stopped dragging element"); }SplinePath
Spline curve from points
let mySplinePath = new SplinePath([[0,0], [100,50], [200,100]], 0xff0000, 3);▼ Parameters for Initialization
▼ Setter Parameters (for later changes)
objektname.x = 100objektname.y = 200objektname.visible = true▼ Methods (for complex changes)
objektname.setFillColor(0xff0000)objektname.setAlpha(0.5)objektname.setPoints([[0,0], [100,50], [200,100]])objektname.addPointEnd(150, 75)objektname.addPointStart(25, 25)objektname.removePointEnd()objektname.removePointStart()objektname.setColor(0x00ff00)objektname.setThickness(5)objektname.markAt(100, 0xff0000, 5)objektname.markAtXY(100, 50, 0xff0000, 5)objektname.removeMark()objektname.showGuideLines(100, 0x00ff00, 2, 0.7)objektname.showGuideLinesAtXY(100, 50, 0x00ff00, 2, 0.7)objektname.hideGuideLines()objektname.updateGuideLines(150)objektname.getY(100)objektname.getX(150)objektname.onClick(sendMessage);
function sendMessage() { console.log("Hallo World"); }objektname.onMouseDown(handleMouseDown);
function handleMouseDown() { console.log("Mouse button pressed"); }objektname.onMouseUp(handleMouseUp);
function handleMouseUp() { console.log("Mouse button released"); }objektname.onMouseOver(handleMouseOver);
function handleMouseOver() { console.log("Mouse entered element"); }objektname.onMouseOut(handleMouseOut);
function handleMouseOut() { console.log("Mouse left element"); }objektname.setDragging(0, 0, 1280, 720)objektname.onDragStart(handleDragStart);
function handleDragStart() { console.log("Started dragging element"); }objektname.onDrag(handleDrag);
function handleDrag() { console.log("Element is being dragged"); }objektname.onDragEnd(handleDragEnd);
function handleDragEnd() { console.log("Stopped dragging element"); }Arrow
Arrow with line and head
let myArrow = new Arrow(0, 0, 100, 50, 0xff0000, 3, 15, 8);▼ Parameters for Initialization
▼ Setter Parameters (for later changes)
objektname.x = 100objektname.y = 200objektname.rotation = 45objektname.visible = falseobjektname.alpha = 0.5▼ Methods (for complex changes)
objektname.setColor(0xff0000)objektname.setThickness(2)objektname.setStrokeDash([5, 5])objektname.setStart(0, 0)objektname.setEnd(100, 100)objektname.setAlpha(0.5)objektname.setOutline(0.5, 0xffffff)objektname.removeOutline()objektname.onClick(sendMessage);
function sendMessage() { console.log("Hallo World"); }objektname.onMouseDown(handleMouseDown);
function handleMouseDown() { console.log("Mouse button pressed"); }objektname.onMouseUp(handleMouseUp);
function handleMouseUp() { console.log("Mouse button released"); }objektname.onMouseOver(handleMouseOver);
function handleMouseOver() { console.log("Mouse entered element"); }objektname.onMouseOut(handleMouseOut);
function handleMouseOut() { console.log("Mouse left element"); }objektname.setDragging(0, 0, 1280, 720)objektname.onDragStart(handleDragStart);
function handleDragStart() { console.log("Started dragging element"); }objektname.onDrag(handleDrag);
function handleDrag() { console.log("Element is being dragged"); }objektname.onDragEnd(handleDragEnd);
function handleDragEnd() { console.log("Stopped dragging element"); }Parallelogram
Parallelogram from two vectors
let myParallelogram = new Parallelogram(0, 0, 100, 0, 50, 50, 0x00ff00);▼ Parameters for Initialization
▼ Setter Parameters (for later changes)
objektname.x = 100objektname.y = 200objektname.visible = falseobjektname.alpha = 0.5▼ Methods (for complex changes)
objektname.setFillColor(0xff0000)objektname.setAlpha(0.5)objektname.setOrigin(50, 50)objektname.setVector1(150, 100)objektname.setVector2(100, 150)objektname.getResultantEndpoint()objektname.showVectors(true)objektname.showResultant(true)objektname.onClick(sendMessage);
function sendMessage() { console.log("Hallo World"); }objektname.onMouseDown(handleMouseDown);
function handleMouseDown() { console.log("Mouse button pressed"); }objektname.onMouseUp(handleMouseUp);
function handleMouseUp() { console.log("Mouse button released"); }objektname.onMouseOver(handleMouseOver);
function handleMouseOver() { console.log("Mouse entered element"); }objektname.onMouseOut(handleMouseOut);
function handleMouseOut() { console.log("Mouse left element"); }objektname.setDragging(0, 0, 1280, 720)objektname.onDragStart(handleDragStart);
function handleDragStart() { console.log("Started dragging element"); }objektname.onDrag(handleDrag);
function handleDrag() { console.log("Element is being dragged"); }objektname.onDragEnd(handleDragEnd);
function handleDragEnd() { console.log("Stopped dragging element"); }PointLabel
Label for a point
let myPointLabel = new PointLabel(100, 100, "P", 15, -15, "Arial", 16, 0x000000);▼ Parameters for Initialization
▼ Setter Parameters (for later changes)
objektname.x = 100objektname.y = 200objektname.visible = falseobjektname.alpha = 0.5▼ Methods (for complex changes)
objektname.setText("H<sub>2</sub>O")objektname.setTextColor(0xff0000)objektname.setFontSize(16)objektname.setPoint(100, 100)objektname.setOffset(10, -5)objektname.setBackgroundColor(0xffffff)objektname.setPadding(5)objektname.setAlpha(0.5)objektname.onClick(sendMessage);
function sendMessage() { console.log("Hallo World"); }objektname.onMouseDown(handleMouseDown);
function handleMouseDown() { console.log("Mouse button pressed"); }objektname.onMouseUp(handleMouseUp);
function handleMouseUp() { console.log("Mouse button released"); }objektname.onMouseOver(handleMouseOver);
function handleMouseOver() { console.log("Mouse entered element"); }objektname.onMouseOut(handleMouseOut);
function handleMouseOut() { console.log("Mouse left element"); }objektname.setDragging(0, 0, 1280, 720)objektname.onDragStart(handleDragStart);
function handleDragStart() { console.log("Started dragging element"); }objektname.onDrag(handleDrag);
function handleDrag() { console.log("Element is being dragged"); }objektname.onDragEnd(handleDragEnd);
function handleDragEnd() { console.log("Stopped dragging element"); }LineLabel
Label for a line segment
let myLineLabel = new LineLabel(0, 0, 100, 50, "AB", 15, "Arial", 16, 0x000000);▼ Parameters for Initialization
▼ Setter Parameters (for later changes)
objektname.x = 100objektname.y = 200objektname.visible = falseobjektname.alpha = 0.5▼ Methods (for complex changes)
objektname.setText("H<sub>2</sub>O")objektname.setTextColor(0xff0000)objektname.setFontSize(16)objektname.setDistance(15)objektname.setStart(100, 100)objektname.setEnd(200, 150)objektname.setBackgroundColor(0xffffff)objektname.setPadding(5)objektname.setAlpha(0.5)objektname.setFlipSide(true)objektname.onClick(sendMessage);
function sendMessage() { console.log("Hallo World"); }objektname.setDragging(0, 0, 1280, 720)AngleLabel
Angle label with text
let myAngleLabel = new AngleLabel(100, 100, 150, 100, 150, 150, 30, "α", "Arial", 16, 0x444444, 1, 0x444444);▼ Parameters for Initialization
▼ Setter Parameters (for later changes)
objektname.x = 100objektname.y = 200objektname.visible = falseobjektname.alpha = 0.5▼ Methods (for complex changes)
objektname.setText("90°")objektname.setTextColor(0xff0000)objektname.setFontSize(16)objektname.setLineColor(0x0000ff)objektname.setLineThickness(2)objektname.setRadius(30)objektname.setCenter(100, 100)objektname.setArm1(150, 100)objektname.setArm2(100, 150)objektname.setAlpha(0.5)objektname.setLongArc(true)objektname.onClick(sendMessage);
function sendMessage() { console.log("Hallo World"); }objektname.setDragging(0, 0, 1280, 720)Line
Simple line
let myLine = new Line(0, 0, 100, 50, 0xff0000, 2);▼ Parameters for Initialization
▼ Setter Parameters (for later changes)
objektname.x = 100objektname.y = 200objektname.rotation = 45objektname.visible = falseobjektname.alpha = 0.5▼ Methods (for complex changes)
objektname.setColor(0xff0000)objektname.setThickness(2)objektname.setStrokeDash([5, 5])objektname.setStart(0, 0)objektname.setEnd(100, 100)objektname.setAlpha(0.5)objektname.onClick(sendMessage);
function sendMessage() { console.log("Hallo World"); }Ruler
Ruler with ticks
let myRuler = new Ruler("right", [0, 10, 20, 30, 40], 50, 0, 0xff0000, 2, 15, 16, 0x000000, true, 1, ".");▼ Parameters for Initialization
▼ Setter Parameters (for later changes)
objektname.x = 100objektname.y = 200objektname.visible = false▼ Methods (for complex changes)
objektname.setColor(0xff0000)objektname.setFontColor(0x000000)objektname.setThickness(2)objektname.updateValues(["0", "5", "10"])CoordinateSystem
Coordinate system with axes
let myCoordinateSystem = new CoordinateSystem(100, 100, 100, 100, 0x000000, 10, 6, 1);▼ Parameters for Initialization
▼ Setter Parameters (for later changes)
objektname.x = 100objektname.y = 200objektname.rotation = 45objektname.visible = false▼ Methods (for complex changes)
objektname.setColor(0xff0000)objektname.setThickness(2)objektname.addTicksAndLabels(["0", "5", "10"], "right", 50, 0, 10)SimpleSVG
SVG graphic as object
let mySVG = new SimpleSVG("<svg>...</svg>");▼ Parameters for Initialization
▼ Setter Parameters (for later changes)
objektname.x = 100objektname.y = 200objektname.rotation = 45objektname.visible = trueobjektname.maintainStrokeWidth = trueobjektname.resolution = 2▼ Methods (for complex changes)
objektname.setScale(1.5, 1.5)objektname.setAlpha(0.5)objektname.setRotationPoint(0, 0)objektname.setTransformationPoint(0, 0)objektname.removeFromParent()objektname.onClick(sendMessage);
function sendMessage() { console.log("Hallo World"); }objektname.onMouseDown(handleMouseDown);
function handleMouseDown() { console.log("Mouse button pressed"); }objektname.onMouseUp(handleMouseUp);
function handleMouseUp() { console.log("Mouse button released"); }objektname.onMouseOver(handleMouseOver);
function handleMouseOver() { console.log("Mouse entered element"); }objektname.onMouseOut(handleMouseOut);
function handleMouseOut() { console.log("Mouse left element"); }objektname.setDragging(0, 0, 1280, 720)objektname.onDragStart(handleDragStart);
function handleDragStart() { console.log("Started dragging element"); }objektname.onDrag(handleDrag);
function handleDrag() { console.log("Element is being dragged"); }objektname.onDragEnd(handleDragEnd);
function handleDragEnd() { console.log("Stopped dragging element"); }Timer
Timer for animations
let myTimer = new Timer(5000, true, false);▼ Parameters for Initialization
▼ Methods (for complex changes)
objektname.start()objektname.stop()objektname.pause()objektname.resume()objektname.reset()objektname.addAnimation(myObject, "x", 100, 300)objektname.addKeyframeAnimation(myObject, "alpha", [{time: 0, value: 0}, {time: 0.5, value: 1}, {time: 1, value: 0}])objektname.setEasing("easeInOut")objektname.onComplete(animationFinished);
function animationFinished() { console.log("Animation fertig!"); }objektname.onUpdate(handleProgress);
function handleProgress() { console.log("Progress"); }objektname.setProgress(0.5)SimplePNG
PNG image as object
let myPNG = new SimplePNG("image.png");▼ Parameters for Initialization
▼ Setter Parameters (for later changes)
objektname.x = 100objektname.y = 200objektname.visible = trueobjektname.alpha = 0.5▼ Methods (for complex changes)
objektname.setScale(1.5, 1.5)objektname.onClick(sendMessage);
function sendMessage() { console.log("Hallo World"); }Component Classes
Button
Button with click event
let myButton = new Button("Click me", 100, 40);▼ Parameters for Initialization
▼ Setter Parameters (for later changes)
objektname.x = 100objektname.y = 200objektname.visible = true▼ Methods (for complex changes)
objektname.onClick(sendMessage);
function sendMessage() { console.log("Hallo World"); }objektname.setText("Neuer Text")Checkbox
Checkbox with on/off state
let myCheckbox = new Checkbox(true, 20, "Select option");▼ Parameters for Initialization
▼ Setter Parameters (for later changes)
objektname.x = 100objektname.y = 200objektname.visible = trueobjektname.checked = true▼ Methods (for complex changes)
objektname.onClick(handleClick);
function handleClick(event) { console.log("Status:", event.value); }RadioButton
Radio button for group selection
let myRadio = new RadioButton("group1", false, 20, "Option 1");▼ Parameters for Initialization
▼ Setter Parameters (for later changes)
objektname.x = 100objektname.y = 200objektname.visible = true▼ Methods (for complex changes)
objektname.onClick(sendMessage);
function sendMessage() { console.log("Hallo World"); }NumericStepper
Numeric stepper with plus/minus buttons
let myStepper = new NumericStepper(50, 0, 100, 5, 120);▼ Parameters for Initialization
▼ Setter Parameters (for later changes)
objektname.x = 100objektname.y = 200objektname.visible = true▼ Methods (for complex changes)
objektname.onChange(handleChange);
function handleChange(event) { console.log(event.newValue); }Dropdown
Dropdown menu for selecting from a list of options
let myDropdown = new Dropdown(["Option 1", "Option 2"], 200, 40);▼ Parameters for Initialization
▼ Setter Parameters (for later changes)
objektname.x = 100objektname.y = 200objektname.visible = trueobjektname.selectedIndex = 0▼ Methods (for complex changes)
objektname.onChange(handleChange);
function handleChange(event) { console.log("Selected: " + event.detail.value); }objektname.getSelectedValue();objektname.setOptions(["New Option 1", "New Option 2", "New Option 3"])ButtonSlider
Slider with draggable button
let mySlider = new ButtonSlider(0, 100, 50, 1, 20, 200);▼ Parameters for Initialization
▼ Setter Parameters (for later changes)
objektname.x = 100objektname.y = 200objektname.value = 30objektname.visible = trueMathForm
Mathematical formula with MathJax rendering
let myFormula = new MathForm("x^2 + y^2 = r^2");▼ Parameters for Initialization
▼ Setter Parameters (for later changes)
objektname.x = 100objektname.y = 200objektname.visible = true▼ Methods (for complex changes)
objektname.setScale(1.5)objektname.setColor("#FF0000")Text
Text element with formatting
let myText = new Text("Hello World", "Arial", 16, 0x000000, "center");▼ Parameters for Initialization
▼ Setter Parameters (for later changes)
objektname.x = 100objektname.y = 200objektname.visible = true▼ Methods (for complex changes)
objektname.setText("New text with <sub>subscript</sub> and <sup>superscript</sup>")objektname.setFont("Times New Roman")objektname.setFontSize(24)objektname.setTextColor(0xFF0000)ParameterTable
Parameter table with editable values
let myTable = new ParameterTable([{name: "Speed", value: 50}], 300);▼ Parameters for Initialization
▼ Setter Parameters (for later changes)
objektname.x = 100objektname.y = 200objektname.visible = true▼ Methods (for complex changes)
objektname.setTitle("Configuration");
objektname.setValue("Speed", 50)objektname.getValue("Speed")objektname.setValueLimits("Speed", 0, 100)objektname.setDecimalSeparator(",")objektname.setRounding("Speed", 0.01)objektname.addParameter("New Param", 0);
objektname.removeParameter("Speed")objektname.onChange(handleChange);
function handleChange(event) { console.log(event.parameterName, event.newValue); }