• Stars
    star
    1,067
  • Rank 43,306 (Top 0.9 %)
  • Language
    JavaScript
  • License
    Other
  • Created over 11 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A web editor for creating and sharing RAML API specifications

API Designer

Gitter npm version Bower version

API Designer is a standalone/embeddable editor for RAML (RESTful API Modeling Language) written in JavaScript using Angular.JS. By default, the editor uses an in-browser filesystem stored in HTML5 Localstorage.

Examples of designing RAML with API Designer in the Wild

API Designer online

There is an online preview version of the API Designer, check it out a different branch.

Running Locally

npm install -g api-designer

api-designer

This will start a local designer instance using the in-browser filesystem.

Embedding

The following example details how to embed the API Designer:

<!doctype html>
<html>
<head>
  <meta charset="utf-8">
  <title>My App</title>
  <link rel="stylesheet" href="styles/api-designer-vendor.css">
  <link rel="stylesheet" href="styles/api-designer.css">
</head>
<body ng-app="ramlEditorApp">
<raml-editor></raml-editor>
<script src="scripts/api-designer-parser.js"></script>
<script>
  if (window.Worker) {
    // enable optional web worker for raml parsing 
    window.RAML.worker = new Worker('scripts/api-designer-worker.js#parser=./api-designer-parser.js&proxy=/proxy/');
  }
</script>
<script src="scripts/api-designer-vendor.js"></script>
<script src="scripts/api-designer.js"></script>
<script>
  // This part is needed only if you want to provide your own Persistance Implementation
  // Angular Module must match "ramlEditorApp"

  function myFileSystem($q, config, $rootScope) {
    var service = {};

    service.directory = function (path) {
      var deferred = $q.defer();

      // Your magic goes here:
      // Do deferred.resolve(data); to fulfull the promise or
      // deferred.reject(error); to reject it.

      // In case you want to send notifications to the user
      // (for instance, that he must login to save).
      // The expires flags means whether
      // it should be hidden after a period of time or the
      // user should dismiss it manually.
      $rootScope.$broadcast('event:notification', {message: 'Loading directory' + path, expires: true});

      return deferred.promise;
    };

    service.load = function (path, name) {
      var deferred = $q.defer();

      // Your magic goes here:
      // Do deferred.resolve(data); to fulfull the promise or
      // deferred.reject(error); to reject it.

      return deferred.promise;
    };

    service.remove = function (path, name) {
      var deferred = $q.defer();

      // Your magic goes here:
      // Do deferred.resolve(data); to fulfull the promise or
      // deferred.reject(error); to reject it.

      return deferred.promise;
    };

    service.save = function (path, name, contents) {
      var deferred = $q.defer();

      // Your magic goes here:
      // Do deferred.resolve(data); to fulfull the promise or
      // deferred.reject(error); to reject it.

      return deferred.promise;
    };

    return service;
  }

  angular.module('ramlEditorApp')
    .config(function (fileSystemProvider) {
      // Set myFileSystem as the filesystem to use
      fileSystemProvider.setFileSystemFactory(myFileSystem);
    });
</script>
<style>
  html,
  body {
    height: 100%;
  }
</style>
</body>
</html>

Contribution

If you want to contribute to this project, please read our contribution guide first.

License

Copyright 2013 MuleSoft, Inc. Licensed under the Common Public Attribution License (CPAL), Version 1.0

More Repositories

1

api-console

An interactive REST console based on RAML/OAS files
JavaScript
894
star
2

osprey

Generate Node.JS API middleware from a RAML definition
JavaScript
431
star
3

mule

Mule Community Edition
Java
387
star
4

api-notebook

Interactive API notebook
JavaScript
154
star
5

mule-transport-amqp

Mule AMQP Transport
Java
33
star
6

mule-maven-plugin

Maven plugins for Mule Runtime
Java
33
star
7

mule-migration-assistant

Migration Framework
Java
24
star
8

docs-connectors

Documentation for connectors
22
star
9

docs-mule-runtime

19
star
10

api-policies

Java
18
star
11

mule-api

Java
18
star
12

osprey-cli

The Command Line Interface (CLI) scaffolding tool to generate Osprey-based applications, ideally from a pre-defined RAML API spec, with just a single command.
CoffeeScript
18
star
13

apikit

APIkit is a tool for building REST APIs using MULE Runtime
JavaScript
16
star
14

mule-esb-maven-tools

ESB Maven Tools
Java
15
star
15

mule-db-connector

Java
14
star
16

data-weave-io

Everything that is related to IO support for data weave: file, HTTP, OAS/RAML, GraphQL
DataWeave
12
star
17

mule-cookbook

A basic web service that users can use to learn the features provided by the DevKit and incrementally learn to develop Connectors
Java
11
star
18

mule-http-connector

Java
11
star
19

docs-runtime-manager

11
star
20

mule-extensions-archetype

Java
9
star
21

docs-runtime-fabric

9
star
22

docs-studio

8
star
23

mule-wsc-connector

Java
8
star
24

docs-general

8
star
25

docs-access-management

7
star
26

