Security News
The Push to Ban Ransom Payments Is Gaining Momentum
Ransomware costs victims an estimated $30 billion per year and has gotten so out of control that global support for banning payments is gaining momentum.
@orchestrator/core
Advanced tools
Readme
Core package of Orchestrator library.
It is providing capabilities to render UIs dynamically from a JSON like configurations using Angular components that are registered with it.
First you should create some component that you want to be able to render.
To do that - just decorate your component with @DynamicComponent
decorator
and pass an object with required class that describes it's configuration
and use interface OrchestratorDynamicComponent
that describes inputs:
import { Component, Input } from '@angular/core';
import {
DynamicComponent,
OrchestratorDynamicComponent,
Option,
} from '@orchestrator/core';
export class YourComponentConfig {
@Option()
title?: string;
}
@Component({
selector: 'your-dynamic-component',
template: `Title is {{ config?.title }}`,
})
@DynamicComponent({ config: YourComponentConfig })
export class YourDynamicComponent
implements OrchestratorDynamicComponent<YourComponentConfig>
{
@Input()
items?: OrchestratorConfigItem<any>[];
@Input()
config?: YourComponentConfig;
@Input()
context?: any;
}
config
input is a config validated at runtime of your component
that is provided via the JSON like config for each componentcontext
input is any object that is passed down as a context from the topitems
input contains further children of a JSON like subtree
that your component may or may not decide to renderNext, you should tell Orchestrator which components are available for render.
To do that - just call OrchestratorCoreModule.withComponents([...])
with your components in your application module:
import { NgModule } from '@angular/core';
import { OrchestratorCoreModule } from '@orchestrator/core';
import { YourDynamicComponent } from './your-dynamic.component.ts';
@NgModule({
imports: [OrchestratorCoreModule.withComponents([YourDynamicComponent])],
})
export class AppModule {}
Finally you are ready to render UI dynamically using <orc-orchestrator>
component
and passing to it JSON like configuration of your UI:
import { Component } from '@angular/core';
import { OrchestratorConfigItem } from '@orchestrator/core';
@Component({
template: `<orc-orchestrator [config]="config"></orc-orchestrator>`,
})
export class MyComponent {
config: OrchestratorConfigItem<any> = {
component: 'your-dynamic-component',
config: { title: 'Dynamic title' },
};
}
FAQs
> Core package of Orchestrator library.
We found that @orchestrator/core demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Ransomware costs victims an estimated $30 billion per year and has gotten so out of control that global support for banning payments is gaining momentum.
Application Security
New SEC disclosure rules aim to enforce timely cyber incident reporting, but fear of job loss and inadequate resources lead to significant underreporting.
Security News
The Python Software Foundation has secured a 5-year sponsorship from Fastly that supports PSF's activities and events, most notably the security and reliability of the Python Package Index (PyPI).