Skip to content

Dialogs for listing, loading, and saving CWRC XML documents

License

Notifications You must be signed in to change notification settings

cwrc/cwrc-git-dialogs

Repository files navigation

cwrc-git-dialogs

Picture

Travis Codecov version downloads GPL-2.0 semantic-release Commitizen friendly experimental

  1. Overview
  2. Demo
  3. Installation
  4. API
  5. Use
  6. Development

Overview

A suite of dialogs for loading, saving, and listing files. Meant to be used in conjunction with CWRC-GitWriter. Relies upon an instance of CWRC-GitServer to make calls to GitHub.

Demo

The CWRC-GitWriter Sandbox is running an instance of CWRC-GitWriter, which uses the NPM package published from this repository along with the code in CWRC-WriterBase. There is a corresponding server component running CWRC-GitServer and CWRC-Git. The same code is easily (for someone with modest development experience) installed on any server to run your own instance. If you are looking to put together your own CWRC-Writer, CWRC-GitWriter is a good place to start.

Installation

npm install cwrc-git-dialogs

API

Methods used by CWRC-WriterBase

save(CWRC-WriterBase writer)

Spawns a popup prompting the user to save or pull request the current document to a GitHub repository.

load(CWRC-WriterBase writer)

Spawns a popup prompting the user to load a document from a GitHub repository.

getDocumentURI()

Returns a string representing the URI of the current document.

getUserInfo()

Returns an object with the following properties: userId, userName, userUrl.

logOut()

Removes the GitHub OAuth token and reloads the page.

Additional configuration methods

setServerURL(String url)

Sets the URL for the location of the CWRC-GitServer instance.

useGitLab(Boolean useIt)

Whether to use GitLab API formatted calls. Defaults to false.

Use

When setting up CWRC-Writer, you register this module with a CWRC-WriterBase instance by passing it as a property on the config object used when instantiating the instance. After registering the module, CWRC-WriterBase will call this module's methods as required.

A simplified example:

import GitStorageDialogs from "cwrc-git-dialogs";
const config = {
  storageDialogs: GitStorageDialogs
};
const CWRCWriter = require("cwrc-writer-base");
const writer = new CWRCWriter(config);

See https://github.com/cwrc/CWRC-GitWriter/blob/master/src/js/app.js for the full example.

Development

CWRC-Writer-Dev-Docs explains how to work with CWRC-Writer GitHub repositories, including this one.