Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
N
nexpie-grafana-theme
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Registry
Registry
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Kornkitt Poolsup
nexpie-grafana-theme
Commits
1bb5a570
Commit
1bb5a570
authored
Jul 27, 2018
by
Patrick O'Carroll
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
frontend part with mock-team-list
parent
0550ec6d
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
73 additions
and
41 deletions
+73
-41
public/app/features/org/partials/profile.html
+58
-41
public/app/features/org/profile_ctrl.ts
+15
-0
No files found.
public/app/features/org/partials/profile.html
View file @
1bb5a570
...
...
@@ -3,53 +3,70 @@
<div
class=
"page-container page-body"
>
<h3
class=
"page-sub-heading"
>
User Profile
</h3>
<form
name=
"ctrl.userForm"
class=
"gf-form-group"
>
<form
name=
"ctrl.userForm"
class=
"gf-form-group"
>
<div
class=
"gf-form max-width-30"
>
<span
class=
"gf-form-label width-8"
>
Name
</span>
<input
class=
"gf-form-input max-width-22"
type=
"text"
required
ng-model=
"ctrl.user.name"
>
</div>
<div
class=
"gf-form max-width-30"
>
<span
class=
"gf-form-label width-8"
>
Email
</span>
<input
class=
"gf-form-input max-width-22"
type=
"email"
ng-readonly=
"ctrl.readonlyLoginFields"
required
ng-model=
"ctrl.user.email"
>
<div
class=
"gf-form max-width-30"
>
<span
class=
"gf-form-label width-8"
>
Name
</span>
<input
class=
"gf-form-input max-width-22"
type=
"text"
required
ng-model=
"ctrl.user.name"
>
</div>
<div
class=
"gf-form max-width-30"
>
<span
class=
"gf-form-label width-8"
>
Email
</span>
<input
class=
"gf-form-input max-width-22"
type=
"email"
ng-readonly=
"ctrl.readonlyLoginFields"
required
ng-model=
"ctrl.user.email"
>
<i
ng-if=
"ctrl.readonlyLoginFields"
class=
"fa fa-lock gf-form-icon--right-absolute"
bs-tooltip=
"'Login Details Locked - managed in another system.'"
></i>
</div>
<div
class=
"gf-form max-width-30"
>
<span
class=
"gf-form-label width-8"
>
Username
</span>
<div
class=
"gf-form max-width-30"
>
<span
class=
"gf-form-label width-8"
>
Username
</span>
<input
class=
"gf-form-input max-width-22"
type=
"text"
ng-readonly=
"ctrl.readonlyLoginFields"
required
ng-model=
"ctrl.user.login"
>
<i
ng-if=
"ctrl.readonlyLoginFields"
class=
"fa fa-lock gf-form-icon--right-absolute"
bs-tooltip=
"'Login Details Locked - managed in another system.'"
></i>
</div>
<div
class=
"gf-form-button-row"
>
<button
type=
"submit"
class=
"btn btn-success"
ng-click=
"ctrl.update()"
>
Save
</button>
</div>
</form>
<div
class=
"gf-form-button-row"
>
<button
type=
"submit"
class=
"btn btn-success"
ng-click=
"ctrl.update()"
>
Save
</button>
</div>
</form>
<prefs-control
mode=
"user"
></prefs-control>
<prefs-control
mode=
"user"
></prefs-control>
<h3
class=
"page-heading"
ng-show=
"ctrl.showOrgsList"
>
Organizations
</h3>
<div
class=
"gf-form-group"
ng-show=
"ctrl.showOrgsList"
>
<table
class=
"filter-table form-inline"
>
<thead>
<tr>
<th>
Name
</th>
<th>
Role
</th>
<th></th>
</tr>
</thead>
<tbody>
<tr
ng-repeat=
"org in ctrl.orgs"
>
<td>
{{org.name}}
</td>
<td>
{{org.role}}
</td>
<td
class=
"text-right"
>
<span
class=
"btn btn-primary btn-mini"
ng-show=
"org.orgId === contextSrv.user.orgId"
>
Current
</span>
<a
ng-click=
"ctrl.setUsingOrg(org)"
class=
"btn btn-inverse btn-mini"
ng-show=
"org.orgId !== contextSrv.user.orgId"
>
Select
</a>
</td>
</tr>
</tbody>
</table>
</div>
<h3
class=
"page-heading"
>
Teams
</h3>
<div
class=
"gf-form-group"
ng-show=
"ctrl.showTeamsList"
>
<table
class=
"filter-table form-inline"
>
<thead>
<tr>
<th>
Name
</th>
<th>
Email
</th>
</tr>
</thead>
<tbody>
<tr
ng-repeat=
"team in ctrl.user.teams"
>
<td>
{{team.name}}
</td>
<td>
{{team.email}}
</td>
</tr>
</tbody>
</table>
</div>
<h3
class=
"page-heading"
ng-show=
"ctrl.showOrgsList"
>
Organizations
</h3>
<div
class=
"gf-form-group"
ng-show=
"ctrl.showOrgsList"
>
<table
class=
"filter-table form-inline"
>
<thead>
<tr>
<th>
Name
</th>
<th>
Role
</th>
<th></th>
</tr>
</thead>
<tbody>
<tr
ng-repeat=
"org in ctrl.orgs"
>
<td>
{{org.name}}
</td>
<td>
{{org.role}}
</td>
<td
class=
"text-right"
>
<span
class=
"btn btn-primary btn-mini"
ng-show=
"org.orgId === contextSrv.user.orgId"
>
Current
</span>
<a
ng-click=
"ctrl.setUsingOrg(org)"
class=
"btn btn-inverse btn-mini"
ng-show=
"org.orgId !== contextSrv.user.orgId"
>
Select
</a>
</td>
</tr>
</tbody>
</table>
</div>
public/app/features/org/profile_ctrl.ts
View file @
1bb5a570
...
...
@@ -4,8 +4,10 @@ import { coreModule } from 'app/core/core';
export
class
ProfileCtrl
{
user
:
any
;
old_theme
:
any
;
teams
:
any
=
[];
orgs
:
any
=
[];
userForm
:
any
;
showTeamsList
=
false
;
showOrgsList
=
false
;
readonlyLoginFields
=
config
.
disableLoginForm
;
navModel
:
any
;
...
...
@@ -13,6 +15,7 @@ export class ProfileCtrl {
/** @ngInject **/
constructor
(
private
backendSrv
,
private
contextSrv
,
private
$location
,
navModelSrv
)
{
this
.
getUser
();
this
.
getUserTeams
();
this
.
getUserOrgs
();
this
.
navModel
=
navModelSrv
.
getNav
(
'profile'
,
'profile-settings'
,
0
);
}
...
...
@@ -24,6 +27,18 @@ export class ProfileCtrl {
});
}
getUserTeams
()
{
console
.
log
(
this
.
backendSrv
.
get
(
'/api/teams'
));
this
.
backendSrv
.
get
(
'/api/user'
).
then
(
teams
=>
{
this
.
user
.
teams
=
[
{
name
:
'Backend'
,
email
:
'backend@grafana.com'
,
members
:
2
},
{
name
:
'Frontend'
,
email
:
'frontend@grafana.com'
,
members
:
2
},
{
name
:
'Ops'
,
email
:
'ops@grafana.com'
,
members
:
2
},
];
this
.
showTeamsList
=
this
.
user
.
teams
.
length
>
1
;
});
}
getUserOrgs
()
{
this
.
backendSrv
.
get
(
'/api/user/orgs'
).
then
(
orgs
=>
{
this
.
orgs
=
orgs
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment