Skip to content
npm

Introduction for developers

NGX View Builder is an Angular library with two halves, and each half is its own npm package:

  • ngx-view-builder-runtime: the engine that renders a saved view definition (JSON) to end users. Free forever, no license key.
  • ngx-view-builder-designer: the visual editor your creators use to design those views. Commercially licensed, and it depends on the runtime.

Install one or both depending on what your app does. Most applications render views and never open the editor, so they only need the runtime. See Installation for the split, and Architecture for why the line falls where it does.

You embed the components you need as standalone components, persist the JSON wherever you like, and control everything else (data, theming, custom elements, plugins) through providers and a typed API service.

The five components

ComponentSelectorPackagePurpose
Designer<ngx-view-builder-designer>designerFull editing shell: canvas, sidebars, tabs, history
Runtime<ngx-view-builder-runtime>runtimeRenders a view definition with live logic and data
Unified<ngx-view-builder>runtimeRuntime-oriented host that can also take a BuilderModel
Renderer<ngx-view-builder-renderer>runtimeLow-level renderer used by the unified wrapper
Validator<ngx-view-builder-validator>runtimeHeadless validation for server-side scenarios

The flow

Creator designs in <ngx-view-builder-designer>       ← designer package
        │  (structureChanged) → IStructure JSON

Your backend / storage
        │  [pageJson]

<ngx-view-builder-runtime> renders to end users      ← runtime package
        │  values, events, validation

Your app (via outputs and NgxViewBuilderApiService)

The JSON in the middle is the whole contract between the two packages, which is why an app on either side of it can be deployed and licensed independently of the other.

What you can extend

ExtensionHow
Custom elements (component + model + properties)Custom elements
Expression functionsCustom functions
Extra/changed element propertiesCustom properties
SVG iconsIcons
Theme tokens, light/dark palettesTheming
Builder UI languageUI translations
Whole builder tabsPlugins

Reading order

  1. Installation: which packages to install, providers, initialization.
  2. Embedding the builder and Rendering views.
  3. API service overview: the programmatic surface.
  4. Extensions overview: one config object for everything custom.