19.2.1 • Published 2 months ago

@ima/react-page-renderer v19.2.1

Weekly downloads
-
License
MIT
Repository
github
Last release
2 months ago

@ima/react-page-renderer

Adds support for rendering pages with React for IMA@18 and higher. For legacy IMA@17 use page renderers included in core package.

Installation

npm install @ima/react-page-renderer

Usage

app/config/bind.js

import {
  defaultCssClasses as cssClassNameProcessor,
  PageRendererFactory,
  ServerPageRenderer,
} from '@ima/react-page-renderer';
import { ClientPageRenderer } from '@ima/react-page-renderer/renderer/ClientPageRenderer';

export default (ns, oc, config) => {
  oc.bind('$CssClasses', function () {
    return cssClassNameProcessor;
  });

  oc.get(ComponentUtils).register({
    $CssClasses: '$CssClasses',
  });

  oc.inject(PageRendererFactory, [ComponentUtils]);
  oc.bind('$PageRendererFactory', PageRendererFactory);

  if (oc.get(Window).isClient()) {
    oc.provide(PageRenderer, ClientPageRenderer, [
      PageRendererFactory,
      '$Helper',
      '$Dispatcher',
      '$Settings',
      Window,
    ]);
  } else {
    oc.provide(PageRenderer, ServerPageRenderer, [
      PageRendererFactory,
      '$Helper',
      '$Dispatcher',
      '$Settings',
      Cache,
    ]);
  }
  oc.bind('$PageRenderer', PageRenderer);
};

If your app is using legacy React@17, use legacy client page renderer instead of the default one.

import { ClientPageRenderer } from '@ima/react-page-renderer/renderer/LegacyClientPageRenderer';

app/config/settings.js

import DocumentView from 'app/document/DocumentView';

export default (ns, oc, config) => {
  return {
    prod: {
      $Page: {
        $Render: {
          documentView: DocumentView,
          masterElementId: 'page',
        },
      },
    },
  };
};

server/app.js

// You should already have this line in your file
const imaServer = require('@ima/server')();

require('@ima/react-page-renderer/hook/server')(imaServer);

Components

import { AbstractComponent, AbstractPureComponent } from '@ima/react-page-renderer';

export default class MyComponent extends AbstractComponent {}
19.2.1

2 months ago

19.2.0

8 months ago

19.0.4

11 months ago

19.1.0

9 months ago

19.0.3

11 months ago

19.0.2

1 year ago

19.0.1

1 year ago

19.0.0

1 year ago

19.0.0-rc.15

1 year ago

19.0.0-rc.16

1 year ago

19.0.0-rc.11

1 year ago

19.0.0-rc.12

1 year ago

19.0.0-rc.13

1 year ago

19.0.0-rc.14

1 year ago

19.0.0-rc.10

1 year ago

19.0.0-rc.8

1 year ago

19.0.0-rc.9

1 year ago

19.0.0-rc.6

1 year ago

19.0.0-rc.7

1 year ago

19.0.0-rc.0

1 year ago

19.0.0-rc.1

1 year ago

19.0.0-rc.2

1 year ago

19.0.0-rc.3

1 year ago

18.2.0

1 year ago

19.0.0-rc.4

1 year ago

19.0.0-rc.5

1 year ago

18.1.6

1 year ago

18.1.5

1 year ago

18.1.4

1 year ago

18.0.0-rc.28

1 year ago

18.0.0-rc.27

1 year ago

18.1.3

1 year ago

18.1.2

1 year ago

18.1.1

1 year ago

18.1.0

1 year ago

18.0.1

1 year ago

18.0.0

1 year ago

18.0.0-rc.20

2 years ago

18.0.0-rc.22

1 year ago

18.0.0-rc.21

2 years ago

18.0.0-rc.24

1 year ago

18.0.0-rc.23

1 year ago

18.0.0-rc.26

1 year ago

18.0.0-rc.25

1 year ago

18.0.0-rc.17

2 years ago

18.0.0-rc.19

2 years ago

18.0.0-rc.18

2 years ago

18.0.0-rc.11

2 years ago

18.0.0-rc.10

2 years ago

18.0.0-rc.13

2 years ago

18.0.0-rc.12

2 years ago

18.0.0-rc.15

2 years ago

18.0.0-rc.16

2 years ago

18.0.0-rc.9

2 years ago

18.0.0-rc.8

2 years ago

18.0.0-rc.7

2 years ago

18.0.0-rc.6

2 years ago

18.0.0-rc.5

2 years ago

18.0.0-rc.2

2 years ago

18.0.0-rc.1

2 years ago

18.0.0-rc.0

2 years ago