JSFiddle - React, Tailwind, and code Playground

by russau

HTML

<script src="https://sdk.amazonaws.com/js/aws-sdk-2.1.26.min.js"></script>
<div class="container theme-showcase" role="main">
    <div class="col-sm-8">
        <div class="form-group">
            <label class="col-sm-2 control-label">access key</label>
            <div class="col-sm-10">
                <input type="text" class="form-control" id="accessKeyId" value="AKIAIU5RSV5SQIMPMHSA" />
            </div>
        </div>
        <div class="form-group">
            <label class="col-sm-2 control-label">secret</label>
            <div class="col-sm-10">
                <input type="password" class="form-control" id="secretAccessKey" />
            </div>
        </div>
        <button class="btn btn-default" id="queryTable">Query Table</button>
        <button class="btn btn-default" id="insertPlayer">Insert player</button>
        <button class="btn btn-default" id="getPlayerList">Get Player List</button>
        <button class="btn btn-default" id="getClicks">Get Clicks</button>
    </div>
</div>

JavaScript

var intervalHandle;

$('#startPolling').click(function () {
    var polling = $(this).is(':checked');
    if (polling) intervalHandle = window.setInterval(pollDynamo, 3000);
    else window.clearInterval(intervalHandle);
});

function pollDynamo() {


    var dynamodb = new AWS.DynamoDB();

    var params = {
        TableName: 'Friends' /* required */
    };
    dynamodb.describeTable(params, function (err, data) {
        if (err && err.code === 'ResourceNotFoundException') {
            $('#createGlyph').removeClass('glyphicon-ok-sign').addClass('glyphicon-remove-sign');
        } else if (err) {
            console.log(err, err.stack); // an error occurred
        } else {
            $('#createGlyph').removeClass('glyphicon-remove-sign').addClass('glyphicon-ok-sign');
        }
    });
}

$('#createTable').click(function () {
    var params = {
        AttributeDefinitions: [{
            AttributeName: 'User',
            AttributeType: 'S'
        }, {
            AttributeName: 'City',
            AttributeType: 'S'
        }],
        KeySchema: [ /* required */ {
            AttributeName: 'User',
            /* required */
            KeyType: 'HASH' /* required */
        }, {
            AttributeName: 'City',
            /* required */
            KeyType: 'RANGE' /* required */
        }],
        ProvisionedThroughput: { /* required */
            ReadCapacityUnits: 1,
            /* required */
            WriteCapacityUnits: 1 /* required */
        },
        TableName: 'Friends' /* required */
    }

    var dynamodb = new AWS.DynamoDB();
    dynamodb.createTable(params, function (err, data) {
        if (err) console.log(err, err.stack); // an error occurred
        else console.log(data); // successful response
    });
});

$('#populateTable').click(function () {
    var table = new AWS.DynamoDB({
        params: {
            TableName: 'Friends'
        }
    });
    var countriesArr = $('#friends').val().split('\n');
   ...