o: ActiveSupport::Cache::Entry :@compressedF:@expires_in0:@created_atf1377356174.705908: @value"6 {I" class:EFI"ProcessedAsset;FI"logical_path;FI"Bcollection_json_browser/angular/controllers/api_controller.js;TI" pathname;FI"ƒ/Users/weilu/workspace/collection-json-browser/app/assets/javascripts/collection_json_browser/angular/controllers/api_controller.js;TI"content_type;FI"application/javascript;FI" mtime;FI"2013-08-24T21:45:56+08:00;FI" length;FiT I" digest;F"%d2ecda964c6082c0e64a424466ab77bdI" source;FI"T 'use strict'; function ApiController($scope, $http, $location) { $scope.rootUrl = '/api' $scope.goTo = function(url, fromRel) { $scope.fromRel = fromRel get(url) } $scope.submit = function() { $scope.fromRel === 'edit-form' ? put() : post() } $scope.destroy = destroy $scope.$watch(function() { return $location.url(); }, function(url, oldUrl) { if(url !== oldUrl) get(url) }); $scope.$watch(function() { return $scope.item; }, function(item, oldItem) { if(item != oldItem) getTemplate(item) }); get($scope.rootUrl) // helpers function get(url, successHandler) { $scope.loading = true if(successHandler === undefined) successHandler = responseHandler $http.get(url).success(function(data, status){ successHandler(data, status) $location.url(url) }).error(function(){ $scope.loading = false }) } function destroy(url) { $scope.loading = true $http.delete(url). success(responseHandler). error(responseHandler) } function post() { $scope.loading = true $http.post($scope.collection.href, formData()). success(responseHandler). error(responseHandler) } function put() { $scope.loading = true $http.put($location.url(), formData()). success(responseHandler). error(responseHandler) } function formData() { var data = {}; $scope.collection.template.data.forEach(function(f) { data[f.name] = f.value }) return data } function responseHandler(data, status) { $scope.collection = data.collection; $scope.raw = JSON.stringify(data, undefined, 2) setTemplate(data) var items = data.collection.items $scope.itemPaths = [{ name: "-- None (POST create) --", value: ''}] if(items) items.forEach(function(i){ $scope.itemPaths.push({name: i.href, value: i.href}) }) $scope.item = "" $scope.status = status $scope.loading = false } function getTemplate(item) { if(item === undefined || item == '') { //TODO //empty fields //post } else { get(item, setTemplate) //TODO //put } } function setTemplate(data){ if(data.collection.template) { $scope.template = data.collection.template.data } } } ApiController.$inject = ['$scope', '$http', '$location']; ;FI"dependency_digest;F"%7099aa91356881d2e1fb8705212cc864I"required_paths;F[I"ƒ/Users/weilu/workspace/collection-json-browser/app/assets/javascripts/collection_json_browser/angular/controllers/api_controller.js;TI"dependency_paths;F[{I" path;FI"ƒ/Users/weilu/workspace/collection-json-browser/app/assets/javascripts/collection_json_browser/angular/controllers/api_controller.js;TI" mtime;FI"2013-08-24T21:45:56+08:00;FI" digest;F"%d2ecda964c6082c0e64a424466ab77bdI" _version;F"%6776f581a4329e299531e1d52aa59832