ng-cds
v0.1.0
Published
Connects your Angular app to comfortable.io
Readme
Super duper CDS-Angular-Module
Basic Usage
Installation
$ bower install --save ng-cdsEnable the module:
var myAppModule = angular.module('MyApp', ['cdsApi']);Requirements
- If you want to use the news-list the module angular-moment is required. https://github.com/urish/angular-moment
Usage in controllers
Getting Data
Inside your controller you can make api calls either directly to the API or use a local source, such as a cache. If you want to make calls directly to the API, the arguments 'api', authToken and viewId are mandatory.
API calls
// provide viewId and credentials
var viewId = 'cfb06d23-bc2e-4cad-99e53-acc7cd3f7d8r';
var authToken = 'JWT eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXR0aW5nc0lkIjoiNmQwMzlkMGItMzVkYS00NjBiLWFiNTEtYjMzYzNhMmFmM2E3Iiwic2NvcGUiOlsicmVhZDpwcm9qZWN0X3ZpZXdzIl0sImlhdCI6MTQ0NTU4NzY1NiwiaXNzIjoiVW6MzZxIiwic3ViIjoiNmQ4YjM0NTYtMDBmZC00ODQzLWE2MTMtOTE2NmNlZmRjNTI2In0.EMHX95W_ym3ZvzohytPF8AM6msS7UERjrHSzS1oXsb0';
// api call
cdsApi.getContent('api', authToken, viewId).then(function(res) {
$scope.cdsData = res.YOUR_PROPERTY.childs;
});Local sources
// get data from a local source
cdsApi.getContent('/path/to/file.json').then(function(res) {
$scope.cdsData = res.YOUR_PROPERTY.childs;
});Caching
JSON files can be cached:
- Provide a path where the cachefiles should be placed i.e. "/assets/cdsCache/cacheFile.json"
- Provide a servertoken and the viewId
- Default TTL for the cachefiles is 5 minutes. You can pass a custom integer TTL as an argument (see example)
- IMPORTANT: Don't forget to copy the file "assets/phpCache.php" from the resources folder into the caching folder (i.e. "/assets/cdsCache/")
// api call with caching
var ttl = 10;
cdsApi.getContent('/path/toCacheFolder/cacheFile.json', serverToken, viewId, ttl).then(function(res) {
$scope.cdsData = res.YOUR_PROPERTY.childs;
});In case PHP runs on a different domain as your development server:
- Use an absolute URL i.e. "http://example.dev/assets/cdsCache/cacheFile.json"
- You may want to use an addon to enable CORS temporarily in your Browser: LINK
