Auth0 Extend web-based editor
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src
test
.babelrc
.editorconfig
.gitignore
.npmignore
.nvmrc
CHANGELOG.md
LICENSE
README.md
npm-shrinkwrap.json
package.json
webpack.js

README.md

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.

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

Name Type Description Default
settings Object Extend Editor configuration object. For more info click here. -
libUrl Integer The Url to the Extend Editor library. https://cdn.auth0.com/auth0-extend/1/extend-editor.js
on Object The handler for the Extend Editor events like didWebtaskLoad. -
height Integer The heigh of the Extend Editor. 450px
width Integer The 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.

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.