Skip to content

Commit 8a5d4fa

Browse files
Edit/Create Projects on page in a popup
1 parent 8cb608b commit 8a5d4fa

File tree

7 files changed

+121
-13
lines changed

7 files changed

+121
-13
lines changed

app/scripts/controllers/projects.js

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,35 @@ angular.module('openshiftConsole')
109109
onSortChange: update
110110
};
111111

112+
$scope.newProjectPanelShown = false;
113+
114+
$scope.createProject = function() {
115+
$scope.newProjectPanelShown = true;
116+
};
117+
118+
$scope.closeNewProjectPanel = function() {
119+
$scope.newProjectPanelShown = false;
120+
};
121+
122+
$scope.onNewProject = function() {
123+
$scope.newProjectPanelShown = false;
124+
};
125+
126+
$scope.editProjectPanelShown = false;
127+
128+
$scope.editProject = function(project) {
129+
$scope.editingProject = project;
130+
$scope.editProjectPanelShown = true;
131+
};
132+
133+
$scope.closeEditProjectPanel = function() {
134+
$scope.editProjectPanelShown = false;
135+
};
136+
137+
$scope.onEditProject = function() {
138+
$scope.editProjectPanelShown = false;
139+
};
140+
112141
$scope.$watch('search.text', _.debounce(function(searchText) {
113142
$scope.keywords = filterKeywords = KeywordService.generateKeywords(searchText);
114143
$scope.$apply(filterProjects);

app/styles/_buttons.less

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,3 +41,7 @@
4141
text-decoration: none;
4242
}
4343
}
44+
45+
.icon-button-text {
46+
padding-left: 4px;
47+
}

app/styles/_projects.less

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,11 +87,18 @@
8787
justify-content: flex-end;
8888
margin: -27px 0 0 0;
8989
@media (min-width: 660px) {
90+
display: block;
9091
margin-bottom: 20px;
9192
margin-left: 40px;
9293
margin-top: 0;
9394
order: 2;
9495
}
96+
97+
.origin-modal-popup {
98+
@media (min-width: @screen-sm-min) {
99+
width: 370px;
100+
}
101+
}
95102
}
96103
.projects-options {
97104
display: flex;
@@ -157,4 +164,34 @@
157164
.project-info:hover {
158165
background-color: @table-bg-hover;
159166
}
167+
168+
.origin-modal-popup {
169+
@media (min-width: @screen-sm-min) {
170+
margin-left: -10px;
171+
margin-top: -25px;
172+
width: 370px;
173+
}
174+
175+
&.position-above {
176+
@media (min-width: @screen-sm-min) {
177+
margin-top: 20px;
178+
}
179+
}
180+
}
181+
182+
.with-description {
183+
.origin-modal-popup {
184+
@media (min-width: @screen-sm-min) {
185+
margin-top: -45px;
186+
}
187+
@media (min-width: @screen-md-min) {
188+
margin-top: -25px;
189+
}
190+
&.position-above {
191+
@media (min-width: @screen-sm-min) {
192+
margin-top: 20px;
193+
}
194+
}
195+
}
196+
}
160197
}

app/views/projects.html

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,13 @@ <h2 class="text-center">Loading...</h2>
2525
<h1>My Projects</h1>
2626
<div class="projects-options">
2727
<div class="projects-add" ng-if="canCreate">
28-
<a href="create-project" class="btn btn-md btn-primary">
29-
Create Project
30-
</a>
28+
<button ng-click="createProject()" class="btn btn-md btn-primary">
29+
<span class="fa fa-plus" aria-hidden="true"></span>
30+
<span class="icon-button-text">Create Project</span>
31+
</button>
32+
<origin-modal-popup shown="newProjectPanelShown" modal-title="Create Project" on-close="closeNewProjectPanel">
33+
<create-project is-dialog="true" redirect-action="onNewProject" on-cancel="closeNewProjectPanel"></create-project>
34+
</origin-modal-popup>
3135
</div>
3236
<div class="projects-search">
3337
<form role="form" class="search-pf has-button">
@@ -101,7 +105,7 @@ <h2 class="h1">
101105
</a>
102106
</li>
103107
<li role="menuitem">
104-
<a ng-href="project/{{project.metadata.name}}/edit?then=./">
108+
<a href="" ng-click="editProject(project)">
105109
Edit Project
106110
</a>
107111
</li>
@@ -120,6 +124,11 @@ <h2 class="h1">
120124
</ul>
121125
</div>
122126
</div>
127+
<origin-modal-popup shown="editProjectPanelShown && editingProject === project"
128+
ng-class="{'with-description': (project | description | size)}"
129+
modal-title="Edit Project" on-close="closeEditProjectPanel">
130+
<edit-project project="project" is-dialog="true" redirect-action="onEditProject" on-cancel="closeEditProjectPanel"></edit-project>
131+
</origin-modal-popup>
123132
</div>
124133
</div>
125134
<p class="projects-instructions" ng-if="canCreate === false" ng-include="'views/_cannot-create-project.html'"></p>

