* feat(app/docker): backport docker/components changes * feat(app/docker): backport docker/helpers changes * feat(app/docker): backport docker/views/container changes * feat(app/docker): backport docker/views/images changes * feat(app/docker): backport docker/views/registries changes * feat(app/docker): backport docker/views/services changes * feat(app/docker): backport docker changes * feat(app/kubernetes): backport kubernetes/components changes * feat(app/kubernetes): backport kubernetes/converters changes * feat(app/kubernetes): backport kubernetes/models changes * feat(app/kubernetes): backport kubernetes/registries changes * feat(app/kubernetes): backport kubernetes/services changes * feat(app/kubernetes): backport kubernetes/views/applications changes * feat(app/kubernetes): backport kubernetes/views/configurations changes * feat(app/kubernetes): backport kubernetes/views/configure changes * feat(app/kubernetes): backport kubernetes/views/resource-pools changes * feat(app/kubernetes): backport kubernetes/views changes * feat(app/portainer): backport portainer/components/accessManagement changes * feat(app/portainer): backport portainer/components/datatables changes * feat(app/portainer): backport portainer/components/forms changes * feat(app/portainer): backport portainer/components/registry-details changes * feat(app/portainer): backport portainer/models changes * feat(app/portainer): backport portainer/rest changes * feat(app/portainer): backport portainer/services changes * feat(app/portainer): backport portainer/views changes * feat(app/portainer): backport portainer changes * feat(app): backport app changes * config(project): gitignore + jsconfig changes gitignore all files under api/cmd/portainer but main.go and enable Code Editor autocomplete on import ... from '@/...'
86 lines
3.0 KiB
JavaScript
86 lines
3.0 KiB
JavaScript
import { PortainerEndpointTypes } from 'Portainer/models/endpoint/models';
|
|
|
|
angular.module('portainer.docker').controller('RegistriesDatatableController', RegistriesDatatableController);
|
|
|
|
/* @ngInject */
|
|
function RegistriesDatatableController($scope, $controller, $state, Authentication, DatatableService) {
|
|
angular.extend(this, $controller('GenericDatatableController', { $scope: $scope }));
|
|
|
|
this.allowSelection = function (item) {
|
|
return item.Id;
|
|
};
|
|
|
|
this.enableGoToLink = (item) => {
|
|
return this.isAdmin && item.Id && !this.endpointType;
|
|
};
|
|
|
|
this.goToRegistry = function (item) {
|
|
if (
|
|
this.endpointType === PortainerEndpointTypes.KubernetesLocalEnvironment ||
|
|
this.endpointType === PortainerEndpointTypes.AgentOnKubernetesEnvironment ||
|
|
this.endpointType === PortainerEndpointTypes.EdgeAgentOnKubernetesEnvironment
|
|
) {
|
|
$state.go('kubernetes.registries.registry', { id: item.Id });
|
|
} else if (
|
|
this.endpointType === PortainerEndpointTypes.DockerEnvironment ||
|
|
this.endpointType === PortainerEndpointTypes.AgentOnDockerEnvironment ||
|
|
this.endpointType === PortainerEndpointTypes.EdgeAgentOnDockerEnvironment
|
|
) {
|
|
$state.go('docker.registries.registry', { id: item.Id });
|
|
} else {
|
|
$state.go('portainer.registries.registry', { id: item.Id });
|
|
}
|
|
};
|
|
|
|
this.redirectToManageAccess = function (item) {
|
|
if (
|
|
this.endpointType === PortainerEndpointTypes.KubernetesLocalEnvironment ||
|
|
this.endpointType === PortainerEndpointTypes.AgentOnKubernetesEnvironment ||
|
|
this.endpointType === PortainerEndpointTypes.EdgeAgentOnKubernetesEnvironment
|
|
) {
|
|
$state.go('kubernetes.registries.access', { id: item.Id });
|
|
} else {
|
|
$state.go('docker.registries.access', { id: item.Id });
|
|
}
|
|
};
|
|
|
|
this.$onInit = function () {
|
|
this.isAdmin = Authentication.isAdmin();
|
|
this.setDefaults();
|
|
this.prepareTableFromDataset();
|
|
|
|
this.state.orderBy = this.orderBy;
|
|
var storedOrder = DatatableService.getDataTableOrder(this.tableKey);
|
|
if (storedOrder !== null) {
|
|
this.state.reverseOrder = storedOrder.reverse;
|
|
this.state.orderBy = storedOrder.orderBy;
|
|
}
|
|
|
|
var textFilter = DatatableService.getDataTableTextFilters(this.tableKey);
|
|
if (textFilter !== null) {
|
|
this.state.textFilter = textFilter;
|
|
this.onTextFilterChange();
|
|
}
|
|
|
|
var storedFilters = DatatableService.getDataTableFilters(this.tableKey);
|
|
if (storedFilters !== null) {
|
|
this.filters = storedFilters;
|
|
}
|
|
if (this.filters && this.filters.state) {
|
|
this.filters.state.open = false;
|
|
}
|
|
|
|
var storedSettings = DatatableService.getDataTableSettings(this.tableKey);
|
|
if (storedSettings !== null) {
|
|
this.settings = storedSettings;
|
|
this.settings.open = false;
|
|
}
|
|
this.onSettingsRepeaterChange();
|
|
|
|
var storedColumnVisibility = DatatableService.getColumnVisibilitySettings(this.tableKey);
|
|
if (storedColumnVisibility !== null) {
|
|
this.columnVisibility = storedColumnVisibility;
|
|
}
|
|
};
|
|
}
|