mirror of
https://github.com/ansible/awx.git
synced 2026-03-27 22:05:07 -02:30
Merge pull request #4494 from mabashian/4252-dashboard-hosts-edit
Fixed dashboard hosts edit
This commit is contained in:
@@ -7,9 +7,7 @@
|
|||||||
export default
|
export default
|
||||||
['$scope', '$state', '$stateParams', 'DashboardHostsForm', 'GenerateForm', 'ParseTypeChange', 'DashboardHostService', 'host',
|
['$scope', '$state', '$stateParams', 'DashboardHostsForm', 'GenerateForm', 'ParseTypeChange', 'DashboardHostService', 'host',
|
||||||
function($scope, $state, $stateParams, DashboardHostsForm, GenerateForm, ParseTypeChange, DashboardHostService, host){
|
function($scope, $state, $stateParams, DashboardHostsForm, GenerateForm, ParseTypeChange, DashboardHostService, host){
|
||||||
var generator = GenerateForm,
|
$scope.parseType = 'yaml';
|
||||||
form = DashboardHostsForm;
|
|
||||||
$scope.parseType = 'yaml';
|
|
||||||
$scope.formCancel = function(){
|
$scope.formCancel = function(){
|
||||||
$state.go('^', null, {reload: true});
|
$state.go('^', null, {reload: true});
|
||||||
};
|
};
|
||||||
@@ -33,11 +31,10 @@
|
|||||||
|
|
||||||
};
|
};
|
||||||
var init = function(){
|
var init = function(){
|
||||||
$scope.host = host;
|
$scope.host = host.data;
|
||||||
generator.inject(form, {mode: 'edit', related: false, scope: $scope});
|
$scope.name = host.data.name;
|
||||||
$scope.name = host.name;
|
$scope.description = host.data.description;
|
||||||
$scope.description = host.description;
|
$scope.variables = host.data.variables === '' ? '---' : host.data.variables;
|
||||||
$scope.variables = host.variables === '' ? '---' : host.variables;
|
|
||||||
ParseTypeChange({
|
ParseTypeChange({
|
||||||
scope: $scope,
|
scope: $scope,
|
||||||
field_id: 'host_variables',
|
field_id: 'host_variables',
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ export default ['$scope', '$state', '$stateParams', 'GetBasePath', 'DashboardHos
|
|||||||
}
|
}
|
||||||
|
|
||||||
$scope.editHost = function(id) {
|
$scope.editHost = function(id) {
|
||||||
$state.go('dashboardHosts.edit', { id: id });
|
$state.go('dashboardHosts.edit', { host_id: id });
|
||||||
};
|
};
|
||||||
|
|
||||||
$scope.toggleHostEnabled = function(host) {
|
$scope.toggleHostEnabled = function(host) {
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ export default function(){
|
|||||||
formLabelSize: 'col-lg-3',
|
formLabelSize: 'col-lg-3',
|
||||||
formFieldSize: 'col-lg-9',
|
formFieldSize: 'col-lg-9',
|
||||||
iterator: 'host',
|
iterator: 'host',
|
||||||
|
basePath: 'hosts',
|
||||||
headerFields:{
|
headerFields:{
|
||||||
enabled: {
|
enabled: {
|
||||||
//flag: 'host.enabled',
|
//flag: 'host.enabled',
|
||||||
|
|||||||
@@ -23,7 +23,9 @@ angular.module('dashboardHosts', [])
|
|||||||
name: 'dashboardHosts',
|
name: 'dashboardHosts',
|
||||||
url: '/home/hosts',
|
url: '/home/hosts',
|
||||||
lazyLoad: () => stateDefinitions.generateTree({
|
lazyLoad: () => stateDefinitions.generateTree({
|
||||||
url: '/home/hosts',
|
urls: {
|
||||||
|
list: '/home/hosts'
|
||||||
|
},
|
||||||
parent: 'dashboardHosts',
|
parent: 'dashboardHosts',
|
||||||
modes: ['edit'],
|
modes: ['edit'],
|
||||||
list: 'DashboardHostsList',
|
list: 'DashboardHostsList',
|
||||||
@@ -32,6 +34,17 @@ angular.module('dashboardHosts', [])
|
|||||||
list: listController,
|
list: listController,
|
||||||
edit: editController
|
edit: editController
|
||||||
},
|
},
|
||||||
|
resolve: {
|
||||||
|
edit: {
|
||||||
|
host: ['Rest', '$stateParams', 'GetBasePath',
|
||||||
|
function(Rest, $stateParams, GetBasePath) {
|
||||||
|
let path = GetBasePath('hosts') + $stateParams.host_id;
|
||||||
|
Rest.setUrl(path);
|
||||||
|
return Rest.get();
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
data: {
|
data: {
|
||||||
activityStream: true,
|
activityStream: true,
|
||||||
activityStreamTarget: 'host'
|
activityStreamTarget: 'host'
|
||||||
|
|||||||
@@ -53,9 +53,10 @@ export default ['$injector', '$stateExtender', '$log', function($injector, $stat
|
|||||||
|
|
||||||
formStates = _.map(params.modes, (mode) => this.generateFormNode(mode, form, params));
|
formStates = _.map(params.modes, (mode) => this.generateFormNode(mode, form, params));
|
||||||
states = states.concat(_.flatten(formStates));
|
states = states.concat(_.flatten(formStates));
|
||||||
$log.debug('*** Generated State Tree', states);
|
|
||||||
resolve({ states: states });
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$log.debug('*** Generated State Tree', states);
|
||||||
|
resolve({ states: states });
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -68,7 +69,8 @@ export default ['$injector', '$stateExtender', '$log', function($injector, $stat
|
|||||||
* @returns {object} a list state definition
|
* @returns {object} a list state definition
|
||||||
*/
|
*/
|
||||||
generateListNode: function(list, params) {
|
generateListNode: function(list, params) {
|
||||||
let state;
|
let state,
|
||||||
|
url = params.urls && params.urls.list ? params.urls.list : (params.url ? params.url : `/${list.name}`);
|
||||||
|
|
||||||
// allows passed-in params to specify a custom templateUrl
|
// allows passed-in params to specify a custom templateUrl
|
||||||
// otherwise, use html returned by generateList.build() to fulfill templateProvider fn
|
// otherwise, use html returned by generateList.build() to fulfill templateProvider fn
|
||||||
@@ -90,7 +92,7 @@ export default ['$injector', '$stateExtender', '$log', function($injector, $stat
|
|||||||
state = $stateExtender.buildDefinition({
|
state = $stateExtender.buildDefinition({
|
||||||
searchPrefix: list.iterator,
|
searchPrefix: list.iterator,
|
||||||
name: params.parent,
|
name: params.parent,
|
||||||
url: (params.url || `/${list.name}`),
|
url: url,
|
||||||
data: params.data,
|
data: params.data,
|
||||||
ncyBreadcrumb: {
|
ncyBreadcrumb: {
|
||||||
label: list.title
|
label: list.title
|
||||||
@@ -135,14 +137,17 @@ export default ['$injector', '$stateExtender', '$log', function($injector, $stat
|
|||||||
* @returns {array} Array of state definitions required by form mode [{...}, {...}, ...]
|
* @returns {array} Array of state definitions required by form mode [{...}, {...}, ...]
|
||||||
*/
|
*/
|
||||||
generateFormNode: function(mode, form, params) {
|
generateFormNode: function(mode, form, params) {
|
||||||
let formNode, states = [];
|
let formNode,
|
||||||
|
states = [],
|
||||||
|
url;
|
||||||
switch (mode) {
|
switch (mode) {
|
||||||
case 'add':
|
case 'add':
|
||||||
|
url = params.urls && params.urls.add ? params.urls.add : (params.url ? params.url : '/add');
|
||||||
// breadcrumbName necessary for resources that are more than one word like
|
// breadcrumbName necessary for resources that are more than one word like
|
||||||
// job templates. form.name can't have spaces in it or it busts form gen
|
// job templates. form.name can't have spaces in it or it busts form gen
|
||||||
formNode = $stateExtender.buildDefinition({
|
formNode = $stateExtender.buildDefinition({
|
||||||
name: params.name || `${params.parent}.add`,
|
name: params.name || `${params.parent}.add`,
|
||||||
url: params.url || '/add',
|
url: url,
|
||||||
ncyBreadcrumb: {
|
ncyBreadcrumb: {
|
||||||
[params.parent ? 'parent' : null]: `${params.parent}`,
|
[params.parent ? 'parent' : null]: `${params.parent}`,
|
||||||
label: `CREATE ${form.breadcrumbName || form.name}`
|
label: `CREATE ${form.breadcrumbName || form.name}`
|
||||||
@@ -171,9 +176,10 @@ export default ['$injector', '$stateExtender', '$log', function($injector, $stat
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'edit':
|
case 'edit':
|
||||||
|
url = params.urls && params.urls.edit ? params.urls.edit : (params.url ? params.url : `/:${form.name}_id`);
|
||||||
formNode = $stateExtender.buildDefinition({
|
formNode = $stateExtender.buildDefinition({
|
||||||
name: params.name || `${params.parent}.edit`,
|
name: params.name || `${params.parent}.edit`,
|
||||||
url: (params.url || `/:${form.name}_id`),
|
url: url,
|
||||||
ncyBreadcrumb: {
|
ncyBreadcrumb: {
|
||||||
[params.parent ? 'parent' : null]: `${params.parent}`,
|
[params.parent ? 'parent' : null]: `${params.parent}`,
|
||||||
label: '{{parentObject.name || name}}'
|
label: '{{parentObject.name || name}}'
|
||||||
|
|||||||
Reference in New Issue
Block a user