api page (mock)
This commit is contained in:
parent
0e027eb037
commit
b44cb9e852
|
@ -11,8 +11,10 @@ import org.springframework.web.bind.annotation.RequestParam;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
import eu.dnetlib.common.controller.AbstractDnetController;
|
import eu.dnetlib.common.controller.AbstractDnetController;
|
||||||
|
import eu.dnetlib.data.openaire.dsm.model.Api;
|
||||||
import eu.dnetlib.data.openaire.dsm.model.BrowseTerm;
|
import eu.dnetlib.data.openaire.dsm.model.BrowseTerm;
|
||||||
import eu.dnetlib.data.openaire.dsm.model.view.SimpleDsWithApis;
|
import eu.dnetlib.data.openaire.dsm.model.view.SimpleDsWithApis;
|
||||||
|
import eu.dnetlib.is.errors.DsmException;
|
||||||
import eu.dnetlib.openaire.dsm.utils.DsmBrowsableFields;
|
import eu.dnetlib.openaire.dsm.utils.DsmBrowsableFields;
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
|
@ -40,4 +42,9 @@ public class DsmAjaxController extends AbstractDnetController {
|
||||||
return dsmService.search(value, page, size);
|
return dsmService.search(value, page, size);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GetMapping("/api")
|
||||||
|
public Api findApi(@RequestParam final String id) throws DsmException {
|
||||||
|
return dsmService.findApi(id);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -517,4 +517,8 @@ public class DsmService {
|
||||||
return simpleDsWithApisRepository.search(value, PageRequest.of(page, size));
|
return simpleDsWithApisRepository.search(value, PageRequest.of(page, size));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Api findApi(final String id) throws DsmException {
|
||||||
|
return apiRepository.findById(id).orElseThrow(() -> new DsmException("Api not found. ID: " + id));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row mt-5">
|
||||||
|
<div class="col">
|
||||||
|
{{api}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
|
@ -57,7 +57,9 @@
|
||||||
<th>APIs</th>
|
<th>APIs</th>
|
||||||
<td>
|
<td>
|
||||||
<div ng-repeat="a in r.apis" ng-if="a.id">
|
<div ng-repeat="a in r.apis" ng-if="a.id">
|
||||||
<span class="monospaced">{{a.id}}</span>
|
<span class="monospaced">
|
||||||
|
<a href="#!/api?id={{a.id}}">{{a.id}}</a>
|
||||||
|
</span>
|
||||||
<span class="badge badge-primary" title="protocol">{{a.protocol}}</span>
|
<span class="badge badge-primary" title="protocol">{{a.protocol}}</span>
|
||||||
<span class="badge badge-info" title="compliance">{{a.compliance}}</span>
|
<span class="badge badge-info" title="compliance">{{a.compliance}}</span>
|
||||||
<span class="badge badge-success" ng-if="a.active">active</span><span class="badge badge-danger" ng-if="!a.active">not active</span>
|
<span class="badge badge-success" ng-if="a.active">active</span><span class="badge badge-danger" ng-if="!a.active">not active</span>
|
||||||
|
|
|
@ -28,11 +28,12 @@
|
||||||
.when('/search', { templateUrl: 'dsm/search.html', controller: 'dsmSearchController' })
|
.when('/search', { templateUrl: 'dsm/search.html', controller: 'dsmSearchController' })
|
||||||
.when('/results/:page/:size', { templateUrl: 'dsm/results.html', controller: 'dsmResultsController' })
|
.when('/results/:page/:size', { templateUrl: 'dsm/results.html', controller: 'dsmResultsController' })
|
||||||
.when('/results/:field/:page/:size', { templateUrl: 'dsm/results.html', controller: 'dsmResultsController' })
|
.when('/results/:field/:page/:size', { templateUrl: 'dsm/results.html', controller: 'dsmResultsController' })
|
||||||
.otherwise({ redirectTo: '/search' });
|
.when('/api', { templateUrl: 'dsm/api.html', controller: 'dsmApiController' })
|
||||||
|
.otherwise({ redirectTo: '/search' });
|
||||||
}
|
}
|
||||||
]);
|
]);
|
||||||
|
|
||||||
app.controller('dsmSearchController', function($scope, $http, $location, $timeout) {
|
app.controller('dsmSearchController', function($scope, $http, $location, $timeout) {
|
||||||
$scope.browseFieldId = "";
|
$scope.browseFieldId = "";
|
||||||
$scope.browseFieldName = "";
|
$scope.browseFieldName = "";
|
||||||
$scope.browseData = [];
|
$scope.browseData = [];
|
||||||
|
@ -94,6 +95,17 @@
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
app.controller('dsmApiController', function($scope, $http, $location, $timeout, $routeParams) {
|
||||||
|
$scope.apiId = $routeParams.id;
|
||||||
|
$scope.api = {};
|
||||||
|
|
||||||
|
call_http_get($http, './ajax/dsm/api?id=' + encodeURIComponent($scope.apiId) , function(res) {
|
||||||
|
$scope.api = res.data;
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue