Backgrid.js is a set of components for building semantic and easily stylable data grid widgets

Overview

Backgrid.js

Build Status

Backgrid.js is a set of components for building semantic and easily stylable data grid widgets. It offers a simple, intuitive programming interface that makes easy things easy, but hard things possible when dealing with tabular data.

Features

The goal of Backgrid.js is to produce a set of core Backbone UI elements that offer you all the basic displaying, sorting and editing functionalities you'd expect, and to create an elegant API that makes extending Backgrid.js with extra functionalities easy.

Advantages

  • No Hungarian notations.
  • Solid foundation. Based on Backbone.js.
  • Semantic and easily stylable. Just style with plain CSS like you would a normal HTML table.
  • Low learning curve. Works with plain old Backbone models and collections. Easy things are easy, hards things possible.
  • Highly modular and customizable. Components are just simple Backbone View classes, customization is easy if you already know Backbone.
  • Lightweight. Extra features are separated into extensions, which keeps the bloat away.
  • Good documentation.
  • Well tested. Comes with 100s of test cases.

Supported browsers [1]:

  • Internet Explorer 8 [2]
  • Internet Explorer 9+
  • Chrome 4+
  • Safari 4+
  • Firefox 4+
  • Opera 9+

Notes:

  • [1]: Both the desktop and mobile versions of the above browsers are supported.
  • [2]: With the exception of the Filter extension's search icon CSS.

Example

element }]; // Initialize a new Grid instance var grid = new Backgrid.Grid({ columns: columns, collection: territories, }); // Render the grid and attach the Grid's root to your HTML document $("#example-1-result").append(grid.render().el);">
var Territory = Backbone.Model.extend({});

var Territories = Backbone.Collection.extend({
  model: Territory,
  url: "examples/territories.json"
});

var territories = new Territories();

// Fetch some countries from the url
territories.fetch();

// Column definitions
var columns = [{
  name: "id", // The key of the model attribute
  label: "ID", // The name to display in the header
  editable: false, // By default every cell in a column is editable, but *ID* shouldn't be
  // Defines a cell type, and ID is displayed as an integer without the ',' separating 1000s.
  cell: Backgrid.IntegerCell.extend({
    orderSeparator: ''
  })
}, {
  name: "name",
  label: "Name",
  // The cell type can be a reference of a Backgrid.Cell subclass, any Backgrid.Cell subclass instances like *id* above, or a string
  cell: "string" // This is converted to "StringCell" and a corresponding class in the Backgrid package namespace is looked up
}, {
  name: "pop",
  label: "Population",
  cell: "integer" // An integer cell is a number cell that displays humanized integers
}, {
  name: "percentage",
  label: "% of World Population",
  cell: "number" // A cell type for floating point value, defaults to have a precision 2 decimal numbers
}, {
  name: "date",
  label: "Date",
  cell: "date",
}, {
  name: "url",
  label: "URL",
  cell: "uri" // Renders the value in an HTML  element
}];

// Initialize a new Grid instance
var grid = new Backgrid.Grid({
  columns: columns,
  collection: territories,
});

// Render the grid and attach the Grid's root to your HTML document
$("#example-1-result").append(grid.render().el);

Result:

Take a look here.

More Examples

Are you kidding me? This is a README file. Go to the documentation to find out more :)

License

Copyright (c) 2013-present Cloudflare, Inc. Licensed under the MIT license.