mule-distributions

Java
6
star
27

mule-common

Mule Metadata shared APIs
Java
6
star
28

git-connector

Mule Git Connector
Java
6
star
29

mule-extensions-parent

Parent POM for SDK based extensions which are not shipped in the Mule distribution
Shell
6
star
30

docs-design-center

6
star
31

docs-dataweave

DataWeave
6
star
32

docs-api-manager

6
star
33

docs-monitoring

5
star
34

mule-oauth-module

Java
5
star
35

mule-ftp-connector

Java
5
star
36

hbase-connector

HBase Connector
Java
5
star
37

docs-object-store

5
star
38

mule-file-commons

Java
5
star
39

linkedin-connector

LinkedIn is a business-related social networking site. Founded in December 2002 and launched in May 2003, it is mainly used for professional networking. This connector allows you to interact with LinkedIn API.
Java
5
star
40

mule-integration-tests

Java
4
star
41

docs-hosting

4
star
42

mule-wsdl-parser

A parser for WSDL files written in kotlin.
Kotlin
4
star
43

mule-extensions-api

Mule Extensions API
Java
4
star
44

mule-assembly-verifier-plugin

Maven Assembly Verifier for Mule Build
Groovy
4
star
45

facebook-connector

Facebook Cloud Connector
Java
4
star
46

api-sync-tool

Tool that synchronizes an API in API platform with local filesystem
JavaScript
4
star
47

mule-objectstore-connector

Java
4
star
48

docs-mq

Java
4
star
49

mule-tool-schema-doc

XSLT
3
star
50

mule-sockets-connector

Java
3
star
51

docs-mule-sdk

3
star
52

mule-xml-module

Java
3
star
53

google-drive-connector

Mule connector for Google Drive API
Java
3
star
54

google-calendar-connector

Mule connector for Google Calendar API
Java
3
star
55

mule-tooling-incubator

Mule Tooling Incubator Projects
Java
3
star
56

docs-munit

3
star
57

docs-anypoint-security

3
star
58

mule-amazon-s3-connector-crud-app-demo

HTML
3
star
59

docs-service-mesh

3
star
60

mule-jms-connector

Java
3
star
61

data-weave-jwt-library

DataWeave
3
star
62

apikit-rest-module

HTML
3
star
63

mule-scripting-module

Java
3
star
64

google-spreadsheets-connector

Mule connector for Google Spreadsheets API
Java
3
star
65

mule-vm-connector

Java
3
star
66

mule-email-connector

Java
3
star
67

docs-composer

3
star
68

apikit-odata-extension

Extension module that enables OData into APIkit rest
Java
3
star
69

mule-custom-properties-providers-module-example

Example of mule module for creating a custom properties provider
Java
3
star
70

docs-exchange

2
star
71

docs-apikit

RAML
2
star
72

docs-visualizer

2
star
73

apikit-rest-scaffolder

Java
2
star
74

docs-functional-monitoring

2
star
75

docs-site-ui

This project produces the UI bundles used by the MuleSoft documentation sites.
Handlebars
2
star
76

docs-partner-manager

2
star
77

docs-connector-devkit

Java
2
star
78

data-weave-mock-data-generators-library

DataWeave
2
star
79

mule-file-connector

Java
2
star
80

mule-validation-module

Java
2
star
81

mule-cookbook-connector

Mule Cookbook Example - Connector Only
Java
2
star
82

api-gateway-custom-policies-examples

2
star
83

data-weave-analytics-library

DataWeave
2
star
84

jira-connector

JIRA is a proprietary issue tracking product, developed by Atlassian, commonly used for bug tracking, issue tracking, and project management.
Java
2
star
85

mule-cookbook-tutorial

Anypoint Devkit Tutorial for the Cookbook Service
Java
2
star
86

hubspot-connector

HubSpot all-in-one marketing software helps more than 8,000 companies in 56 countries attract leads and convert them into customers. A pioneer in inbound marketing, HubSpot aims to help its customers make marketing that people actually love.
Java
2
star
87

docs-gov-cloud

2
star
88

mule-ce-services-parent

Shell
2
star
89

docs-gateway

2
star
90

mule-compression-module

Java
2
star
91

mule-tooling-mock-connector

Mule Tooling Mock Connector
Java
2
star
92

documentum-connector

Documentum is an enterprise content management platform. Documentum provides management capabilities for all types of content. The core of Documentum is a repository in which the content is stored securely under compliance rules and a unified environment, although content may reside on multiple servers and physical storage devices within a networked environment. Documentum provides a suite of services, such as document management, collaboration, search, content classification, input management, Business Process Management (BPM), customer communication management, and Web content management.
Java
2
star
93

mule-http-service

Java
2
star
94

mule-soap-service

Java
1
star
95

apikit-rest-metadata-api

Java
1
star
96

mule3-tutorial-connector

1
star
97

mule-json-module

Java
1
star
98

mule-servicenow-connector-operations-demo

HTML
1
star
99

mule-module-maven-plugin

Maven plugin to work with mule modules
Java
1
star
100

mule-spring-module

Java
1
star