GithubHelp home page GithubHelp logo

nowzoo / sheetload Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 265 KB

Load stylesheets dynamically. Also scripts.

Home Page: https://nowzoo.github.io/sheetload/

License: MIT License

JavaScript 15.60% TypeScript 65.84% HTML 16.82% CSS 0.24% Shell 1.50%
stylesheets scripts javascript javascript-loader stylesheet-loader css-loader

sheetload's Introduction

Sheetload

Load stylesheets dynamically. Also scripts.

Quick Start

npm i @nowzoo/sheetload --save

Load a stylesheet...

import { Sheetload } from '@nowzoo/sheetload';
//...
Sheetload.load(url)
  .then((el: HTMLLinkElement) => {
    //links are disabled at this point...
    el.removeAttribute(el, 'disabled')
  })
  .catch((error: any) => {
    //...
  })

Load a script...

import { Scriptload } from '@nowzoo/sheetload';
//...
Scriptload.load(url)
  .then((el: HTMLScriptElement) => {
    //...
  })
  .catch((error: any) => {
    //...
  })

API

Sheetload

static load(url: string): Promise<HTMLLinkElement>

Loads a stylesheet, resolving with a newly created link element when it loads.

Note: The element's disabled attribute is set. You are responsible for enabling it:

this.renderer.removeAttribute(link, 'disabled');

Note: The element is appended to document.head. You are responsible for tracking the link tags yourself to prevent duplication.

Scriptload

static load(url: string): Promise<HTMLScriptElement>

Loads a script, resolving with a newly created script element when the script loads.

Note: The element is appended to document.head. You are responsible for tracking the script elements yourself to prevent duplication.

Elementload

static load(el: HTMLElement): Promise<HTMLElement>

Given an element, listens for load and error events. Resolves on load, rejects on error.

Contributing

Contributions are welcome.

git clone https://github.com/nowzoo/sheetload.git
npm i
ng build sheetload --prod

The library code is located under projects/sheetload.

Testing the library...

ng test sheetload

You can also use Wallaby for testing. Use the config found at projects/sheetload/wallaby.js.

Building the library...

ng build sheetload --prod

The demo code is in src. Run the demo locally...

# Build the current version of the library first...
ng build ngx-highlight-js --prod

ng serve --open

License

MIT

sheetload's People

Contributors

cdcarson avatar

Watchers

 avatar

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.