Skip to content

Commit 8c3bb14

Browse files
author
OpenShift Bot
authored
Merge pull request #1090 from rhamilto/kve
Merged by openshift-bot
2 parents abb2505 + 7d79245 commit 8c3bb14

38 files changed

+2111
-638
lines changed

Gruntfile.js

+1-2
Original file line numberDiff line numberDiff line change
@@ -251,8 +251,7 @@ module.exports = function (grunt) {
251251
'bower_components/google-code-prettify/bin/prettify.min.js',
252252
'bower_components/google-code-prettify/bin/prettify.min.css',
253253
'bower_components/patternfly/dist/css/patternfly.css',
254-
'bower_components/patternfly/dist/css/patternfly-additions.css',
255-
'bower_components/angular-key-value-editor/dist/angular-key-value-editor.css'
254+
'bower_components/patternfly/dist/css/patternfly-additions.css'
256255
]
257256
}
258257
},

app/index.html

+3-2
Original file line numberDiff line numberDiff line change
@@ -149,8 +149,6 @@ <h1>JavaScript Required</h1>
149149
<script src="bower_components/angular-extension-registry/dist/compiled-templates.js"></script>
150150
<script src="bower_components/ng-sortable/dist/ng-sortable.js"></script>
151151
<script src="bower_components/ui-select/dist/select.js"></script>
152-
<script src="bower_components/angular-key-value-editor/dist/angular-key-value-editor.js"></script>
153-
<script src="bower_components/angular-key-value-editor/dist/compiled-templates.js"></script>
154152
<script src="bower_components/angular-inview/angular-inview.js"></script>
155153
<script src="bower_components/js-yaml/dist/js-yaml.js"></script>
156154
<script src="bower_components/angular-moment/angular-moment.js"></script>
@@ -215,6 +213,8 @@ <h1>JavaScript Required</h1>
215213
<script src="scripts/services/cliHelp.js"></script>
216214
<script src="scripts/services/html.js"></script>
217215
<script src="scripts/services/environment.js"></script>
216+
<script src="scripts/services/keyValueEditorProvider.js"></script>
217+
<script src="scripts/services/keyValueEditorUtils.js"></script>
218218
<script src="scripts/controllers/projects.js"></script>
219219
<script src="scripts/controllers/pods.js"></script>
220220
<script src="scripts/controllers/pod.js"></script>
@@ -358,6 +358,7 @@ <h1>JavaScript Required</h1>
358358
<script src="scripts/directives/selectContainers.js"></script>
359359
<script src="scripts/directives/buildHooks.js"></script>
360360
<script src="scripts/directives/pauseRolloutsCheckbox.js"></script>
361+
<script src="scripts/directives/keyValueEditor.js"></script>
361362
<script src="scripts/filters/date.js"></script>
362363
<script src="scripts/filters/resources.js"></script>
363364
<script src="scripts/filters/canI.js"></script>

app/scripts/app.js

-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ angular
2727
'extension-registry',
2828
'as.sortable',
2929
'ui.select',
30-
'key-value-editor',
3130
'angular-inview',
3231
'angularMoment',
3332
'ab-base64'

app/scripts/controllers/buildConfig.js

-4
Original file line numberDiff line numberDiff line change
@@ -68,10 +68,6 @@ angular.module('openshiftConsole')
6868
var copyBuildConfigAndEnsureEnv = function(buildConfig) {
6969
$scope.updatedBuildConfig = angular.copy(buildConfig);
7070
$scope.envVars = buildStrategy($scope.updatedBuildConfig).env || [];
71-
// check valueFrom attribs and set an alt text for display if present
72-
_.each($scope.envVars, function(env) {
73-
$filter('altTextForValueFrom')(env);
74-
});
7571
};
7672

