Leveraged new pluralization pattern on group delete modal contents.

This commit is contained in:
mabashian
2017-08-10 13:09:44 -04:00
parent b990d84e3b
commit 3d370ca9de
3 changed files with 19 additions and 41 deletions

View File

@@ -19,7 +19,7 @@ function BaseStringService (namespace) {
* purpose -- it's to mark strings for translation so they appear in the `.pot` file after * purpose -- it's to mark strings for translation so they appear in the `.pot` file after
* the grunt-angular-gettext task is run AND it's used to fetch the translated string at * the grunt-angular-gettext task is run AND it's used to fetch the translated string at
* runtime. * runtime.
* *
* NOTE: View ui/src/i18n.js for where these i18n methods are defined. i18n is a wrapper around * NOTE: View ui/src/i18n.js for where these i18n methods are defined. i18n is a wrapper around
* the library angular-gettext. * the library angular-gettext.
* *
@@ -90,7 +90,7 @@ function BaseStringService (namespace) {
} }
if (!value) { if (!value) {
throw new Error(ERROR_NO_STRING); throw new Error(ERROR_NO_STRING + `: ${name}`);
} }
}); });

View File

@@ -103,44 +103,22 @@
$scope.deleteOption = "delete"; $scope.deleteOption = "delete";
} }
else { else {
$scope.strings.deleteModal.group = $scope.toDelete.total_groups === 1 ? InventoryHostsStrings.get('filter.GROUP') : InventoryHostsStrings.get('filter.GROUPS'); $scope.strings.deleteModal.group = InventoryHostsStrings.get('deletegroup.GROUP', $scope.toDelete.total_groups);
$scope.strings.deleteModal.host = $scope.toDelete.total_hosts === 1 ? InventoryHostsStrings.get('filter.HOST') : InventoryHostsStrings.get('filter.HOSTS'); $scope.strings.deleteModal.host = InventoryHostsStrings.get('deletegroup.HOST', $scope.toDelete.total_hosts);
if($scope.toDelete.total_groups > 1 && $scope.toDelete.total_hosts > 1) { if($scope.toDelete.total_groups === 0 || $scope.toDelete.total_hosts === 0) {
$scope.strings.deleteModal.deleteGroupsHosts = InventoryHostsStrings.get('filter.DELETE_GROUPS_HOSTS'); if($scope.toDelete.total_groups === 0) {
$scope.strings.deleteModal.promoteGroupsHosts = InventoryHostsStrings.get('filter.PROMOTE_GROUPS_HOSTS'); $scope.strings.deleteModal.deleteGroupsHosts = InventoryHostsStrings.get('deletegroup.DELETE_HOST', $scope.toDelete.total_hosts);
} $scope.strings.deleteModal.promoteGroupsHosts = InventoryHostsStrings.get('deletegroup.PROMOTE_HOST', $scope.toDelete.total_hosts);
else if($scope.toDelete.total_groups > 1 && $scope.toDelete.total_hosts === 1) {
$scope.strings.deleteModal.deleteGroupsHosts = InventoryHostsStrings.get('filter.DELETE_GROUPS_HOST');
$scope.strings.deleteModal.promoteGroupsHosts = InventoryHostsStrings.get('filter.PROMOTE_GROUPS_HOST');
}
else if($scope.toDelete.total_groups === 1 && $scope.toDelete.total_hosts > 1) {
$scope.strings.deleteModal.deleteGroupsHosts = InventoryHostsStrings.get('filter.DELETE_GROUP_HOSTS');
$scope.strings.deleteModal.promoteGroupsHosts = InventoryHostsStrings.get('filter.PROMOTE_GROUP_HOSTS');
}
else if($scope.toDelete.total_groups === 1 && $scope.toDelete.total_hosts === 1) {
$scope.strings.deleteModal.deleteGroupsHosts = InventoryHostsStrings.get('filter.DELETE_GROUP_HOST');
$scope.strings.deleteModal.promoteGroupsHosts = InventoryHostsStrings.get('filter.PROMOTE_GROUP_HOST');
}
else if($scope.toDelete.total_groups === 0) {
if($scope.toDelete.total_hosts > 1) {
$scope.strings.deleteModal.deleteGroupsHosts = InventoryHostsStrings.get('filter.DELETE_HOSTS');
$scope.strings.deleteModal.promoteGroupsHosts = InventoryHostsStrings.get('filter.PROMOTE_HOSTS');
} }
else { else if($scope.toDelete.total_hosts === 0) {
$scope.strings.deleteModal.deleteGroupsHosts = InventoryHostsStrings.get('filter.DELETE_HOST'); $scope.strings.deleteModal.deleteGroupsHosts = InventoryHostsStrings.get('deletegroup.DELETE_GROUP', $scope.toDelete.total_groups);
$scope.strings.deleteModal.promoteGroupsHosts = InventoryHostsStrings.get('filter.PROMOTE_HOST'); $scope.strings.deleteModal.promoteGroupsHosts = InventoryHostsStrings.get('deletegroup.PROMOTE_GROUP', $scope.toDelete.total_groups);
} }
} }
else if($scope.toDelete.total_hosts === 0) { else {
if($scope.toDelete.total_groups > 1) { $scope.strings.deleteModal.deleteGroupsHosts = InventoryHostsStrings.get('deletegroup.DELETE_GROUPS_AND_HOSTS', {groups: $scope.toDelete.total_groups, hosts: $scope.toDelete.total_hosts});
$scope.strings.deleteModal.deleteGroupsHosts = InventoryHostsStrings.get('filter.DELETE_GROUPS'); $scope.strings.deleteModal.promoteGroupsHosts = InventoryHostsStrings.get('deletegroup.PROMOTE_GROUPS_AND_HOSTS', {groups: $scope.toDelete.total_groups, hosts: $scope.toDelete.total_hosts});
$scope.strings.deleteModal.promoteGroupsHosts = InventoryHostsStrings.get('filter.PROMOTE_GROUPS');
}
else {
$scope.strings.deleteModal.deleteGroupsHosts = InventoryHostsStrings.get('filter.DELETE_GROUP');
$scope.strings.deleteModal.promoteGroupsHosts = InventoryHostsStrings.get('filter.PROMOTE_GROUP');
}
} }
} }

