Angular Draw Component

The Draw component for Angular which allows you to draw shapes and texts using VML, SVG, and HTML5.

Prerequisites

Refer to Angular Getting Started before you start with this help topic.

Configuration

The Draw component for Angular requires the following imports.

Mark a class as an Angular component through the @Component decorator:

  • selector - CSS selector that identifies this component in a template
  • styles - inline-defined styles to be applied to this component's view
  • styleUrls - list of URLs to stylesheets to be applied to this component's view
  • template - inline-defined template for the view
  • templateUrl - URL to an external file containing a template for the view
The full list of @Component decorator properties is available on: Angular @Component Decorator API

Every jQWidgets Angular component has an [auto-create] attribute which determines whether the component is automatically created or is created on demand by API method call.
By default, the [auto-create] attribute value is true.


Create the AppComponent class.

The AppComponent class is used to instantiate the app. In some of the examples, we use @ViewChild and ngAfterViewInit.

  • @ViewChild: makes a reference using a Draw selector. View queries are set before the ngAfterViewInit callback is called.
    @ViewChild('drawReference') myDraw: jqxDrawComponent;
  • ngAfterViewInit - this is an Angular Component Lifecycle method in which we create our angular components. After the view is initialized, myDraw is available.
    For more information about this methods please refer to Angular Component Lifecycle API

The following example demonstrates the Draw component for Angular.

app.component.htm

app.component.css

app.component.ts

Run Code

Create Draw component with JSON

  • Add the imports.

    import { Component, ViewChild, AfterViewInit } from '@angular/core';
    import { jqxDrawComponent } from 'components/angular_jqxdraw';

    @Component decorator:

    @Component({
        selector: 'app-root',
        template: `<jqxDraw #drawReference></jqxDraw>`
    })
    
  • Create the AppComponent class.

    • @ViewChild: makes a reference using a Draw selector. View queries are set before the ngAfterViewInit callback is called.
      @ViewChild('drawReference') myDraw: jqxDrawComponent;
    • ngAfterViewInit: All Angular components have an integrated method called createComponent that accept a JSON object with the component initialization properties. If no argument is passed, default properties will be used. If you would like to dynamically set properties after creation, you can use the setOptions method.
      ngAfterViewInit(): void
      {
          this.myDraw.createComponent(this.DrawSettings);
      }
      
  • The following example demonstrates how to create a Draw component for Angular by using the createComponent method.


Properties

The properties which are defined as attributes can be changed directly:

To get or set a property, which we did not define or call a method, we can do the following:

  • Import @ViewChild decorator:


  • Add the Draw component:


  • Get access to the Draw component and its API:


  • Finally, we can call methods or set/get properties like that:


Every component has a method setOptions which accepts a JSON object as an argument. This object contains component settings and you can use it to set a single or multiple properties dynamically.

Methods

To invoke methods, you can use the Draw reference.
 ( refresh() to refreshes the widget )  - this.myDraw.refresh().

The following example demonstrates how to invoke methods of the Draw component for Angular.

Draw Examples

Overview

The following example demonstrates how to create a Draw component for Angular.

Draw API

API Reference of the jQWidgets Draw component for Angular: Draw API