Giter Club home page Giter Club logo

sciris-js's Introduction

sciris-js

Sciris-JS is the frontend counterpart to the Python web framework ScirisWeb.

Project setup

d3 is required to be added in the global scope by including the following in your html.

<script src="http://d3js.org/d3.v5.min.js"></script>

To install in the browser also include:

<script src="https://unpkg.com/sciris-js/dist/sciris-js.js"></script>

Using NPM in your node based projects:

npm install --save sciris-js 

Rebuild project for release

npm install
npm run build

billi is used for building this library.

Publish to NPM

To publish the latest version to npm first you need to update the version number in package.json and then:

npm publish

If you're not logged in you'll be prompted to enter your credentials in the CLI

Sciris Usage

import Vue from 'vue'
import sciris from 'sciris-js';

// If you want to install the vue components used by sciris-js in your app.
// options

Vue.use(sciris.ScirisVue, options)

The options can are used to control specific features:

options = {
  notifications: {
    disable: false,
  },
  spinner: {
    disable: false,
  },
  progressbar: {
    disable: false,
    options: {
      color: 'rgb(0, 0, 255)',
      failedColor: 'red',
      thickness: '3px',
      transition: {
        speed: '0.2s',
        opacity: '0.6s',
        termination: 300
      } 
    }
  }
}

You now have access to various scris tools such as:

sciris.graphs
sciris.rpcs
sciris.status
sciris.user
sciris.tasks
sciris.utils
sciris.mpld3

You can access sciris.mpld3.draw_figure directly via mpld3.draw_figure

You can refrence the functions provided by sciris directly via the shorthands:

sciris.rpc(...)
sciris.succeed(...)
sciris.loginCall(...)

Or you can use the full paths of the functions

sciris.rpcs.rpc(...)
sciris.rpcs.download(...)
sciris.status.succeed(...)
sciris.user.loginCall(...)

Events

You can also listen to events occured inside sciris by:

import sciris from 'sciris-js';

sciris.EventBus.$on(event, callback)

Events include

Name Args Description
status:start vm Task has been started
status:update vm, progress Porgress of a task has been updated
status:success vm, notif A task has succeeded. It will pass a notification object if it can.
status:fail vm, notif A task has failed. It will pass a notification object if it can.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.