Comments
  • BooleanCell issue with editing

    BooleanCell issue with editing

    I'm using master per https://github.com/wyuenho/backgrid/issues/128.

    If the BooleanCell is not editable, clicking the checkbox doesn't do anything. If it is editable, it will go into edit mode. Once in edit mode I can't click the checkbox to edit it. Clicking will just take it out of edit mode. The only way I can get it to edit is by using the keyboard (spacebar).

    Is this by design? I would like to be able to click the checkbox with my mouse.

    Thanks.

    bug 
    opened by JoshClose 42
  • Convert backbone collection used in backgrid to CSV format

    Convert backbone collection used in backgrid to CSV format

    Hi, I saw a couple of posts related to this but no answer. Is there an existing method to convert the underlying backgrid collection to comma delimited text? I will then send this text to the backend for user download.

    wontfix 
    opened by mparisi76 27
  • custom comparator

    custom comparator

    Question: what would be the canonical approach to implementing a custom sort comparator for PageableCollections in Client mode? Looking to use an ignoreCase sorting fn for strings. Tried overriding the comparator in the collection def, but it seems to fallback to native or _cid sorting. Tried to extend the HeaderCell view and pass in a new comparator def there, but not yet successful. What would be your approach? Many thanks!

    bug enhancement 
    opened by larryhengl 25
  • Rerender cell on model attribute update

    Rerender cell on model attribute update

    Great great library, your work on this is much appreciated.

    How do you suggest I force a re-render of a row on the model being updated externally?

    I have an 'Actions' column with a button that does something that could update the model.

    It seems that I then need to re-render each cell in the row, but the issue is I don't have access to the current row and child cells from an event handler in my Backgrid.Cell.extend({...})

    enhancement 
    opened by TimNZ 25
  • Add full support for AMD (without shim)

    Add full support for AMD (without shim)

    Backbone v1.1.1 now supports AMD. When using an AMD shimmed Backgrid with Backbone v1.1.1, I get this error.

      var $ = Backbone.$;
    

    throws a Cannot read property $ of undefined error.

    It'd be great if Backgrid fully supported AMD.

    I believe the returnExports or returnExportsGlobal UMD pattern would probably work.

    ES6 Modules can't come soon enough.

    enhancement 
    opened by twalker 17
  • Cannot call method 'exitEditMode' of undefined

    Cannot call method 'exitEditMode' of undefined

    I had the following error

    Uncaught TypeError: Cannot call method 'exitEditMode' of undefined backgrid.js?bust=1373995691863:2288 Backgrid.Body.Backbone.View.extend.moveToNextCell backgrid.js?bust=1373995691863:2288 triggerEvents backbone.js?bust=1373995691863:206 Backbone.Events.trigger backbone.js?bust=1373995691863:146 _.extend._onModelEvent backbone.js?bust=1373995691863:933 triggerEvents backbone.js?bust=1373995691863:207 Backbone.Events.trigger backbone.js?bust=1373995691863:147 Backgrid.InputCellEditor.CellEditor.extend.saveOrCancel backgrid.js?bust=1373995691863:663 jQuery.event.dispatch jquery.js?bust=1373995691863:3074 jQuery.event.add.elemData.handle

    with something like that

        // ....
        initialize: function(options) {
          options = options || {};
          this.grid = new Backgrid.Grid({
            columns: [
              {
                name: '',
                cell: Backgrid.Extension.SelectRowCell,
                headerCell: Backgrid.Extension.SelectAllHeaderCell
              },
              {
                name: 'id',
                className: 'id',
                label: 'Person ID',
                cell: 'id',
                editable: false,
                sortable: false
              },
              {
                name: 'year',
                className: 'year',
                label: 'Year',
                cell: 'integer',
                editable: false,
                sortable: true
              },
              {
                name: 'quality',
                className: 'quality',
                label: 'Quality',
                cell: 'integer',
                sortable: true
              },
              {
                name: 'contact',
                label: 'Contact',
                cell: 'integer',
                sortable: true
              }
            ],
            collection: this.collection // <- PageableCollection instance
          });
       },
       //...
    

    I did consider making a fork... but for 3 lines of duckpunch fix..

    Backgrid.Cell.prototype.exitEditMode = function () {
      this.$el.removeClass("error");
      if (this.currentEditor) { // 1
        this.currentEditor.remove();
      } // 2
      this.stopListening(this.currentEditor);
      delete this.currentEditor;
      this.$el.removeClass("editor");
      this.render();
    };
    
    
    
    Backgrid.Body.prototype.moveToNextCell = function (model, column, command) {
      var i = this.collection.indexOf(model);
      var j = this.columns.indexOf(column);
      if (j < 0) {return;} // 3
    
      if (command.moveUp() || command.moveDown() || command.moveLeft() ||
          command.moveRight() || command.save()) {
        var l = this.columns.length;
        var maxOffset = l * this.collection.length;
    
        if (command.moveUp() || command.moveDown()) {
          var row = this.rows[i + (command.moveUp() ? -1 : 1)];
          if (row) row.cells[j].enterEditMode();
        }
        else if (command.moveLeft() || command.moveRight()) {
          var right = command.moveRight();
          for (var offset = i * l + j + (right ? 1 : -1);
               offset >= 0 && offset < maxOffset;
               right ? offset++ : offset--) {
            var m = ~~(offset / l);
            var n = offset - m * l;
            var cell = this.rows[m].cells[n];
            if (cell.column.get("renderable") && cell.column.get("editable")) {
              cell.enterEditMode();
              break;
            }
          }
        }
      }
    
      this.rows[i].cells[j].exitEditMode();
    };
    

    I thought it would be a bit to much :)

    BTW: thanks a lot for the awesome lib!

    duplicate 
    opened by zeropaper 17
  • No Way (That I Can Tell) To Change Target Attribute on UriCells

    No Way (That I Can Tell) To Change Target Attribute on UriCells

    When you use UriCell to generate an <a> tag, that tag automatically comes with a target="_blank". While I understand I can write my own cell to get any target attribute I might want, this seems like an awfully opinionated behavior for the base library to have. Would it be possible to add some sort of option to UriCell to set the target attribute, or failing that an option to remove it entirely?

    enhancement 
    opened by machineghost 17
  • Class 'SelectAllHeaderCell' not found

    Class 'SelectAllHeaderCell' not found

    Hello I am trying to add a checkbox like this but I am facing an error. which is

    Uncaught ReferenceError: Class 'SelectAllHeaderCell' not found

    Here is the code

    
    
    var grid1 = new Backgrid.Grid({
      columns: [ {
        name: "name",
        label: "Territory",
        cell: "string"
      },
      {
    
        // name is a required parameter, but you don't really want one on a select all column
        name: "",
    
        // Backgrid.Extension.SelectRowCell lets you select individual rows
        cell: "select-row",
    
        // Backgrid.Extension.SelectAllHeaderCell lets you select all the row on a page
        headerCell: "select-all",
    
      }],
    
      collection: new Backbone.Collection([
        {"name": "Afghanistan"},
        {"name": "Albania"}
      ])
    });
    
    $("#dayResult").append(grid1.render().el);
    
    
    

    Can you please tell why am I getting this error

    opened by Gardezi1 15
  • getSelectedModels() returns undefined after a collection reset

    getSelectedModels() returns undefined after a collection reset

    The select-all extension getSelectedModels() returns undefined models if a collection reset occurs whilst there are selections. Possibly SelectAllHeaderCell should listen for collection reset events and set selectedModels to {}.

    bug 
    opened by christinedraper 15
  • Filter not work after selecting pages from pagination

    Filter not work after selecting pages from pagination

    Perform the following steps:

    1. Search in the box >> It'll work
    2. Jump to page 5/6/7/8 and Search again >> Filters will stop working

    Then Jump to any page, filter won't work

    opened by saurabhiam 15
  • Sort not sorting full collection

    Sort not sorting full collection

    Hi,

    From reading the java docs, I was under the impression that sorting a PageableCollection would sort the entire collection, however I'm seeing that only the current page gets sorted. Any thoughts on why this would happen?

    Thanks.

    invalid 
    opened by mparisi76 15
  • Supporting child rows

    Supporting child rows

    I am using backgrid js plugin in my application. I need to support child rows feature asap. Is there a way to create child rows.

    My backgrid table has user id and some other details. Each user can have many entries. For each user i want to show his user id as main row and each entry associated with user id as a child row.

    Thanks in advance!

    opened by saicharan1794 0
  • Null pointer reference when

    Null pointer reference when

    issue

    In 0.38, when clicking a column header to sort I got this error:

        backgrid.js:2489 Uncaught TypeError: Cannot read property 'row' of undefined
        at backgrid.js:2489
    

    solution

    The issue appears to be in the method refresh which refers to this in a different scope. It's resolvable by keeping a reference to this in the method and referring to that inside the loop. The following method can be patched in:

      Backgrid.Body.prototype.refresh =function () {
        for (var i = 0; i < this.rows.length; i++) {
          this.rows[i].remove();
        }
        var self = this;   // NEW
        this.rows = this.collection.map(function (model) {
          var row = new self.row({                 // CHANGE `this` TO `self`
            columns: self.columns,                 // CHANGE `this` TO `self`
            model: model
          });
    
          return row;
        }, this);
        this._unshiftEmptyRowMayBe();
        this.render();
        this.collection.trigger("backgrid:refresh", this);
        return this;
      }
    ```### 
    opened by pietersv 0
  • [Feature Request] Expose comparator per column. sortValue does not work for special cases.

    [Feature Request] Expose comparator per column. sortValue does not work for special cases.

    sortValue is a great helper, but not enogh in my case. Please see https://jsfiddle.net/ntodorov/3zaw3hdr/ The gist of it - if you have a column with values like paragraph numbers:

    var numbers = [{pn: "2.10"}, 
      {pn: "66.9.90008.56.5"}, 
      {pn: "1.1"},
      {pn: "1.2"},
      {pn: "1.12"},
      {pn: "2.10.1"},
      {pn: "2.10.4"},
      {pn: "0"}];
    

    just giving formated option does not cut it. Better to say I do not see it working with different dot levels that need to be compared. One could have 0 dots the other 5, meaning the comparator needs to compare level by level.

    In my jsfiddle the issue is visible and my comparator there sorts perfectly, but I cannot attach it to the column. If you click on the title, it ignores the custom comparator of the collection and creates internal that sorts as a string and that's not the desired order.

    Is it possible to expose a property for comparator?

    Thanks, Nik

    opened by ntodorov 0
  • Errors in the filter documentation

    Errors in the filter documentation

    The grids at http://backgridjs.com/ref/extensions/filter.html do not render because of js errors.

    Console.log():

    filter.html:299 Uncaught TypeError: Cannot read property 'extend' of undefined at filter.html:299 (anonymous) @ filter.html:299 (unknown) Uncaught TypeError: Cannot read property 'fullCollection' of undefined at child.initialize (eval at (bundle.js:321), :261:58) at child.Backbone.View (eval at (bundle.js:330), :1192:21) at child [as constructor] (eval at (bundle.js:330), :1852:41) at new child (eval at (bundle.js:330), :1852:41) at eval (eval at (eval at (bundle.js:60)), :4:34) at eval () at HTMLTextAreaElement.eval (eval at (bundle.js:60), :51:26) at Function.each (eval at (bundle.js:87), :365:19) at jQuery.fn.init.each (eval at (bundle.js:87), :137:17) at setUpCodeMirror (eval at (bundle.js:60), :35:30)

    opened by gloomytree 0
  • Module not found: Error: Can't resolve 'backgrid/lib/backgrid.css'

    Module not found: Error: Can't resolve 'backgrid/lib/backgrid.css'

    Reference: https://github.com/webpack-contrib/css-loader/issues/567#issuecomment-316766743

    I am facing this issue only with backgrid.css while importing using syntax: @import '~backgrid/src/backgrid.css'; other module imports are working without any issue.

    Has anyone idea why it gives reference error ?

    opened by imsurinder90 0
Releases(0.3.8)
  • 0.3.5(Jan 21, 2014)

    Bug fixes:

    • Fixed regression with EmptyText where it's hidden since 0.3.0. (#431)
    • Fixed regression with goBackFirstOnSort for server mode. (wyuenho/backgrid-paginator#15)

    Improvements:

    • PageHandle now adds its classes on render and delegates back to backbone-pageable's get*Page methods in case it is a control handle.
    Source code(tar.gz)
    Source code(zip)
  • 0.3.4(Jan 17, 2014)

    Bugfixes

    • Fix bug where when a PageableCollection is used, the previously sorted column's sort caret wouldn't reset after sorting on a different column. (#429)
    • Fix Backgrid.callByNeed for IE8.
    • Fix bug in IE8 caused by SelectCell's use of Array#indexOf. (#421)
    • bower.json's dependency section now declare jquery's min version to be 1.10.2.
    • Fix test cases for IE8

    Changes

    • The anchor in sortable headers no longer renders an underline
    Source code(tar.gz)
    Source code(zip)
  • 0.3.3(Jan 14, 2014)

  • 0.3.2(Jan 11, 2014)

  • 0.3.1(Jan 10, 2014)

    Bug fixes

    • Core
      • Grid#sort wasn't given a context. (#417)
      • Calling Grid#sort will now reset the columns' sorting carets correctly. (#417, #422)
      • SelectCell no longer broken on IE8. (#421)
      • Default sortValue comparator now no longer compares lexicographically. (#420)
    • Filter
      • Fixed broken styling on iOS 6. (wyuenho/backgrid-filter#25)
    Source code(tar.gz)
    Source code(zip)
  • 0.3.0(Jan 8, 2014)

    New

    • Core
      • PercentFormatter
      • Formatters now accept an extra model parameter. (#263)
      • Column sortType for using asc/dec/insertion-order 3-way sorting or asc/dec 2-way sorting.
      • Column sortValue for extracting value for sorting from the model, and editable, sortable and renderable can now be functions. (#168, #219, #226)
      • The column's name is now added to the column header class list. (#214)
      • Ability to put the grid in a default sorted state and sorting programmatically.
      • The header can now be turned off.
      • Easier override of title and target for UriCell. (#242)
      • SelectCell.optionValues can now be a function
      • HeaderCell will rerender is the column's name or label has changed.
      • Trigger backgrid:next when the user is trying to move focus of a cell out of bound.
      • CommonJS support.
      • Official support for Bower and Component.
    • SelectAll
      • Toggles selected CSS class on the row.
      • Triggers backgrid:select-all on the collection when the select all checkbox is checked.
      • Grid#clearSelectedModels
      • Works with Backbone.PageableCollection under all modes now.
    • Paginator
      • Sliding window (wyuenho/backgrid-paginator#2)
    • Filter
      • Much better looking styling, dropped IE8 support.
      • Allow custom template to be supplied from the constructor

    Changes

    • Core:
      • Replaced the make build system with Grunt
      • Moved all extensions into their own repositories
      • Much improved sorting. Sorting is now done in Body, where the HeaderCell merely triggers the right events and set the CSS classes. (#282)
      • HeaderCell no longer renders a sort caret if the column is not sortable
      • Removed all cell side borders
      • Center aligned column headers labels
      • All formatters are now specified to the column definition or a Cell subclass as a class, so no more type inconsistencies.
      • Sorting can be triggered by clicking anywhere on a HeaderCell
      • emptyText can now be a function. (#332)
      • SelectCell will now save the select value under all circumstances.
      • Requires Underscore ~1.5.2 and Backbone ~1.1.0.
    • Select2Cell
      • Requires select2 3.4.5.
    • MomentCell
      • Requires moment 2.1.0+.
    • TextCell
      • Requires Bootstrap 3.0.0+.
    • Filter
      • Removed dependency on Bootstrap.
      • Works backbone-pageable 1.4.4.
      • Use data attributes for event handler binding.
      • Show the clear button only when the search box is filled.
      • More flexible default work breaking Regexp for the ClientSideFilter to work for more langauges.
    • Paginator
      • The way to disable page handles and controls have been changed. Please read the docs for details.

    Bug fixes

    • Core
      • Fixed a number of errors resulted from moving focus to a different cell (#169, #177)
      • Fixed cell padding for IE
      • Fixed a JS error in IE8 in the Command class where the char reserved keyword was used (#195)
      • Fixed a number of CSS inconsistencies for multiple select for IE (#210, #258)
      • Correctly throw exceptions for optionValues inside SelectCell. (#274)
      • The checkbox of a BooleanCell is no longer checkable when its column's editable attribute is false. (#322)
      • Template variables no longer clash with global variables.
      • Unstyle IE 10 remove buttons on input boxes.
    • SelectAll
      • Cleanly remove references to unselected models (#207)
      • SelectRowCell and SelectAllCell will not be hidden by default. (#238)
    • Filter
      • Fixed issue where lunr.js is required even if LunrFilter is not used (#200)
      • No more RangeErrors when using Filter with Pageable and backgrid-paginator.
      • Clicking on a cell after filtering no longer fails. (#190)
      • Paging after filtering will no longer reset the collection. (#194)
      • Reset collection when the LunrFilter's search box is empty. (wyuenho/backgrid-filter#10)
      • Go back to the first page when on new search
    • Paginator
      • Many many bug fixes. This is basically a complete rewrite that's functionally on par with previous versions.
    • Select2Cell
      • Fixed many focus and CSS issues.
    • TextCell
      • Upgraded template and event handlers to support Bootstrap 3.
    Source code(tar.gz)
    Source code(zip)
  • 0.2.6(Jul 6, 2013)

    Bugfixes and Improvements

    • TextCell should trigger and error and highlight the text area if the formatter returns undefined. Issue #149
    • SelectCell and Select2Cell can now handle multiple selections. Issue #152
    • ServerSideFilter's query parameter will now persist across server mode pagination with PageableCollection. Issue #159
    • Paginator no longer requires the column definition list in its constructor.
    • Paginator will no long page into the negative under server mode and when there's no totalRecords set. Issue #33
    • DatetimeFormatter now accepts UNIX offset values and MomentFormatter now accepts both UNIX offset and UNIX timestamp values. Issue #145
    • The error class can now be applied to cells without going into edit mode.
    • SelectCellEditor will now save the value if there's only one option. Issue #153
    Source code(tar.gz)
    Source code(zip)
  • 0.2.5(Jul 6, 2013)

    New Features

    Bugfixes and Improvements

    • Select2Cell is now compatible with select2 3.3.x. Issue #89
    • MomentCell is now compatible with moment.js 2.0.0. Issue #80
    • Various bug fixes in backbone-pageable 1.2.1 and 1.2.2. Issue #110
    • Stop propagation of DOM events in cells. Issue #118
    • Fix sorting issue with server mode PageableCollection when using Backbone 1.0+. Issue #132
    • Fix bug where passing any other View constructor options other than model and collection will override the view options of all the other direct subviews'. Issue #137
    • TextCell doesn't throw an error anymore when cancelling editing an undefined model attribute. Issue #142
    • Switching focus on two different cells with invalid attributes no long content for focus. Issue #144
    • Setting a formatter in column definition should override the cell class' formatter. (Regression) Issue #140
    • Reorganized Backgrid events, all inter-View Backgrid events will now only be triggered from the model and/or collection. (Breaking Change) Issue #131
    • Paginator no longer derives from Footer and is now a stand-alone widget instead. (Breaking Change) Issue #120
    Source code(tar.gz)
    Source code(zip)
  • 0.2.0(Jul 6, 2013)

    New Features

    Bug Fixes and Improvements

    • Fixed issue with $ conflict in the core IIME. Issue #61
    • Fixed issue with multiple invalid cells mutually steal focus. Issue #64
    • Fixed issue where the paginator's handlers are off by one when the PageCollection's firstPage starts at 0. Issue #70
    • Fixed issue where grid components lost event handlers after rendering. Issue #71
    • Rectified decrepencies with the naming of various Backgrid Backbone events. Now all Backgrid Backbone event names are prefixed with 'backgrid:'.
    • null or undefined model values are now displayed as empty strings in the table cells.
    • Adjusted CellEditor inheritance hierachy, moved around a few DOM event handler.
    • resolveNameToClass can now take hyphenated names.
    • headerCell definition can now be specified by a string alias.
    • Upgraded dependencies. Backgrid now works with Backbone 1.0.0, Underscore 1.4.4, backbone-pageable 1.2.0, jQuery 1.9.1, select2 3.3.1, and lunrjs 0.2.3.
    Source code(tar.gz)
    Source code(zip)
  • 0.1.4(Jul 6, 2013)

  • 0.1.3(Jul 6, 2013)

    Bugfixes

    • Fixed 2 security vulnerabilities in SelectCellEditor and TextareaCellEditor.
    • Fixed a paginator regression TypeError when a server mode PageableCollection is supplied. Issue #52
    Source code(tar.gz)
    Source code(zip)
  • 0.1.2(Jul 6, 2013)

    Bugfixes and Improvements

    • Grids can now be initialized synchronously under any pagination mode. Issue #44, Issue #45, backbone-pageable 1.1.5
    • Allow the use of custom header, body, row and footer by supplying them in the grid constructor as options. Issue #40
    • Cells rerender themselves during display mode upon model attribute changes. Issue #37
    • Fixed bug where new rows aren't inserted into the body when the grid is initially empty. Issue #36
    • Paginator now displays a single page handle numbered 1 when the collection is empty. Issue #35
    • Grid now renders on columns reset. Issue #34
    • null or undefined values on a datetime type model attribute no longer throws an error. Issue #32, Issue #43
    • Backbone.PageableCollection no longer need to be present in order for the header to work. Issue #30
    • cursor: pointer for the sort carets in the header. Issue #29
    • Numbered paginator handlers no longer point to the wrong pages after clicking on the go to last page handle. Issue #28
    • Put rendered rows into a document fragment to speed up rendering of the grid body. Issue #26
    Source code(tar.gz)
    Source code(zip)
  • 0.1.1(Jul 6, 2013)

  • 0.1(Jul 6, 2013)

Owner
Cloudflare Archive
Cloudflare Archive
A custom element for rendering stylable (light DOM) Markdown

Motivation There are many web components these days to render Markdown to HTML. Here are a few: <zero-md> <marked-element> …and I’m sure many others H

Lea Verou 252 Dec 20, 2022
Grupprojekt för kurserna 'Javascript med Ramverk' och 'Agil Utveckling'

JavaScript-med-Ramverk-Laboration-3 Grupprojektet för kurserna Javascript med Ramverk och Agil Utveckling. Utvecklingsguide För information om hur utv

Svante Jonsson IT-Högskolan 3 May 18, 2022
Hemsida för personer i Sverige som kan och vill erbjuda boende till människor på flykt

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

null 4 May 3, 2022
Kurs-repo för kursen Webbserver och Databaser

Webbserver och databaser This repository is meant for CME students to access exercises and codealongs that happen throughout the course. I hope you wi

null 14 Jan 3, 2023
A high-resolution local database that uses precise algorithms to easily record data in local files within a project with persistent JSON and YAML support designed to be easy to set up and use

About A high-resolution local database that uses precise algorithms to easily record data in local files within a project with persistent JSON and YML

Shuruhatik 5 Dec 28, 2022
Retrieve paper citatation data from doi.org and Semantic Scholar.

citation-query Retrieve paper citatation data from doi.org and Semantic Scholar. Install Requires at least Node.js v14.14.0. npm install @uwdata/citat

UW Interactive Data Lab 6 Sep 30, 2022
A UI library by WeChat official design team, includes the most useful widgets/modules in mobile web applications.

WeUI - tailor-made for WeChat web service 中文版本 Introduction WeUI is an WeChat-like UI framework officially designed by the WeChat Design Team, tailor-

Tencent 26.6k Jan 2, 2023
A UI library by WeChat official design team, includes the most useful widgets/modules.

WeUI for 小程序 为微信小程序量身设计 概述 WeUI 是一套同微信原生视觉体验一致的基础样式库,由微信官方设计团队为微信内网页和微信小程序量身设计,令用户的使用感知更加统一。包含button、cell、dialog、 progress、 toast、article、actionsheet、

Tencent 14.5k Jan 4, 2023
💸 getting sponsored made easy with widgets !

Ponsor getting sponsored made easy through widgets Tech Stack A lot of different tech and soft wares were used to create Ponsor, here is a list of the

ashish 13 Jan 4, 2023
Better select widgets in vanilla javascript.

Select Better select widgets in vanilla javascript. The code is intentionally very simple and close to browser defaults. Usage <link rel="stylesheet"

Tobias Bengfort 2 Jun 17, 2022
waitlyst.js provides in-app widgets for collecting customer feedback & product analytics.

waitlyst.js provides in-app widgets for collecting customer feedback & product analytics. Track every event on your app Understand your users and how

Indextrus 8 Dec 3, 2022
easily building data structures that are serializable, validatable, and fully typed.

@davecode/structures [beta/wip] Structures is a TypeScript library for easily building data structure classes that are Serializable: Can convert rich

Dave Caruso 2 May 22, 2022
SET Revision is a website to help you identify "sets" in the card game SET.

Welcome to SET Revision! SET Revision is a website to help you identify "sets" in the card game SET. The code in this repository is aimed for learners

Benjamin Piper 2 Oct 3, 2022
A personal semantic search engine capable of surfacing relevant bookmarks, journal entries, notes, blogs, contacts, and more, built on an efficient document embedding algorithm and Monocle's personal search index.

Revery ?? Revery is a semantic search engine that operates on my Monocle search index. While Revery lets me search through the same database of tens o

Linus Lee 215 Dec 30, 2022
Experience Lab is a set of utilities that assist in creating instances of Microsoft Energy Data Services, performing data loads, and performing basic management operations.

Experience Lab - Microsoft Energy Data Services Build Status About Experience Lab is an automated, end-to-end deployment accelerator for Microsoft Ene

Microsoft 9 Dec 14, 2022
Semantic Release plugin to create and publish NuGet packages.

semantic-release-nuget semantic-release plugin to create and publish a NuGet package. Step Description verifyConditions Verify the presence of the NUG

DroidSolutions 6 Jan 2, 2023
⚡️🦕 A version semantic and fast package delivery network for Deno.

Deno PKG A version semantic and fast package delivery network for Deno. Examples Using a fixed version: https://pkg.deno.dev/[email protected]/fs/mod.ts htt

迷渡 9 Aug 14, 2022
The Blitz.js Recipe for installing @semantic-release/github.

semantic-release-github The Blitz.js Recipe for installing @semantic-release/github. blitz install custom-recipes/semantic-release-github -y More info

Custom Recipes 1 Apr 9, 2022