@ax2/xms-page-builder
TypeScript icon, indicating that this package has built-in type declarations

0.17.0 • Public • Published

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)

Readme

Keywords

none

Package Sidebar

Install

npm i @ax2/xms-page-builder

Weekly Downloads

1

Version

0.17.0

License

MIT

Unpacked Size

211 kB

Total Files

145

Last publish

Collaborators

  • ax2-owner