View File

@@ -4,16 +4,16 @@ function InventoryHostsStrings (BaseString) {
let t = this.t; let t = this.t;
let ns = this['inventory-hosts']; let ns = this['inventory-hosts'];
ns.filter = { ns.deletegroup = {
GROUP: count => t.p(count, 'group', 'groups'), GROUP: count => t.p(count, 'group', 'groups'),
HOST: count => t.p(count, 'host', 'hosts'), HOST: count => t.p(count, 'host', 'hosts'),
PROMOTE_GROUPS_AND_HOSTS: data => t.s('Promote {{ group }} and {{ host }}', { PROMOTE_GROUPS_AND_HOSTS: data => t.s('Promote {{ group }} and {{ host }}', {
group: this.get('GROUP', data.groups), group: this.get('deletegroup.GROUP', data.groups),
host: this.get('HOST', data.hosts) host: this.get('deletegroup.HOST', data.hosts)
}), }),
DELETE_GROUPS_AND_HOSTS: data => t.s('Delete {{ group }} and {{ host }}', { DELETE_GROUPS_AND_HOSTS: data => t.s('Delete {{ group }} and {{ host }}', {
group: this.get('GROUP', data.groups), group: this.get('deletegroup.GROUP', data.groups),
host: this.get('HOST', data.hosts) host: this.get('deletegroup.HOST', data.hosts)
}), }),
PROMOTE_GROUP: count => t.p(count, 'Promote group', 'Promote groups'), PROMOTE_GROUP: count => t.p(count, 'Promote group', 'Promote groups'),
DELETE_GROUP: count => t.p(count, 'Delete group', 'Delete groups'), DELETE_GROUP: count => t.p(count, 'Delete group', 'Delete groups'),