function()

in entity-browser-frontend/app/service/navigation.js [7:68]


    function ($location, $window, $http) {
        return function (db) {
            var prefix = 'databases/' + db.uuid + '/';

            function toType(typeId) {
                return angular.isDefined(typeId) ? $location.path(prefix).search({typeId: typeId.toString()}) : toType(0);
            }

            function toEntity(typeId, entityId, edit) {
                if (entityId) {
                    $location.path(prefix + 'entities/' + entityId);
                    var params = {
                        typeId: null
                    };
                    if (edit) {
                        params.edit = true;
                    }
                    $location.search(params);
                } else {
                    $location.path(prefix + 'entities/new').search({
                        typeId: typeId.toString()
                    });
                }
            }

            function forceReload() {
                toType();
                $window.location.reload();
            }

            function blobLink(entity, name) {
                return 'api/dbs/' + db.uuid + '/entities/' + entity.id + "/blob/" + name.name;
            }

            function blobStringLink(entity, name) {
                return 'api/dbs/' + db.uuid + '/entities/' + entity.id + "/blobString/" + name.name;
            }


            function downloadBlob(entity, blob) {
                return $http.get(blobLink(entity, blob)).then(function(response) {
                    var file = new Blob([response.data], { type: 'application/octet.stream' });
                    return FileSaver.saveAs(file, blob.name);
                });
            }

            function downloadBlobString(entity, blob) {
                return $http.get(blobStringLink(entity, blob)).then(function(response) {
                    var file = new Blob([response.data], { type: 'application/octet.stream' });
                    return FileSaver.saveAs(file, blob.name);
                });
            }

            return {
                toType: toType,
                toEntity: toEntity,
                forceReload: forceReload,
                downloadBlob: downloadBlob,
                downloadBlobString: downloadBlobString,
            };
        };
    }]