@ax2/xms-page-builder
v0.17.0
Published
## Setup
Downloads
92
Readme
XMS API PAGE BUILDER
Setup
Add the dependency
yarn add @ax2/xms-page-builder
How to install module
Merge resolvers and mutations into your graphql api src/graphql/resolvers.ts
Example:
import { GraphQLUpload } from 'apollo-upload-server';
import * as path from 'path';
import { mergeResolvers } from '@graphql-tools/merge';
import { loadFilesSync } from '@graphql-tools/load-files';
import { resolvers as PageBuilderResolvers, mutations as PageBuilderMutations } from '@ax2/xms-page-builder';
const resolversArray = loadFilesSync(path.join(__dirname, './entities/**/resolver.ts'));
resolversArray.push(PageBuilderResolvers);
const Queries = mergeResolvers(resolversArray);
const mutationsArray = loadFilesSync(path.join(__dirname, './entities/**/mutation.ts'));
mutationsArray.push(PageBuilderMutations);
const Mutations = mergeResolvers(mutationsArray);
export const resolvers = {
...Queries,
...Mutations,
Upload: GraphQLUpload,
};
Merge the graphql type into your api src/graphql/type.ts
Example:
import * as path from 'path';
import { mergeTypeDefs } from '@graphql-tools/merge';
import { loadFilesSync } from '@graphql-tools/load-files';
import { types as PageBuilderTypes } from '@ax2/xms-page-builder';
const typesArray = loadFilesSync(path.join(__dirname, './entities/**/type.graphql'));
typesArray.push(MediaTypes);
typesArray.push(PageBuilderTypes);
export const typeDefs = mergeTypeDefs(typesArray);
Use package migrations src/graphql/type.ts
Example:
import * as dotenv from 'dotenv';
import { MigrateHelper } from '@ax2/xms-api-core';
dotenv.config();
// MySQL connection pool (set up on app initialisation)
const config = {};
const packages = [
'@ax2/xms-page-builder'
];
MigrateHelper(config, `${__dirname}/../migrations/`, packages);
How to use migration (run from root folder of your api)
See quip link
yarn migrate up 1 --all
yarn migrate up 1 --package @ax2/xms-page-builder
yarn migrate down 1 --package @ax2/xms-page-builder
yarn migrate add migration create_table_mytable --package @ax2/xms-page-builder
Available class
// Models function
export { Block, ContentBlock, Column, Row, Section, Page } from '@ax2/xms-page-builder';
// Graphql schema/resolver
export { resolvers, mutations, types } from '@ax2/xms-page-builder';
// Services
export { SectionService } from '@ax2/xms-page-builder';
// Helpers function
import { executeMigration } from '@ax2/xms-page-builder';
Front-end config examples
For example config see documentation
- Page (Page module configuration)
- Customclasses (Custom class module configuration)
- Section (Sections configuration to add to an entity to include page builder in dymanic pages)
- Block (Blocks configuration to add to an entity to include custom static block in dymanic pages)
- Customclasses Relation (Relation to use to add customclasses)