ngx-manifold
v0.1.0
Published
Pages as data. One Angular codebase, many companies, each with its own theme and its own page compositions - rendered server-side, changeable without a deploy.
Maintainers
Readme
ngx-manifold
Pages as data. One Angular codebase, many companies, each with its own theme and its own page compositions — rendered server-side, changeable without a deploy.
The engine behind Manifold: a renderer for layout documents described as JSON, with multi-tenancy, runtime theming and SSR-aware sessions.
npm install ngx-manifoldimport {
defineWidget,
provideManifold,
provideApiLayouts,
provideTenancy,
pathTenantAddressing,
serverBaseUrlInterceptor,
forwardSessionCookieInterceptor,
} from 'ngx-manifold';
export const appConfig: ApplicationConfig = {
providers: [
provideHttpClient(
withFetch(),
withInterceptors([serverBaseUrlInterceptor, forwardSessionCookieInterceptor]),
),
provideManifold({
widgets: {
heading: defineWidget({
load: () => import('./widgets/heading').then((m) => m.Heading),
inputs: { text: { kind: 'string', required: true } },
}),
},
}),
provideApiLayouts({ basePath: '/api' }),
provideTenancy({ addressing: pathTenantAddressing() }),
],
};Widgets are yours to write. For a set that already exists, install
ngx-manifold-material: the whole Angular
Material component set as a registry, forms included.
Full documentation, a live playground and a working demo application are in the repository.
MIT licensed.
