JSFiddle - React, Tailwind, and code Playground

by keemor

HTML

<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/dojo/1.6/dijit/themes/claro/claro.css">
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/dojo/1.6/dojox/grid/resources/claroGrid.css">
<div id="grid1"></div>
<div id="grid2"></div>

JavaScript

dojo.require("dojo.data.ObjectStore");
dojo.require("dojox.grid.DataGrid");
dojo.require("dojo.store.Memory");
dojo.require("dojo.store.util.SimpleQueryEngine");
dojo.ready(function() {

    var store1 = {
        queryEngine: dojo.store.util.SimpleQueryEngine
    };

    store1.get = function(id) {
        // Need to parse the string we get from backend:
        // ...if you've got localStorage, you've got JSON
        return JSON.parse(localStorage.getItem(id));
    };

    store1.put = function(object, options) {
        // Get the id, wherever it comes from
        var id = options && options.id || object.id;

        // Stringify data -- remember, StorageJS is a key/value backend wrapper.
        //var data = dojo.toJson(object);

        // Now save the data away
        localStorage.setItem(id, JSON.stringify(object));
    };

    store1.query = function(query, options) {
        var i= localStorage.length,
            item,
            data = [];

        // And convert it into a format that the
        // queryEngine can work with
        var data = [];
        while (i--) {
            console.log(localStorage.key(i), i);
            data.unshift(JSON.parse(localStorage[localStorage.key(i)]));
        }
        console.log(data);
        
        // Now call the queryEngine on the data
        var results = this.queryEngine(query, options)(data);

        // And return the result, after it has been
        // enhanced.
        return dojo.store.util.QueryResults(results);
    }

    var someData = [
        {
        id: 1,
        name: "One"},
    {
        id: 2,
        name: "Two"}
    ];
    var store2 = new dojo.store.Memory({
        data: someData
    });
    
       /* 
    store1.put({
        id: "1",
        name: "one"
    });
    store1.put({
        id: "2",
        name: "two"
    });
*/
    
    grid1 = new dojox.grid.DataGrid({
        store: dojo.data.ObjectStore({
            objectStore: store1
        }),
        structure: [
    ...