dist/scripts/scripts.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4232,6 +4232,18 @@ sortType: "alpha"
42324232
} ],
42334233
isAscending: !0,
42344234
onSortChange: b
4235+
}, e.newProjectPanelShown = !1, e.createProject = function() {
4236+
e.newProjectPanelShown = !0;
4237+
}, e.closeNewProjectPanel = function() {
4238+
e.newProjectPanelShown = !1;
4239+
}, e.onNewProject = function() {
4240+
e.newProjectPanelShown = !1;
4241+
}, e.editProjectPanelShown = !1, e.editProject = function(t) {
4242+
e.editingProject = t, e.editProjectPanelShown = !0;
4243+
}, e.closeEditProjectPanel = function() {
4244+
e.editProjectPanelShown = !1;
4245+
}, e.onEditProject = function() {
4246+
e.editProjectPanelShown = !1;
42354247
}, e.$watch("search.text", _.debounce(function(t) {
42364248
e.keywords = p = s.generateKeywords(t), e.$apply(h);
42374249
}, 50, {

dist/scripts/templates.js

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12675,9 +12675,13 @@ angular.module('openshiftConsoleTemplates', []).run(['$templateCache', function(
1267512675
"<h1>My Projects</h1>\n" +
1267612676
"<div class=\"projects-options\">\n" +
1267712677
"<div class=\"projects-add\" ng-if=\"canCreate\">\n" +
12678-
"<a href=\"create-project\" class=\"btn btn-md btn-primary\">\n" +
12679-
"Create Project\n" +
12680-
"</a>\n" +
12678+
"<button ng-click=\"createProject()\" class=\"btn btn-md btn-primary\">\n" +
12679+
"<span class=\"fa fa-plus\" aria-hidden=\"true\"></span>\n" +
12680+
"<span class=\"icon-button-text\">Create Project</span>\n" +
12681+
"</button>\n" +
12682+
"<origin-modal-popup shown=\"newProjectPanelShown\" modal-title=\"Create Project\" on-close=\"closeNewProjectPanel\">\n" +
12683+
"<create-project is-dialog=\"true\" redirect-action=\"onNewProject\" on-cancel=\"closeNewProjectPanel\"></create-project>\n" +
12684+
"</origin-modal-popup>\n" +
1268112685
"</div>\n" +
1268212686
"<div class=\"projects-search\">\n" +
1268312687
"<form role=\"form\" class=\"search-pf has-button\">\n" +
@@ -12738,7 +12742,7 @@ angular.module('openshiftConsoleTemplates', []).run(['$templateCache', function(
1273812742
"</a>\n" +
1273912743
"</li>\n" +
1274012744
"<li role=\"menuitem\">\n" +
12741-
"<a ng-href=\"project/{{project.metadata.name}}/edit?then=./\">\n" +
12745+
"<a href=\"\" ng-click=\"editProject(project)\">\n" +
1274212746
"Edit Project\n" +
1274312747
"</a>\n" +
1274412748
"</li>\n" +
@@ -12749,6 +12753,9 @@ angular.module('openshiftConsoleTemplates', []).run(['$templateCache', function(
1274912753
"</ul>\n" +
1275012754
"</div>\n" +
1275112755
"</div>\n" +
12756+
"<origin-modal-popup shown=\"editProjectPanelShown && editingProject === project\" ng-class=\"{'with-description': (project | description | size)}\" modal-title=\"Edit Project\" on-close=\"closeEditProjectPanel\">\n" +
12757+
"<edit-project project=\"project\" is-dialog=\"true\" redirect-action=\"onEditProject\" on-cancel=\"closeEditProjectPanel\"></edit-project>\n" +
12758+
"</origin-modal-popup>\n" +
1275212759
"</div>\n" +
1275312760
"</div>\n" +
1275412761
"<p class=\"projects-instructions\" ng-if=\"canCreate === false\" ng-include=\"'views/_cannot-create-project.html'\"></p>\n" +

dist/styles/main.css

Lines changed: 15 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)