2016-08-23 17:19:33 -07:00
|
|
|
@(user: String, isInternal:Boolean)
|
|
|
|
|
@main(user, "", isInternal) {
|
|
|
|
|
<div id="content">
|
|
|
|
|
<script type="text/x-handlebars" id="dashboard">
|
|
|
|
|
<div id="schemaView" class="container-fluid">
|
|
|
|
|
<div class="col-xs-12">
|
|
|
|
|
<div class="row">
|
|
|
|
|
<div class="col-xs-12">
|
|
|
|
|
<h3>Metadata Dashboard</h3>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="row">
|
|
|
|
|
<div class="col-xs-12 well well-sm">
|
|
|
|
|
<ul class="breadcrumbs">
|
|
|
|
|
{{#each breadcrumbs as |crumb|}}
|
|
|
|
|
<li>
|
|
|
|
|
<a href={{crumb.urn}} title={{crumb.title }}>
|
|
|
|
|
{{ crumb.title }}
|
|
|
|
|
</a>
|
|
|
|
|
</li>
|
|
|
|
|
{{/each}}
|
|
|
|
|
</ul>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<ul id="dashboardtabs" class="nav nav-tabs">
|
2016-08-26 13:39:11 -07:00
|
|
|
<li id="ownershippage">
|
|
|
|
|
<a id="ownershiplink" data-toggle="tab" href="#ownershiptab">Ownership</a>
|
|
|
|
|
</li>
|
|
|
|
|
<li id="descriptionpage">
|
|
|
|
|
<a id="descriptionlink" data-toggle="tab" href="#descriptiontab">Description</a>
|
|
|
|
|
</li>
|
|
|
|
|
<li id="idpcpage">
|
|
|
|
|
<a id="idpctablink" data-toggle="tab" href="#idpctab">IDPC Privacy</a>
|
|
|
|
|
</li>
|
2016-08-23 17:19:33 -07:00
|
|
|
<li id="confidentialpage">
|
|
|
|
|
<a id="confidentiallink" data-toggle="tab" href="#confidentialtab">Confidential Fields</a>
|
|
|
|
|
</li>
|
|
|
|
|
</ul>
|
|
|
|
|
<div class="tab-content">
|
2016-08-26 13:39:11 -07:00
|
|
|
<div id="ownershiptab" class="tab-pane">
|
|
|
|
|
</div>
|
|
|
|
|
<div id="descriptiontab" class="tab-pane">
|
|
|
|
|
<div class="row">
|
|
|
|
|
<div class="col-xs-12 col-md-4">
|
|
|
|
|
<h4>Dataset Description for {{ currentDescriptionUser.displayName }}</h4>
|
|
|
|
|
<table class="table table-bordered table-condensed table-hover">
|
|
|
|
|
<thead>
|
|
|
|
|
<tr>
|
|
|
|
|
<th class="text-center">Name</th>
|
|
|
|
|
<th class="text-center">Completion</th>
|
|
|
|
|
<th class="text-center">Total Datasets</th>
|
|
|
|
|
<th class="text-center">Has Description</th>
|
|
|
|
|
</tr>
|
|
|
|
|
</thead>
|
|
|
|
|
<tbody>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>
|
|
|
|
|
<img src={{currentDescriptionUser.iconUrl}} title={{currentDescriptionUser.displayName}}
|
|
|
|
|
width="25px"
|
|
|
|
|
height="25px"/>
|
|
|
|
|
<a href='metadata#/dashboard/{{currentDescriptionUser.userName}}' title={{currentDescriptionUser.displayName}}>
|
|
|
|
|
{{ currentDescriptionUser.displayName }}
|
|
|
|
|
</a>
|
|
|
|
|
</td>
|
|
|
|
|
<td class="text-center">{{ currentDescriptionUser.completed }}%</td>
|
|
|
|
|
<td class="text-center">{{ currentDescriptionUser.potentialDatasets }}</td>
|
|
|
|
|
<td class="text-center">{{ currentDescriptionUser.confirmed }}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</tbody>
|
|
|
|
|
</table>
|
|
|
|
|
<h4>Ticket Roll-Up for Individual User</h4>
|
|
|
|
|
<table class="table table-bordered table-condensed table-hover">
|
|
|
|
|
<thead>
|
|
|
|
|
<tr>
|
|
|
|
|
<th class="text-center">Name</th>
|
|
|
|
|
<th class="text-center">Completion</th>
|
|
|
|
|
<th class="text-center">Total Datasets</th>
|
|
|
|
|
<th class="text-center">Has Description</th>
|
|
|
|
|
</tr>
|
|
|
|
|
</thead>
|
|
|
|
|
<tbody>
|
|
|
|
|
{{#if userNoDescMembers}}
|
|
|
|
|
<tr>
|
|
|
|
|
<td colspan="5">
|
|
|
|
|
<div class="row">
|
|
|
|
|
<div class="col-xs-12 text-center">
|
|
|
|
|
This user has no one that reports to them.
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
{{else}}
|
|
|
|
|
{{#each descriptionOwners as |user|}}
|
|
|
|
|
<tr>
|
|
|
|
|
<td>
|
|
|
|
|
<img src={{user.iconUrl}} title={{user.displayName}}
|
|
|
|
|
width="25px"
|
|
|
|
|
height="25px"/>
|
|
|
|
|
<a href='metadata#/dashboard/{{user.userName}}' title={{user.displayName}}>
|
|
|
|
|
{{ user.displayName }}
|
|
|
|
|
</a>
|
|
|
|
|
</td>
|
|
|
|
|
<td class="text-center">{{ user.completed }}%</td>
|
|
|
|
|
<td class="text-center">{{ user.potentialDatasets }}</td>
|
|
|
|
|
<td class="text-center">{{ user.confirmed }}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
{{/each}}
|
|
|
|
|
{{/if}}
|
|
|
|
|
</tbody>
|
|
|
|
|
</table>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="col-xs-12 col-md-8">
|
|
|
|
|
<div class="row">
|
|
|
|
|
<div class="col-xs-9">
|
|
|
|
|
<h4>List of Datasets</h4>
|
|
|
|
|
</div>
|
2016-08-31 15:19:29 -07:00
|
|
|
<div class="col-xs-3 headerBarFilter">
|
2016-08-26 13:39:11 -07:00
|
|
|
<form class="form-inline">
|
|
|
|
|
<select id="descShowOption" class="form-control" {{action "optionChanged" on="change"}}>
|
|
|
|
|
{{#each descriptionOptions as |option index|}}
|
|
|
|
|
{{#if index}}
|
|
|
|
|
<option value={{option.option}}>{{option.value}}
|
|
|
|
|
</option>
|
|
|
|
|
{{else}}
|
|
|
|
|
<option selected value={{option.option}}>{{option.value}}
|
|
|
|
|
</option>
|
|
|
|
|
{{/if}}
|
|
|
|
|
{{/each}}
|
|
|
|
|
</select>
|
|
|
|
|
</form>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
2016-08-31 15:19:29 -07:00
|
|
|
<div class="row">
|
|
|
|
|
<div id="pie" class="col-xs-5"></div>
|
|
|
|
|
<div id="barchart" class="col-xs-7"></div>
|
|
|
|
|
</div>
|
2016-08-26 13:39:11 -07:00
|
|
|
<div class="search-pagination">
|
|
|
|
|
<ul class="pager">
|
|
|
|
|
{{#unless descFirst}}
|
|
|
|
|
<li class="previous">
|
|
|
|
|
<a {{ action "prevDescPage" }}>
|
|
|
|
|
← Prev
|
|
|
|
|
</a>
|
|
|
|
|
</li>
|
|
|
|
|
{{/unless}}
|
|
|
|
|
<li>
|
|
|
|
|
{{ descriptionDatasets.count }} datasets - page {{ descriptionDatasets.page }} of {{ descriptionDatasets.totalPages }}
|
|
|
|
|
</li>
|
|
|
|
|
{{#unless descLast}}
|
|
|
|
|
<li class="next">
|
|
|
|
|
<a {{ action "nextDescPage" }}>
|
|
|
|
|
Next →
|
|
|
|
|
</a>
|
|
|
|
|
</li>
|
|
|
|
|
{{/unless}}
|
|
|
|
|
</ul>
|
|
|
|
|
</div>
|
|
|
|
|
<table class="table table-bordered table-condensed table-hover table-striped">
|
|
|
|
|
<thead>
|
|
|
|
|
<tr>
|
|
|
|
|
<th class="text-center">Dataset</th>
|
|
|
|
|
<th class="text-center">Fields With Description</th>
|
|
|
|
|
<th class="text-center">Owners</th>
|
|
|
|
|
</tr>
|
|
|
|
|
</thead>
|
|
|
|
|
<tbody>
|
|
|
|
|
{{#if descInProgress}}
|
|
|
|
|
<tr>
|
|
|
|
|
<td colspan="8" class="text-center">
|
|
|
|
|
<div class="row">
|
|
|
|
|
<div class="col-xs-12">
|
|
|
|
|
<i class="fa fa-spinner spinning fa-4x">
|
|
|
|
|
</i>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
{{else}}
|
|
|
|
|
{{#if userNoDescriptionFields}}
|
|
|
|
|
<tr>
|
|
|
|
|
<td colspan="8">
|
|
|
|
|
<div class="row">
|
|
|
|
|
<div class="col-xs-12 text-center">
|
|
|
|
|
This user has no datasets with confidential fields.
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
{{else}}
|
|
|
|
|
{{#each descriptionDatasets.datasets as |dataset|}}
|
|
|
|
|
<tr>
|
|
|
|
|
<td>
|
|
|
|
|
<a href="/#/datasets/{{dataset.datasetId}}">
|
|
|
|
|
{{ dataset.datasetName }}
|
|
|
|
|
</a>
|
|
|
|
|
</td>
|
|
|
|
|
<td class="text-center" style="word-break: break-all;">
|
|
|
|
|
{{ dataset.confidentialFieldList }}
|
|
|
|
|
</td>
|
|
|
|
|
<td class="text-center">{{ dataset.ownerId }}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
{{/each}}
|
|
|
|
|
{{/if}}
|
|
|
|
|
{{/if}}
|
|
|
|
|
</tbody>
|
|
|
|
|
</table>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="idpctab" class="tab-pane">
|
|
|
|
|
</div>
|
2016-08-23 17:19:33 -07:00
|
|
|
<div id="confidentialtab" class="tab-pane">
|
|
|
|
|
<div class="row">
|
|
|
|
|
<div class="col-xs-12 col-md-4">
|
|
|
|
|
<h4>Confidential Fields for {{ currentConfidentialFieldsUser.displayName }}</h4>
|
|
|
|
|
<table class="table table-bordered table-condensed table-hover">
|
|
|
|
|
<thead>
|
|
|
|
|
<tr>
|
|
|
|
|
<th class="text-center">Name</th>
|
|
|
|
|
<th class="text-center">Completion</th>
|
|
|
|
|
<th class="text-center">Total Potential</th>
|
|
|
|
|
<th class="text-center">Confirmed</th>
|
|
|
|
|
</tr>
|
|
|
|
|
</thead>
|
|
|
|
|
<tbody>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>
|
|
|
|
|
<img src={{currentConfidentialFieldsUser.iconUrl}} title={{currentConfidentialFieldsUser.displayName}}
|
|
|
|
|
width="25px"
|
|
|
|
|
height="25px"/>
|
|
|
|
|
<a href='metadata#/dashboard/{{currentConfidentialFieldsUser.userName}}' title={{currentConfidentialFieldsUser.displayName}}>
|
|
|
|
|
{{ currentConfidentialFieldsUser.displayName }}
|
|
|
|
|
</a>
|
|
|
|
|
</td>
|
|
|
|
|
<td class="text-center">{{ currentConfidentialFieldsUser.completed }}%</td>
|
|
|
|
|
<td class="text-center">{{ currentConfidentialFieldsUser.potentialDatasets }}</td>
|
|
|
|
|
<td class="text-center">{{ currentConfidentialFieldsUser.confirmed }}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</tbody>
|
|
|
|
|
</table>
|
|
|
|
|
<h4>Ticket Roll-Up for Individual User</h4>
|
|
|
|
|
<table class="table table-bordered table-condensed table-hover">
|
|
|
|
|
<thead>
|
|
|
|
|
<tr>
|
|
|
|
|
<th class="text-center">Name</th>
|
|
|
|
|
<th class="text-center">Completion</th>
|
|
|
|
|
<th class="text-center">Total Potential</th>
|
|
|
|
|
<th class="text-center">Confirmed</th>
|
|
|
|
|
</tr>
|
|
|
|
|
</thead>
|
|
|
|
|
<tbody>
|
2016-08-26 13:39:11 -07:00
|
|
|
{{#if userNoCfMembers}}
|
2016-08-23 17:19:33 -07:00
|
|
|
<tr>
|
|
|
|
|
<td colspan="5">
|
|
|
|
|
<div class="row">
|
|
|
|
|
<div class="col-xs-12 text-center">
|
|
|
|
|
This user has no one that reports to them.
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
{{else}}
|
|
|
|
|
{{#each confidentialFieldsOwners as |user|}}
|
|
|
|
|
<tr>
|
|
|
|
|
<td>
|
|
|
|
|
<img src={{user.iconUrl}} title={{user.displayName}}
|
|
|
|
|
width="25px"
|
|
|
|
|
height="25px"/>
|
|
|
|
|
<a href='metadata#/dashboard/{{user.userName}}' title={{user.displayName}}>
|
|
|
|
|
{{ user.displayName }}
|
|
|
|
|
</a>
|
|
|
|
|
</td>
|
|
|
|
|
<td class="text-center">{{ user.completed }}%</td>
|
|
|
|
|
<td class="text-center">{{ user.potentialDatasets }}</td>
|
|
|
|
|
<td class="text-center">{{ user.confirmed }}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
{{/each}}
|
|
|
|
|
{{/if}}
|
|
|
|
|
</tbody>
|
|
|
|
|
</table>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="col-xs-12 col-md-8">
|
|
|
|
|
<div class="row">
|
|
|
|
|
<div class="col-xs-9">
|
|
|
|
|
<h4>List of Potential Datasets</h4>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="search-pagination">
|
|
|
|
|
<ul class="pager">
|
|
|
|
|
{{#unless cfFirst}}
|
|
|
|
|
<li class="previous">
|
|
|
|
|
<a {{ action "prevCfPage" }}>
|
|
|
|
|
← Prev
|
|
|
|
|
</a>
|
|
|
|
|
</li>
|
|
|
|
|
{{/unless}}
|
|
|
|
|
<li>
|
|
|
|
|
{{ confidentialFieldsDatasets.count }} datasets - page {{ confidentialFieldsDatasets.page }} of {{ confidentialFieldsDatasets.totalPages }}
|
|
|
|
|
</li>
|
|
|
|
|
{{#unless cfLast}}
|
|
|
|
|
<li class="next">
|
|
|
|
|
<a {{ action "nextCfPage" }}>
|
|
|
|
|
Next →
|
|
|
|
|
</a>
|
|
|
|
|
</li>
|
|
|
|
|
{{/unless}}
|
|
|
|
|
</ul>
|
|
|
|
|
</div>
|
|
|
|
|
<table class="table table-bordered table-condensed table-hover table-striped">
|
|
|
|
|
<thead>
|
|
|
|
|
<tr>
|
|
|
|
|
<th class="text-center">Dataset</th>
|
|
|
|
|
<th class="text-center">Fields</th>
|
|
|
|
|
<th class="text-center">Owners</th>
|
|
|
|
|
</tr>
|
|
|
|
|
</thead>
|
|
|
|
|
<tbody>
|
2016-08-26 13:39:11 -07:00
|
|
|
{{#if cfInProgress}}
|
2016-08-23 17:19:33 -07:00
|
|
|
<tr>
|
|
|
|
|
<td colspan="8" class="text-center">
|
|
|
|
|
<div class="row">
|
|
|
|
|
<div class="col-xs-12">
|
|
|
|
|
<i class="fa fa-spinner spinning fa-4x">
|
|
|
|
|
</i>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
{{else}}
|
|
|
|
|
{{#if userNoConfidentialFields}}
|
|
|
|
|
<tr>
|
|
|
|
|
<td colspan="8">
|
|
|
|
|
<div class="row">
|
|
|
|
|
<div class="col-xs-12 text-center">
|
|
|
|
|
This user has no datasets with confidential fields.
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
{{else}}
|
|
|
|
|
{{#each confidentialFieldsDatasets.datasets as |dataset|}}
|
|
|
|
|
<tr>
|
|
|
|
|
<td>
|
|
|
|
|
<a href="/#/datasets/{{dataset.datasetId}}">
|
|
|
|
|
{{ dataset.datasetName }}
|
|
|
|
|
</a>
|
|
|
|
|
</td>
|
|
|
|
|
<td class="text-center">
|
|
|
|
|
{{ dataset.confidentialFieldList }}
|
|
|
|
|
</td>
|
|
|
|
|
<td class="text-center">{{ dataset.ownerId }}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
{{/each}}
|
|
|
|
|
{{/if}}
|
|
|
|
|
{{/if}}
|
|
|
|
|
</tbody>
|
|
|
|
|
</table>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</script>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<script src="@routes.Assets.at("vendors/ember-2.6.2/ember-template-compiler.js")" type="text/javascript"></script>
|
|
|
|
|
<script src="@routes.Assets.at("vendors/ember-2.6.2/ember.js")" type="text/javascript"></script>
|
2016-08-31 15:19:29 -07:00
|
|
|
<script src="@routes.Assets.at("vendors/dagre-d3/lib/d3.js")" type="text/javascript"></script>
|
|
|
|
|
<script src="@routes.Assets.at("vendors/d3pie-0.18/d3pie-customized.js")" type="text/javascript"></script>
|
2016-08-23 17:19:33 -07:00
|
|
|
<script src="@routes.Assets.at("javascripts/dashboard.js")" type="text/javascript"></script>
|
|
|
|
|
}
|