mirror of
https://github.com/ansible/awx.git
synced 2026-03-21 19:07:39 -02:30
modularize project form
This commit is contained in:
@@ -147,7 +147,6 @@ var tower = angular.module('Tower', [
|
|||||||
'JobTemplateFormDefinition',
|
'JobTemplateFormDefinition',
|
||||||
'JobTemplatesHelper',
|
'JobTemplatesHelper',
|
||||||
'JobSubmissionHelper',
|
'JobSubmissionHelper',
|
||||||
'ProjectFormDefinition',
|
|
||||||
'ProjectStatusDefinition',
|
'ProjectStatusDefinition',
|
||||||
'CompletedJobsDefinition',
|
'CompletedJobsDefinition',
|
||||||
'AllJobsDefinition',
|
'AllJobsDefinition',
|
||||||
|
|||||||
@@ -20,7 +20,6 @@ import LogViewerOptions from "./forms/LogViewerOptions";
|
|||||||
import LogViewerStatus from "./forms/LogViewerStatus";
|
import LogViewerStatus from "./forms/LogViewerStatus";
|
||||||
import Organizations from "./forms/Organizations";
|
import Organizations from "./forms/Organizations";
|
||||||
import ProjectStatus from "./forms/ProjectStatus";
|
import ProjectStatus from "./forms/ProjectStatus";
|
||||||
import Projects from "./forms/Projects";
|
|
||||||
import Teams from "./forms/Teams";
|
import Teams from "./forms/Teams";
|
||||||
import Users from "./forms/Users";
|
import Users from "./forms/Users";
|
||||||
import WorkflowMaker from "./forms/WorkflowMaker";
|
import WorkflowMaker from "./forms/WorkflowMaker";
|
||||||
@@ -44,7 +43,6 @@ export
|
|||||||
LogViewerStatus,
|
LogViewerStatus,
|
||||||
Organizations,
|
Organizations,
|
||||||
ProjectStatus,
|
ProjectStatus,
|
||||||
Projects,
|
|
||||||
Teams,
|
Teams,
|
||||||
Users,
|
Users,
|
||||||
WorkflowMaker,
|
WorkflowMaker,
|
||||||
|
|||||||
84
awx/ui/client/src/helpers/Projects.js
Normal file
84
awx/ui/client/src/helpers/Projects.js
Normal file
@@ -0,0 +1,84 @@
|
|||||||
|
/*************************************************
|
||||||
|
* Copyright (c) 2015 Ansible, Inc.
|
||||||
|
*
|
||||||
|
* All Rights Reserved
|
||||||
|
*************************************************/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ngdoc function
|
||||||
|
* @name helpers.function:Projects
|
||||||
|
* @description
|
||||||
|
* Use GetProjectPath({ scope: <scope>, master: <master obj> }) to
|
||||||
|
* load scope.project_local_paths (array of options for drop-down) and
|
||||||
|
* scope.base_dir (readonly field).
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
export default
|
||||||
|
angular.module('ProjectsHelper', ['RestServices', 'Utilities', 'ProjectStatusDefinition'])
|
||||||
|
|
||||||
|
.factory('GetProjectIcon', [ function() {
|
||||||
|
return function(status) {
|
||||||
|
var result = '';
|
||||||
|
switch (status) {
|
||||||
|
case 'n/a':
|
||||||
|
case 'ok':
|
||||||
|
case 'never updated':
|
||||||
|
result = 'none';
|
||||||
|
break;
|
||||||
|
case 'pending':
|
||||||
|
case 'waiting':
|
||||||
|
case 'new':
|
||||||
|
result = 'none';
|
||||||
|
break;
|
||||||
|
case 'updating':
|
||||||
|
case 'running':
|
||||||
|
result = 'running';
|
||||||
|
break;
|
||||||
|
case 'successful':
|
||||||
|
result = 'success';
|
||||||
|
break;
|
||||||
|
case 'failed':
|
||||||
|
case 'missing':
|
||||||
|
case 'canceled':
|
||||||
|
result = 'error';
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
};
|
||||||
|
}])
|
||||||
|
|
||||||
|
.factory('GetProjectToolTip', ['i18n', function(i18n) {
|
||||||
|
return function(status) {
|
||||||
|
var result = '';
|
||||||
|
switch (status) {
|
||||||
|
case 'n/a':
|
||||||
|
case 'ok':
|
||||||
|
case 'never updated':
|
||||||
|
result = i18n._('No SCM updates have run for this project');
|
||||||
|
break;
|
||||||
|
case 'pending':
|
||||||
|
case 'waiting':
|
||||||
|
case 'new':
|
||||||
|
result = i18n._('Queued. Click for details');
|
||||||
|
break;
|
||||||
|
case 'updating':
|
||||||
|
case 'running':
|
||||||
|
result = i18n._('Running! Click for details');
|
||||||
|
break;
|
||||||
|
case 'successful':
|
||||||
|
result = i18n._('Success! Click for details');
|
||||||
|
break;
|
||||||
|
case 'failed':
|
||||||
|
result = i18n._('Failed. Click for details');
|
||||||
|
break;
|
||||||
|
case 'missing':
|
||||||
|
result = i18n._('Missing. Click for details');
|
||||||
|
break;
|
||||||
|
case 'canceled':
|
||||||
|
result = i18n._('Canceled. Click for details');
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
};
|
||||||
|
}]);
|
||||||
@@ -8,6 +8,7 @@ import ProjectsList from './list/projects-list.controller';
|
|||||||
import ProjectsAdd from './add/projects-add.controller';
|
import ProjectsAdd from './add/projects-add.controller';
|
||||||
import ProjectsEdit from './edit/projects-edit.controller';
|
import ProjectsEdit from './edit/projects-edit.controller';
|
||||||
import ProjectList from './projects.list';
|
import ProjectList from './projects.list';
|
||||||
|
import ProjectsForm from './projects.form';
|
||||||
import { N_ } from '../i18n';
|
import { N_ } from '../i18n';
|
||||||
import GetProjectPath from './factories/get-project-path.factory';
|
import GetProjectPath from './factories/get-project-path.factory';
|
||||||
import GetProjectIcon from './factories/get-project-icon.factory';
|
import GetProjectIcon from './factories/get-project-icon.factory';
|
||||||
@@ -22,6 +23,7 @@ angular.module('Projects', [])
|
|||||||
.factory('GetProjectIcon', GetProjectIcon)
|
.factory('GetProjectIcon', GetProjectIcon)
|
||||||
.factory('GetProjectToolTip', GetProjectToolTip)
|
.factory('GetProjectToolTip', GetProjectToolTip)
|
||||||
.factory('ProjectList', ProjectList)
|
.factory('ProjectList', ProjectList)
|
||||||
|
.factory('ProjectsForm', ProjectsForm)
|
||||||
.config(['$stateProvider', 'stateDefinitionsProvider',
|
.config(['$stateProvider', 'stateDefinitionsProvider',
|
||||||
function($stateProvider, stateDefinitionsProvider) {
|
function($stateProvider, stateDefinitionsProvider) {
|
||||||
let stateDefinitions = stateDefinitionsProvider.$get();
|
let stateDefinitions = stateDefinitionsProvider.$get();
|
||||||
|
|||||||
@@ -10,10 +10,9 @@
|
|||||||
* @description This form is for adding/editing projects
|
* @description This form is for adding/editing projects
|
||||||
*/
|
*/
|
||||||
|
|
||||||
export default
|
export default ['i18n', 'NotificationsList', function(i18n, NotificationsList) {
|
||||||
angular.module('ProjectFormDefinition', ['SchedulesListDefinition'])
|
return function() {
|
||||||
.factory('ProjectsFormObject', ['i18n', function(i18n) {
|
var projectsFormObj = {
|
||||||
return {
|
|
||||||
|
|
||||||
addTitle: i18n._('NEW PROJECT'),
|
addTitle: i18n._('NEW PROJECT'),
|
||||||
editTitle: '{{ name }}',
|
editTitle: '{{ name }}',
|
||||||
@@ -266,18 +265,15 @@ angular.module('ProjectFormDefinition', ['SchedulesListDefinition'])
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
};}])
|
};
|
||||||
|
|
||||||
.factory('ProjectsForm', ['ProjectsFormObject', 'NotificationsList',
|
var itm;
|
||||||
function(ProjectsFormObject, NotificationsList) {
|
|
||||||
return function() {
|
for (itm in projectsFormObj.related) {
|
||||||
var itm;
|
if (projectsFormObj.related[itm].include === "NotificationsList") {
|
||||||
for (itm in ProjectsFormObject.related) {
|
projectsFormObj.related[itm] = NotificationsList;
|
||||||
if (ProjectsFormObject.related[itm].include === "NotificationsList") {
|
projectsFormObj.related[itm].generateList = true; // tell form generator to call list generator and inject a list
|
||||||
ProjectsFormObject.related[itm] = NotificationsList;
|
}
|
||||||
ProjectsFormObject.related[itm].generateList = true; // tell form generator to call list generator and inject a list
|
}
|
||||||
}
|
return projectsFormObj;
|
||||||
}
|
}}];
|
||||||
return ProjectsFormObject;
|
|
||||||
};
|
|
||||||
}]);
|
|
||||||
Reference in New Issue
Block a user