All Projects → benoror → ember-airtable

benoror / ember-airtable

Licence: MIT license
Boilerplate for quickly prototyping apps with Airtable, Node & Ember

Programming Languages

javascript
184084 projects - #8 most used programming language
HTML
75241 projects
CSS
56736 projects

Projects that are alternatives of or similar to ember-airtable

ember-data-contentful
Ember Data adapter for contentful.com
Stars: ✭ 33 (+57.14%)
Mutual labels:  ember, ember-addon, ember-data
Ember Impagination
An Ember Addon that puts the fun back in asynchronous, paginated datasets
Stars: ✭ 123 (+485.71%)
Mutual labels:  ember, ember-addon
Ember Lifeline
An Ember addon for managing the lifecyle of asynchronous behavior in your objects
Stars: ✭ 241 (+1047.62%)
Mutual labels:  ember, ember-addon
Ember Table
opensource.addepar.com/ember-table/
Stars: ✭ 1,695 (+7971.43%)
Mutual labels:  ember, ember-addon
Ember Graphql Adapter
GraphQL adapter for Ember Data
Stars: ✭ 244 (+1061.9%)
Mutual labels:  ember, ember-addon
Ember Content Placeholders
Composable components for rendering fake (progressive) content like facebook
Stars: ✭ 121 (+476.19%)
Mutual labels:  ember, ember-addon
Ember Service Worker
A pluggable approach to Service Workers for Ember.js
Stars: ✭ 227 (+980.95%)
Mutual labels:  ember, ember-addon
Ember Cli Stripe
Stripe checkout for Ember
Stars: ✭ 84 (+300%)
Mutual labels:  ember, ember-addon
Ember Cli Notifications
⚛ Atom inspired notification messages for ember-cli
Stars: ✭ 168 (+700%)
Mutual labels:  ember, ember-addon
Emberx Select
Select component for Ember based on the native html select element.
Stars: ✭ 202 (+861.9%)
Mutual labels:  ember, ember-addon
Ember Tooltips
Easy and extendible tooltips for Ember components - http://sir-dunxalot.github.io/ember-tooltips/
Stars: ✭ 205 (+876.19%)
Mutual labels:  ember, ember-addon
Ember Toggle
Checkbox based Toggle Switches for Ember
Stars: ✭ 111 (+428.57%)
Mutual labels:  ember, ember-addon
Ember Cli Postcss
🔥 A Postcss integration for ember-cli
Stars: ✭ 97 (+361.9%)
Mutual labels:  ember, ember-addon
Ember Wordpress
The bridge between Ember.js and Wordpress
Stars: ✭ 94 (+347.62%)
Mutual labels:  ember, ember-addon
Ember Cli Document Title
Adding document title behaviour to your ember app
Stars: ✭ 220 (+947.62%)
Mutual labels:  ember, ember-addon
Ember Form For
Stars: ✭ 136 (+547.62%)
Mutual labels:  ember, ember-addon
Ember Drag Sort
A sortable list component with support for multiple and nested lists
Stars: ✭ 82 (+290.48%)
Mutual labels:  ember, ember-addon
Ember Steps
Declaratively create wizards, tabbed UIs, and more
Stars: ✭ 84 (+300%)
Mutual labels:  ember, ember-addon
Ember Cli Addon Docs
Easy, beautiful docs for your OSS Ember addons
Stars: ✭ 162 (+671.43%)
Mutual labels:  ember, ember-addon
Ember Models Table
Table with pagination, sorting, filtering and much more
Stars: ✭ 212 (+909.52%)
Mutual labels:  ember, ember-addon

ember-airtable

Blog post: https://medium.com/@benoror/creating-an-ember-addon-for-airtable-api-d9e38d7bef97#.33q0r7hhm

Node Proxy (Optional): https://github.com/benoror/airtable-api-proxy

NPM

Download count all time Ember Observer Score Build Status PRs Welcome

Airtable

Ember addon for Airtable APIs

Dummy app: https://github.com/benoror/ember-airtable/tree/master/tests/dummy/app

*Originally based on: https://github.com/benoror/fieldbook-app

Usage

Install

ember install ember-airtable

Adapter

Use AirtableAdapter as you application's main adapter:

adapters/application.js:
import AirtableAdapter from "ember-airtable/adapter";

export default AirtableAdapter.extend({

  // API Version + Base ID
  namespace: 'v0/app_YOUR_AIRTABLE_BASE_KEY',

  headers: {
    'Accept': 'application/json',
    // API Token
    'Authorization': `Bearer key_YOUR_AIRTABLE_API_KEY`
  }
});

Serializer

Use AirtableSerializer as you application's main serializer:

serializers/application.js:
import AirtableSerializer from "ember-airtable/serializer";

export default AirtableSerializer.extend();

Models

If you want to skip persistance of certain attributes (ex. formula columns) add the readOnly option:

models/product.js:
import DS from 'ember-data';

export default DS.Model.extend({
  formula: DS.attr('string', { readOnly: true })
});

Querying Airtable API

You can use all of the API features when querying Airtable:

routes/products.js:
import Ember from 'ember';

export default Ember.Route.extend({
  model() {
    return this.store.query('product', {
      // Only data for fields whose names are in this list will be included in the records.
      fields: ['name', 'description'],
      // A formula used to filter records.
      filterByFormula: "NOT({name} = 'MacBook')",
      // The maximum total number of records that will be returned.
      maxRecords: 50,
      // The number of records returned in each request.
      pageSize: 10,
      // A list of sort objects that specifies how the records will be ordered.
      sort: [{field: "name", direction: "desc"}],
      // The name or ID of a view in the table. 
      view: 'active_products'
    });
  }
});

Development

Installation

  • git clone this repository
  • npm install
  • bower install

Running

Running Tests

  • npm test (Runs ember try:testall to test your addon against multiple Ember versions)
  • ember test
  • ember test --server

Building

  • ember build

For more information on using ember-cli, visit http://ember-cli.com/.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].