0.8.2 • Published 6 years ago

@auth0extend/extend-editor-react v0.8.2

Weekly downloads
14
License
MIT
Repository
github
Last release
6 years ago

Auth0 Extend Auth0 Extend Docs License

Extend Editor for React

Extend Editor can be integrated into your product to provide your users with a first-class, web-based development experience for extensions.

npm.io

It can be customized to provide your users with the most streamlined, built-in experience with just a few lines of code:

import React from 'react';
import { Component } from 'react';
import ExtendEditor from '@auth0extend/extend-editor-react';

export default class MyApp extends Component {
  render() {
    return (
      <div>
        <h1>My App</h1>
        <ExtendEditor
          settings={{
            hostUrl: 'your-auth0-extend-deployment-url',
            token: 'ey...',
            webtaskName: 'empty-function'
          }}
        />
      </div>
    );
  }
}

Install

From npm:

npm install @auth0extend/extend-editor-react --save

Usage

Props

NameTypeDescriptionDefault
settingsObjectExtend Editor configuration object. For more info click here.-
libUrlIntegerThe Url to the Extend Editor library.https://cdn.auth0.com/auth0-extend/1/extend-editor.js
onObjectThe handler for the Extend Editor events like didWebtaskLoad.-
heightIntegerThe heigh of the Extend Editor.450px
widthIntegerThe width of the Extend Editor.100%

Examples

Customizing the Editor

import React from 'react';
import { Component } from 'react';
import ExtendEditor from '@auth0extend/extend-editor-react';

export default class MyApp extends Component {
  render() {
    return (
      <div>
        <h1>My App</h1>
        <ExtendEditor
          settings= {{
            hostUrl: 'your-auth0-extend-deployment-url',
            token: 'ey...',
            webtaskName: 'empty-function',
            theme: 'light',
            allowSwitching: false
          }}
          height={500}
        />
      </div>
    );
  }
}

Note: For more information about settings click here.

Attaching to events

import React from 'react';
import { Component } from 'react';
import ExtendEditor from '@auth0extend/extend-editor-react';

export default class MyApp extends Component {
  onEditorDidSaveWebtask(data) {
    console.log(data);
  }

  onEditorError(data) {
    console.log(data);
  }

  render() {
    return (
      <div>
        <h1>My App</h1>
        <ExtendEditor
          settings= {{
            hostUrl: 'your-auth0-extend-deployment-url',
            token: 'ey...'
          }}
          on={{
            didSaveWebtask: this.onEditorDidSaveWebtask,
            error: this.onEditorError
          }}
        />
      </div>
    );
  }
}

Checking if editor is dirty

import React from 'react';
import { Component } from 'react';
import ExtendEditor from '@auth0extend/extend-editor-react';

export default class MyApp extends Component {
  render() {
    return (
      <div>
        <h1>My App</h1>
        <ExtendEditor
           ref={(c) => { this.ExtendEditor = c; }}
          settings= {{
            hostUrl: 'your-auth0-extend-deployment-url',
            token: 'ey...'
          }}
        />

        <button onClick={() => { console.log(this.ExtendEditor.isDirty()); }}>isDirty</button>
      </div>
    );
  }
}

What is Auth0 Extend?

We believe SaaS products should be easily extensible from within your product without deploying or maintaining servers. We make it easy for your customers, sales engineers, and partners to quickly extend your SaaS. We developed an Extensibility As A Service platform that accelerates time to value, it is called Auth0 Extend.

npm.io

Issue Reporting

If you have found a bug or if you have a feature request, please report them at this repository issues section.

Author

Auth0

License

This project is licensed under the MIT license. See the LICENSE file for more info.