mirror of
https://github.com/ansible/awx.git
synced 2026-01-13 02:50:02 -03:30
modularize project form
This commit is contained in:
parent
9a0e409abf
commit
75820064e8
@ -147,7 +147,6 @@ var tower = angular.module('Tower', [
|
||||
'JobTemplateFormDefinition',
|
||||
'JobTemplatesHelper',
|
||||
'JobSubmissionHelper',
|
||||
'ProjectFormDefinition',
|
||||
'ProjectStatusDefinition',
|
||||
'CompletedJobsDefinition',
|
||||
'AllJobsDefinition',
|
||||
|
||||
@ -20,7 +20,6 @@ import LogViewerOptions from "./forms/LogViewerOptions";
|
||||
import LogViewerStatus from "./forms/LogViewerStatus";
|
||||
import Organizations from "./forms/Organizations";
|
||||
import ProjectStatus from "./forms/ProjectStatus";
|
||||
import Projects from "./forms/Projects";
|
||||
import Teams from "./forms/Teams";
|
||||
import Users from "./forms/Users";
|
||||
import WorkflowMaker from "./forms/WorkflowMaker";
|
||||
@ -44,7 +43,6 @@ export
|
||||
LogViewerStatus,
|
||||
Organizations,
|
||||
ProjectStatus,
|
||||
Projects,
|
||||
Teams,
|
||||
Users,
|
||||
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 ProjectsEdit from './edit/projects-edit.controller';
|
||||
import ProjectList from './projects.list';
|
||||
import ProjectsForm from './projects.form';
|
||||
import { N_ } from '../i18n';
|
||||
import GetProjectPath from './factories/get-project-path.factory';
|
||||
import GetProjectIcon from './factories/get-project-icon.factory';
|
||||
@ -22,6 +23,7 @@ angular.module('Projects', [])
|
||||
.factory('GetProjectIcon', GetProjectIcon)
|
||||
.factory('GetProjectToolTip', GetProjectToolTip)
|
||||
.factory('ProjectList', ProjectList)
|
||||
.factory('ProjectsForm', ProjectsForm)
|
||||
.config(['$stateProvider', 'stateDefinitionsProvider',
|
||||
function($stateProvider, stateDefinitionsProvider) {
|
||||
let stateDefinitions = stateDefinitionsProvider.$get();
|
||||
|
||||
@ -10,10 +10,9 @@
|
||||
* @description This form is for adding/editing projects
|
||||
*/
|
||||
|
||||
export default
|
||||
angular.module('ProjectFormDefinition', ['SchedulesListDefinition'])
|
||||
.factory('ProjectsFormObject', ['i18n', function(i18n) {
|
||||
return {
|
||||
export default ['i18n', 'NotificationsList', function(i18n, NotificationsList) {
|
||||
return function() {
|
||||
var projectsFormObj = {
|
||||
|
||||
addTitle: i18n._('NEW PROJECT'),
|
||||
editTitle: '{{ name }}',
|
||||
@ -266,18 +265,15 @@ angular.module('ProjectFormDefinition', ['SchedulesListDefinition'])
|
||||
}
|
||||
}
|
||||
|
||||
};}])
|
||||
};
|
||||
|
||||
.factory('ProjectsForm', ['ProjectsFormObject', 'NotificationsList',
|
||||
function(ProjectsFormObject, NotificationsList) {
|
||||
return function() {
|
||||
var itm;
|
||||
for (itm in ProjectsFormObject.related) {
|
||||
if (ProjectsFormObject.related[itm].include === "NotificationsList") {
|
||||
ProjectsFormObject.related[itm] = NotificationsList;
|
||||
ProjectsFormObject.related[itm].generateList = true; // tell form generator to call list generator and inject a list
|
||||
}
|
||||
}
|
||||
return ProjectsFormObject;
|
||||
};
|
||||
}]);
|
||||
var itm;
|
||||
|
||||
for (itm in projectsFormObj.related) {
|
||||
if (projectsFormObj.related[itm].include === "NotificationsList") {
|
||||
projectsFormObj.related[itm] = NotificationsList;
|
||||
projectsFormObj.related[itm].generateList = true; // tell form generator to call list generator and inject a list
|
||||
}
|
||||
}
|
||||
return projectsFormObj;
|
||||
}}];
|
||||
Loading…
x
Reference in New Issue
Block a user