test/dummy/tmp/cache/assets/D58/C00/sprockets%2F7bd61bb28f7ce577f679872a7cc4a477 in collection-json-browser-0.0.7 vs test/dummy/tmp/cache/assets/D58/C00/sprockets%2F7bd61bb28f7ce577f679872a7cc4a477 in collection-json-browser-0.0.8
- old
+ new
@@ -1,8 +1,8 @@
-o: ActiveSupport::Cache::Entry :@compressedF:@expires_in0:@created_atf1375609943.922977:@value"÷C{I"
+o: ActiveSupport::Cache::Entry :@compressedF:@expires_in0:@created_atf1377356174.713505:@value"DG{I"
class:EFI"BundledAsset; FI"logical_path; FI"+collection_json_browser/application.js; TI"
pathname; FI"q/Users/weilu/workspace/collection-json-browser/app/assets/javascripts/collection_json_browser/application.js; TI"content_type; FI"application/javascript; FI"
-mtime; FI"2013-08-04T17:37:18+08:00; FI"length; FiíAI"digest; F"%708f6ed5b74eafdaa5b2fe7402aa235dI"source; FI"íA/*
+mtime; FI"2013-08-24T21:45:56+08:00; FI"length; Fi:EI"digest; F"%fe889e843a6c8d6c1ce8d78188a84da7I"source; FI":E/*
AngularJS v1.0.6
(c) 2010-2012 Google, Inc. http://angularjs.org
License: MIT
*/
@@ -184,18 +184,29 @@
}, 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) {
+ function get(url, successHandler) {
$scope.loading = true
+
+ if(successHandler === undefined)
+ successHandler = responseHandler
+
$http.get(url).success(function(data, status){
- responseHandler(data, status)
+ successHandler(data, status)
$location.url(url)
}).error(function(){ $scope.loading = false })
}
function destroy(url) {
@@ -219,20 +230,51 @@
error(responseHandler)
}
function formData() {
var data = {};
- $scope.collection.template.data.forEach(function(f){ data[f.name] = f.value })
+ $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'];
// This is a manifest file that'll be compiled into application.js, which will include all the files
// listed below.
@@ -250,6 +292,6 @@
//
;
-; FI"required_assets_digest; F"%bf299a67e0fad5fd5f133cdd6ad530cbI"
_version; F"%6776f581a4329e299531e1d52aa59832
+; FI"required_assets_digest; F"%d8bd3b3acf576a4976ec087c640dcbddI"
_version; F"%6776f581a4329e299531e1d52aa59832
\ No newline at end of file