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