7773
$scope.saveEnvVars = function() {

app/scripts/controllers/create/createFromImage.js

+44-10
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,17 @@ angular.module("openshiftConsole")
6464

6565
var appLabel = {name: 'app', value: ''};
6666

67+
var orderByDisplayName = $filter('orderByDisplayName');
68+
var getErrorDetails = $filter('getErrorDetails');
69+
70+
var displayError = function(errorMessage, errorDetails) {
71+
$scope.alerts['from-value-objects'] = {
72+
type: "error",
73+
message: errorMessage,
74+
details: errorDetails
75+
};
76+
};
77+
6778
ProjectsService
6879
.get($routeParams.project)
6980
.then(_.spread(function(project, context) {
@@ -151,14 +162,37 @@ angular.module("openshiftConsole")
151162
$scope.metricsWarning = !available;
152163
});
153164

154-
DataService.list("secrets", context, function(secrets) {
155-
var secretsByType = SecretsService.groupSecretsByType(secrets);
156-
var secretNamesByType =_.mapValues(secretsByType, function(secrets) {return _.map(secrets, 'metadata.name')});
157-
// Add empty option to the image/source secrets
158-
$scope.secretsByType = _.each(secretNamesByType, function(secretsArray) {
159-
secretsArray.unshift("");
160-
});
161-
});
165+
var configMapDataOrdered = [];
166+
var secretDataOrdered = [];
167+
$scope.valueFromObjects = [];
168+
169+
DataService.list("configmaps", context, null, { errorNotification: false }).then(function(configMapData) {
170+
configMapDataOrdered = orderByDisplayName(configMapData.by("metadata.name"));
171+
$scope.valueFromObjects = configMapDataOrdered.concat(secretDataOrdered);
172+
}, function(e) {
173+
if (e.code === 403) {
174+
return;
175+
}
176+
177+
displayError('Could not load config maps', getErrorDetails(e));
178+
});
179+
180+
DataService.list("secrets", context, null, { errorNotification: false }).then(function(secretData) {
181+
secretDataOrdered = orderByDisplayName(secretData.by("metadata.name"));
182+
$scope.valueFromObjects = secretDataOrdered.concat(configMapDataOrdered);
183+
var secretsByType = SecretsService.groupSecretsByType(secretData);
184+
var secretNamesByType =_.mapValues(secretsByType, function(secretData) {return _.map(secretData, 'metadata.name');});
185+
// Add empty option to the image/source secrets
186+
$scope.secretsByType = _.each(secretNamesByType, function(secretsArray) {
187+
secretsArray.unshift("");
188+
});
189+
}, function(e) {
190+
if (e.code === 403) {
191+
return;
192+
}
193+
194+
displayError('Could not load secrets', getErrorDetails(e));
195+
});
162196

163197
DataService.get("imagestreams", scope.imageName, {namespace: (scope.namespace || $routeParams.project)}).then(function(imageStream){
164198
scope.imageStream = imageStream;
@@ -340,8 +374,8 @@ angular.module("openshiftConsole")
340374
$scope.createApp = function(){
341375
$scope.disableInputs = true;
342376
$scope.alerts = {};
343-
$scope.buildConfig.envVars = keyValueEditorUtils.mapEntries(keyValueEditorUtils.compactEntries($scope.buildConfigEnvVars));
344-
$scope.deploymentConfig.envVars = keyValueEditorUtils.mapEntries(keyValueEditorUtils.compactEntries($scope.DCEnvVarsFromUser));
377+
$scope.buildConfig.envVars = keyValueEditorUtils.compactEntries($scope.buildConfigEnvVars);
378+
$scope.deploymentConfig.envVars = keyValueEditorUtils.compactEntries($scope.DCEnvVarsFromUser);
345379
var userLabels = keyValueEditorUtils.mapEntries(keyValueEditorUtils.compactEntries($scope.userDefinedLabels));
346380
var systemLabels = keyValueEditorUtils.mapEntries(keyValueEditorUtils.compactEntries($scope.systemLabels));
347381
$scope.labels = _.extend(systemLabels, userLabels);

app/scripts/controllers/create/nextSteps.js

-3
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,6 @@ angular.module("openshiftConsole")
4242

4343
var processedTemplateData = ProcessedTemplateService.getTemplateData();
4444
$scope.parameters = processedTemplateData.params;
45-
_.each($scope.parameters, function(env) {
46-
$filter('altTextForValueFrom')(env);
47-
});
4845
$scope.templateMessage = processedTemplateData.message;
4946
ProcessedTemplateService.clearTemplateData();
5047

app/scripts/controllers/deployment.js

+37
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,17 @@ angular.module('openshiftConsole')
8585
};
8686
};
8787

88+
var orderByDisplayName = $filter('orderByDisplayName');
89+
var getErrorDetails = $filter('getErrorDetails');
90+
91+
var displayError = function(errorMessage, errorDetails) {
92+
$scope.alerts['from-value-objects'] = {
93+
type: "error",
94+
message: errorMessage,
95+
details: errorDetails
96+
};
97+
};
98+
8899
var watches = [];
89100

90101
ProjectsService
@@ -209,6 +220,32 @@ angular.module('openshiftConsole')
209220
updateHPAWarnings();
210221
});
211222

223+
var configMapDataOrdered = [];
224+
var secretDataOrdered = [];
225+
$scope.valueFromObjects = [];
226+
227+
DataService.list("configmaps", context, null, { errorNotification: false }).then(function(configMapData) {
228+
configMapDataOrdered = orderByDisplayName(configMapData.by("metadata.name"));
229+
$scope.valueFromObjects = configMapDataOrdered.concat(secretDataOrdered);
230+
}, function(e) {
231+
if (e.code === 403) {
232+
return;
233+
}
234+
235+
displayError('Could not load config maps', getErrorDetails(e));
236+
});
237+
238+
DataService.list("secrets", context, null, { errorNotification: false }).then(function(secretData) {
239+
secretDataOrdered = orderByDisplayName(secretData.by("metadata.name"));
240+
$scope.valueFromObjects = secretDataOrdered.concat(configMapDataOrdered);
241+
}, function(e) {
242+
if (e.code === 403) {
243+
return;
244+
}
245+
246+
displayError('Could not load secrets', getErrorDetails(e));
247+
});
248+
212249
watches.push(DataService.watch("imagestreams", context, function(imageStreamData) {
213250
var imageStreams = imageStreamData.by("metadata.name");
214251
ImageStreamResolver.buildDockerRefMapForImageStreams(imageStreams, imageStreamImageRefByDockerReference);

app/scripts/controllers/deploymentConfig.js

+38-1
Original file line numberDiff line numberDiff line change
@@ -92,8 +92,23 @@ angular.module('openshiftConsole')
9292
};
9393
};
9494

95+
var orderByDisplayName = $filter('orderByDisplayName');
96+
var getErrorDetails = $filter('getErrorDetails');
97+
98+
var displayError = function(errorMessage, errorDetails) {
99+
$scope.alerts['from-value-objects'] = {
100+
type: "error",
101+
message: errorMessage,
102+
details: errorDetails
103+
};
104+
};
105+
95106
var watches = [];
96107

108+
var configMapDataOrdered = [];
109+
var secretDataOrdered = [];
110+
$scope.valueFromObjects = [];
111+
97112
ProjectsService
98113
.get($routeParams.project)
99114
.then(_.spread(function(project, context) {
@@ -117,7 +132,7 @@ angular.module('openshiftConsole')
117132
$scope.deploymentConfig = deploymentConfig;
118133
$scope.strategyParams = $filter('deploymentStrategyParams')(deploymentConfig);
119134
updateHPAWarnings();
120-
$scope.updatedDeploymentConfig = EnvironmentService.copyAndNormalize(deploymentConfig);
135+
$scope.updatedDeploymentConfig = EnvironmentService.copyAndNormalize($scope.deploymentConfig);
121136
$scope.saveEnvVars = function() {
122137
EnvironmentService.compact($scope.updatedDeploymentConfig);
123138
saveEnvPromise = DataService.update("deploymentconfigs",
@@ -248,6 +263,28 @@ angular.module('openshiftConsole')
248263
updateHPAWarnings();
249264
});
250265

266+
DataService.list("configmaps", context, null, { errorNotification: false }).then(function(configMapData) {
267+
configMapDataOrdered = orderByDisplayName(configMapData.by("metadata.name"));
268+
$scope.valueFromObjects = configMapDataOrdered.concat(secretDataOrdered);
269+
}, function(e) {
270+
if (e.code === 403) {
271+
return;
272+
}
273+
274+
displayError('Could not load config maps', getErrorDetails(e));
275+
});
276+
277+
DataService.list("secrets", context, null, { errorNotification: false }).then(function(secretData) {
278+
secretDataOrdered = orderByDisplayName(secretData.by("metadata.name"));
279+
$scope.valueFromObjects = secretDataOrdered.concat(configMapDataOrdered);
280+
}, function(e) {
281+
if (e.code === 403) {
282+
return;
283+
}
284+
285+
displayError('Could not load secrets', getErrorDetails(e));
286+
});
287+
251288
watches.push(DataService.watch("imagestreams", context, function(imageStreamData) {
252289
var imageStreams = imageStreamData.by("metadata.name");
253290
ImageStreamResolver.buildDockerRefMapForImageStreams(imageStreams, imageStreamImageRefByDockerReference);

app/scripts/controllers/edit/buildConfig.js

+1-4
Original file line numberDiff line numberDiff line change
@@ -237,9 +237,6 @@ angular.module('openshiftConsole')
237237
$scope.buildStrategy = buildStrategy($scope.updatedBuildConfig);
238238
$scope.strategyType = $scope.buildConfig.spec.strategy.type;
239239
$scope.envVars = $scope.buildStrategy.env || [];
240-
_.each($scope.envVars, function(env) {
241-
$filter('altTextForValueFrom')(env);
242-
});
243240
$scope.triggers = getTriggerMap($scope.triggers, $scope.buildConfig.spec.triggers);
244241
$scope.sources = getSourceMap($scope.sources, $scope.buildConfig.spec.source);
245242

@@ -249,7 +246,7 @@ angular.module('openshiftConsole')
249246

250247
DataService.list("secrets", context, function(secrets) {
251248
var secretsByType = SecretsService.groupSecretsByType(secrets);
252-
var secretNamesByType =_.mapValues(secretsByType, function(secrets) {return _.map(secrets, 'metadata.name')});
249+
var secretNamesByType =_.mapValues(secretsByType, function(secrets) {return _.map(secrets, 'metadata.name');});
253250
// Add empty option to the image/source secrets
254251
$scope.secrets.secretsByType = _.each(secretNamesByType, function(secretsArray) {
255252
secretsArray.unshift("");

app/scripts/controllers/edit/deploymentConfig.js

+41-7
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ angular.module('openshiftConsole')
1717
AuthorizationService,
1818
BreadcrumbsService,
1919
DataService,
20+
EnvironmentService,
2021
Navigate,
2122
ProjectsService,
2223
SecretsService,
@@ -47,8 +48,24 @@ angular.module('openshiftConsole')
4748
$scope.alerts[alert.name] = alert.data;
4849
});
4950
AlertMessageService.clearAlerts();
51+
52+
var orderByDisplayName = $filter('orderByDisplayName');
53+
var getErrorDetails = $filter('getErrorDetails');
54+
55+
var displayError = function(errorMessage, errorDetails) {
56+
$scope.alerts['from-value-objects'] = {
57+
type: "error",
58+
message: errorMessage,
59+
details: errorDetails
60+
};
61+
};
62+
5063
var watches = [];
5164

65+
var configMapDataOrdered = [];
66+
var secretDataOrdered = [];
67+
$scope.valueFromObjects = [];
68+
5269
var getParamsPropertyName = function(strategyType) {
5370
switch (strategyType) {
5471
case "Recreate":
@@ -97,10 +114,6 @@ angular.module('openshiftConsole')
97114
});
98115
var triggerData = {};
99116
container.env = container.env || [];
100-
// check valueFrom attribs and set an alt text for display if present
101-
_.each(container.env, function(env) {
102-
$filter('altTextForValueFrom')(env);
103-
});
104117
containerConfigByName[container.name] = {
105118
env: container.env,
106119
image: container.image,
@@ -143,13 +156,34 @@ angular.module('openshiftConsole')
143156
$scope.strategyData.customParams.environment = [];
144157
}
145158

146-
DataService.list("secrets", context, function(secrets) {
147-
var secretsByType = SecretsService.groupSecretsByType(secrets);
148-
var secretNamesByType =_.mapValues(secretsByType, function(secrets) {return _.map(secrets, 'metadata.name')});
159+
DataService.list("configmaps", context, null, { errorNotification: false }).then(function(configMapData) {
160+
configMapDataOrdered = orderByDisplayName(configMapData.by("metadata.name"));
161+
$scope.availableConfigMaps = configMapDataOrdered;
162+
$scope.valueFromObjects = configMapDataOrdered.concat(secretDataOrdered);
163+
}, function(e) {
164+
if (e.code === 403) {
165+
return;
166+
}
167+
168+
displayError('Could not load config maps', getErrorDetails(e));
169+
});
170+
171+
DataService.list("secrets", context, null, { errorNotification: false }).then(function(secretData) {
172+
secretDataOrdered = orderByDisplayName(secretData.by("metadata.name"));
173+
$scope.availableSecrets = secretDataOrdered;
174+
$scope.valueFromObjects = secretDataOrdered.concat(configMapDataOrdered);
175+
var secretsByType = SecretsService.groupSecretsByType(secretData);
176+
var secretNamesByType =_.mapValues(secretsByType, function(secretData) {return _.map(secretData, 'metadata.name');});
149177
// Add empty option to the image/source secrets
150178
$scope.secretsByType = _.each(secretNamesByType, function(secretsArray) {
151179
secretsArray.unshift("");
152180
});
181+
}, function(e) {
182+
if (e.code === 403) {
183+
return;
184+
}
185+
186+
displayError('Could not load secrets', getErrorDetails(e));
153187
});
154188

155189
// If we found the item successfully, watch for changes on it

app/scripts/controllers/pod.js

-2
Original file line numberDiff line numberDiff line change
@@ -222,13 +222,11 @@ angular.module('openshiftConsole')
222222
});
223223
};
224224

225-
var altTextForValueFrom = $filter('altTextForValueFrom');
226225
var updateEnv = function() {
227226
// Copy the containers so we aren't modifying the original pod spec.
228227
var containers = angular.copy(_.get($scope, 'pod.spec.containers', []));
229228
_.each(containers, function(container) {
230229
container.env = container.env || [];
231-
_.each(container.env, altTextForValueFrom);
232230
});
233231

234232
$scope.containersEnv = containers;

0 commit comments

Comments
 (0)