2015-11-19 14:39:21 -08:00
|
|
|
@(user: String, csrfToken: String)
|
|
|
|
@main(user, csrfToken) {
|
|
|
|
<div>
|
|
|
|
<div id="mainSplitter">
|
|
|
|
<div id="tabSplitter">
|
2016-06-23 17:36:30 -07:00
|
|
|
<div class="btn-group" role="group" aria-label="Toggle List/Tree View">
|
|
|
|
<button id="listviewbtn" type="button" class="btn btn-primary">List View</button>
|
|
|
|
<button id="treeviewbtn" type="button" class="btn btn-default">Tree View</button>
|
|
|
|
</div>
|
|
|
|
<ul id="menutabs" style="display:none" class="nav nav-tabs category-header">
|
2015-11-19 14:39:21 -08:00
|
|
|
<li>
|
2016-03-02 00:49:15 -08:00
|
|
|
<a data-toggle="tab" href="#filtertab">Datasets</a>
|
2015-11-19 14:39:21 -08:00
|
|
|
</li>
|
2016-03-02 00:49:15 -08:00
|
|
|
<li><a data-toggle="tab" href="#flowtab">Flows</a></li>
|
2015-11-19 14:39:21 -08:00
|
|
|
</ul>
|
|
|
|
<div class="tab-content">
|
2016-07-01 14:06:42 -07:00
|
|
|
<div class="filter">
|
|
|
|
<input id="filterinput" placeholder="Filter By">
|
2016-06-23 17:36:30 -07:00
|
|
|
</div>
|
2015-11-19 14:39:21 -08:00
|
|
|
<div id="filtertab" class="tab-pane">
|
2016-06-23 17:36:30 -07:00
|
|
|
<div id="datasetlist" class="list-group"></div>
|
|
|
|
<div id="tree2" data-source="ajax" class="sampletree" style="display: none;"></div>
|
2015-11-19 14:39:21 -08:00
|
|
|
</div>
|
|
|
|
<div id="flowtab" class="tab-pane">
|
2016-06-23 17:36:30 -07:00
|
|
|
<div id="flowlist" class="list-group"></div>
|
|
|
|
<div id="tree3" data-source="ajax" class="sampletree" style="display: none;"></div>
|
2015-11-19 14:39:21 -08:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div id="contentSplitter">
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
2016-02-08 02:15:58 -08:00
|
|
|
<div class="modal" tabindex="-1" role="dialog" aria-labelledby="convertTableModal" id="convertTableModal">
|
|
|
|
<div class="modal-dialog modal-lg" role="document">
|
|
|
|
<div class="modal-content">
|
|
|
|
<div class="modal-header">
|
|
|
|
<h3>Convert a CSV table to markdown table</h3>
|
|
|
|
</div>
|
|
|
|
<div class="modal-body">
|
|
|
|
<textarea style="width: 100%; height: 200px;" id="tsv-input"></textarea>
|
|
|
|
<label><input type="checkbox" id="has-headers"> Use first line as headers</label>
|
|
|
|
<select id="delimiter-marker">
|
|
|
|
<option value="tab">Tab Separated</option>
|
|
|
|
<option value=",">Comma Separated</option>
|
|
|
|
<option value=";">Semicolon Separated</option>
|
|
|
|
</select>
|
|
|
|
<hr>
|
|
|
|
<textarea style="width: 100%; height: 200px;" id="table-output" readonly=""></textarea>
|
|
|
|
</div>
|
|
|
|
<div class="modal-footer">
|
|
|
|
<button type="button" class="btn btn-primary" data-dismiss="modal">
|
|
|
|
Cancel
|
|
|
|
</button>
|
|
|
|
<button type="button" class="btn btn-default" id="submitConvertForm">
|
|
|
|
Insert
|
|
|
|
</button>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
2015-11-19 14:39:21 -08:00
|
|
|
<script type="text/x-handlebars" id="components/dataset-favorite">
|
|
|
|
<i
|
2016-08-04 18:46:33 -07:00
|
|
|
class="wh-clickable-icon fa {{if dataset.isFavorite 'fa-heart'}} {{unless dataset.isFavorite 'fa-heart-o'}}"
|
2015-11-19 14:39:21 -08:00
|
|
|
{{action "favorites" dataset}}
|
|
|
|
>
|
|
|
|
</i>
|
|
|
|
</script>
|
|
|
|
|
2016-02-04 04:59:58 -08:00
|
|
|
<script type="text/x-handlebars" id="components/dataset-owner">
|
|
|
|
<i
|
2016-08-04 18:46:33 -07:00
|
|
|
class="wh-clickable-icon fa {{if dataset.isOwned 'fa-bookmark'}} {{unless dataset.isOwned 'fa-bookmark-o'}}"
|
2016-02-04 04:59:58 -08:00
|
|
|
{{action "owned" dataset}}
|
|
|
|
>
|
|
|
|
</i>
|
|
|
|
</script>
|
|
|
|
|
2015-11-19 14:39:21 -08:00
|
|
|
<script type="text/x-handlebars" id="components/dataset-watch">
|
|
|
|
<i
|
2016-08-04 18:46:33 -07:00
|
|
|
class="wh-clickable-icon fa {{if dataset.watchId 'fa-eye-slash'}} {{unless dataset.watchId 'fa-eye'}}"
|
2015-11-19 14:39:21 -08:00
|
|
|
{{action "watch" dataset}}
|
|
|
|
>
|
|
|
|
</i>
|
|
|
|
{{#if showText}}
|
|
|
|
{{#if dataset.watchId}}
|
|
|
|
Unwatch
|
|
|
|
{{else}}
|
|
|
|
Watch
|
|
|
|
{{/if}}
|
|
|
|
{{/if}}
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<script type="text/x-handlebars" id="components/metric-watch">
|
|
|
|
<i
|
2016-08-04 18:46:33 -07:00
|
|
|
class="fa {{if metric.watchId 'fa-eye-slash'}} {{unless metric.watchId 'fa-eye'}}"
|
2015-11-19 14:39:21 -08:00
|
|
|
{{action "watch" metric}}
|
|
|
|
>
|
|
|
|
</i>
|
|
|
|
{{#if showText}}
|
|
|
|
{{#if metric.watchId}}
|
|
|
|
Unwatch
|
|
|
|
{{else}}
|
|
|
|
Watch
|
|
|
|
{{/if}}
|
|
|
|
{{/if}}
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<script type="text/x-handlebars" id="datasets">
|
|
|
|
<div id="pagedDatasets">
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-xs-12">
|
|
|
|
{{#unless detailview}}
|
2016-06-23 17:36:30 -07:00
|
|
|
<div class="well well-sm">
|
|
|
|
<div class="row">
|
2016-06-24 17:12:24 -07:00
|
|
|
<div class="col-xs-11">
|
2016-06-23 17:36:30 -07:00
|
|
|
<ul class="breadcrumbs">
|
|
|
|
{{#each breadcrumbs as |crumb|}}
|
|
|
|
<li>
|
|
|
|
<a
|
|
|
|
title="{{crumb.title}}"
|
|
|
|
href="#/datasets/{{crumb.urn}}"
|
|
|
|
>
|
|
|
|
{{crumb.title}}
|
|
|
|
</a>
|
|
|
|
</li>
|
|
|
|
{{/each}}
|
|
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
2015-11-19 14:39:21 -08:00
|
|
|
<div class="search-pagination">
|
|
|
|
<ul class="pager">
|
|
|
|
{{#unless first}}
|
|
|
|
<li class="previous">
|
|
|
|
{{#if urn}}
|
|
|
|
{{#link-to 'subpage' currentName previousPage (query-params urn=urn)}}
|
|
|
|
← Prev
|
|
|
|
{{/link-to}}
|
|
|
|
{{else}}
|
|
|
|
{{#link-to 'page' previousPage}}
|
|
|
|
← Prev
|
|
|
|
{{/link-to}}
|
|
|
|
{{/if}}
|
|
|
|
</li>
|
|
|
|
{{/unless}}
|
|
|
|
<li>
|
|
|
|
{{ model.data.count }} datasets - page {{ model.data.page }} of {{ model.data.totalPages }}
|
|
|
|
</li>
|
|
|
|
{{#unless last}}
|
|
|
|
<li class="next">
|
|
|
|
{{#if urn}}
|
|
|
|
{{#link-to 'subpage' currentName nextPage (query-params urn=urn)}}
|
|
|
|
Next →
|
|
|
|
{{/link-to}}
|
|
|
|
{{else}}
|
|
|
|
{{#link-to 'page' nextPage}}
|
|
|
|
Next →
|
|
|
|
{{/link-to}}
|
|
|
|
{{/if}}
|
|
|
|
</li>
|
|
|
|
{{/unless}}
|
|
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
{{/unless}}
|
|
|
|
{{#unless detailview}}
|
|
|
|
<table
|
|
|
|
class="table table-bordered search-results"
|
|
|
|
style="word-break: break-all;">
|
|
|
|
<tbody>
|
2016-08-04 17:44:47 -07:00
|
|
|
{{#each model.data.datasets as |dataset|}}
|
2015-11-19 14:39:21 -08:00
|
|
|
<tr>
|
|
|
|
<td>
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-md-8">
|
|
|
|
<div class="col-xs-12">
|
|
|
|
{{#link-to 'dataset' dataset}}
|
|
|
|
{{ dataset.name }}
|
|
|
|
{{/link-to}}
|
|
|
|
</div>
|
2016-02-04 03:30:58 -08:00
|
|
|
{{#if dataset.owners}}
|
2015-11-19 14:39:21 -08:00
|
|
|
<div class="col-xs-12">
|
2016-07-27 16:44:18 -07:00
|
|
|
<span>owner:</span>
|
2016-08-04 17:44:47 -07:00
|
|
|
{{#each dataset.owners as |owner|}}
|
2016-02-04 03:30:58 -08:00
|
|
|
<p style="display:inline" title={{owner.name}}>{{ owner.userName }} </p>
|
|
|
|
{{/each}}
|
2015-11-19 14:39:21 -08:00
|
|
|
</div>
|
2016-02-04 03:30:58 -08:00
|
|
|
{{/if}}
|
|
|
|
{{#if dataset.formatedModified}}
|
2015-11-19 14:39:21 -08:00
|
|
|
<div class="col-xs-12">
|
2016-07-27 16:44:18 -07:00
|
|
|
<span>last modified:</span>
|
2016-02-04 03:30:58 -08:00
|
|
|
{{ dataset.formatedModified }}
|
2015-11-19 14:39:21 -08:00
|
|
|
</div>
|
2016-02-04 03:30:58 -08:00
|
|
|
{{/if}}
|
2015-11-19 14:39:21 -08:00
|
|
|
</div>
|
|
|
|
<div class="col-md-4 text-right">
|
|
|
|
<ul class="datasetTableLinks">
|
|
|
|
<li
|
|
|
|
class="text-center no-link"
|
|
|
|
>
|
|
|
|
<span class="source">
|
|
|
|
{{ dataset.source }}
|
|
|
|
</span>
|
|
|
|
</li>
|
2016-02-23 14:08:54 -08:00
|
|
|
<li class="text-center" title="ownership">
|
2016-02-04 04:59:58 -08:00
|
|
|
{{#dataset-owner dataset=dataset action="owned"}}
|
|
|
|
{{/dataset-owner}}
|
|
|
|
</li>
|
2016-02-23 14:08:54 -08:00
|
|
|
<li class="text-center" title="favorite">
|
2015-11-19 14:39:21 -08:00
|
|
|
{{#dataset-favorite dataset=dataset action="didFavorite"}}
|
|
|
|
{{/dataset-favorite}}
|
|
|
|
</li>
|
2016-02-23 14:08:54 -08:00
|
|
|
<li class="text-center" title="watch">
|
2015-11-19 14:39:21 -08:00
|
|
|
{{#dataset-watch dataset=dataset getDatasets='getDatasets'}}
|
|
|
|
{{/dataset-watch}}
|
|
|
|
</li>
|
2016-02-23 14:08:54 -08:00
|
|
|
<li class="text-center">
|
2015-11-19 14:39:21 -08:00
|
|
|
<a
|
|
|
|
href="/lineage/dataset/{{dataset.id}}"
|
2016-02-23 14:08:54 -08:00
|
|
|
title="lineage for {{dataset.name}}"
|
2015-11-19 14:39:21 -08:00
|
|
|
>
|
|
|
|
<i class="fa fa-sitemap"></i>
|
|
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
{{/each}}
|
|
|
|
</tbody>
|
|
|
|
</table>
|
|
|
|
{{/unless}}
|
|
|
|
</div>
|
|
|
|
<div class="col-xs-12">
|
|
|
|
{{outlet}}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</script>
|
|
|
|
|
2016-08-04 17:44:47 -07:00
|
|
|
<script type="text/x-handlebars" id="components/ember-selector">
|
|
|
|
<select id="ember-selector" class="form-control">
|
|
|
|
{{#each renderValues as |value|}}
|
|
|
|
{{#if value.isSelected}}
|
|
|
|
<option value="{{value.value}}" selected>
|
|
|
|
{{value.value}}
|
|
|
|
</option>
|
|
|
|
{{else}}
|
|
|
|
<option value="{{value.value}}">
|
|
|
|
{{value.value}}
|
|
|
|
</option>
|
|
|
|
{{/if}}
|
|
|
|
{{/each}}
|
|
|
|
</select>
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<script type="text/x-handlebars" id="components/dataset-schema">
|
2015-11-19 14:39:21 -08:00
|
|
|
{{#if hasSchemas}}
|
|
|
|
<div class="row" style="margin-top: 5px; margin-bottom: 5px;">
|
|
|
|
<div class="col-xs-12">
|
|
|
|
<div
|
|
|
|
class="btn-group"
|
|
|
|
role="group"
|
|
|
|
aria-label="Toggle Tabular/JSON Schema View">
|
|
|
|
<button
|
|
|
|
type="button"
|
2016-08-04 17:44:47 -07:00
|
|
|
class="btn {{if isTable 'btn-primary'}} {{unless isTable 'btn-default'}}"
|
|
|
|
{{action "setView" "tabular"}}>
|
2015-11-19 14:39:21 -08:00
|
|
|
View As Tabular
|
|
|
|
</button>
|
|
|
|
<button
|
|
|
|
type="button"
|
2016-08-04 17:44:47 -07:00
|
|
|
class="btn {{if isJSON 'btn-primary'}} {{unless isJSON 'btn-default'}}"
|
2015-11-19 14:39:21 -08:00
|
|
|
{{action "setView" "json"}}>
|
|
|
|
View As JSON
|
|
|
|
</button>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
2016-03-04 15:54:31 -08:00
|
|
|
<table id="json-table" class="columntreegrid tree table table-bordered dataset-detail-table">
|
|
|
|
<thead>
|
|
|
|
<tr class="results-header">
|
2016-03-11 11:41:19 -08:00
|
|
|
<th style="min-width: 200px;" class="col-xs-2">Column</th>
|
2016-03-04 15:54:31 -08:00
|
|
|
<th class="col-xs-1">Data Type</th>
|
|
|
|
<th title="Is nullable" style="width:15px;">N</th>
|
|
|
|
<th title="Is indexed" style="width:15px;">I</th>
|
|
|
|
<th title="Is partitioned" style="width:15px;">P</th>
|
|
|
|
<th title="Is distributed" style="width:15px;">D</th>
|
2016-03-11 11:41:19 -08:00
|
|
|
<th class="col-xs-7"> Default Comments</th>
|
|
|
|
<th title="Comment Count" style="width:15px;">
|
|
|
|
<i class="fa fa-comments" title="Comment Count"></i>
|
|
|
|
</th>
|
2016-03-04 15:54:31 -08:00
|
|
|
</tr>
|
|
|
|
</thead>
|
|
|
|
<tbody>
|
2016-08-04 17:44:47 -07:00
|
|
|
{{#each schemas as |schema|}}
|
2016-08-04 18:46:33 -07:00
|
|
|
<tr class="{{schema.treeGridClass}}">
|
2016-03-04 15:54:31 -08:00
|
|
|
<td>{{schema.fieldName}}</td>
|
|
|
|
<td>{{schema.dataType}}</td>
|
|
|
|
<td title="Is nullable" class="text-center">
|
|
|
|
{{#if schema.nullable}}
|
|
|
|
<i class="glyphicon glyphicon-ok"></i>
|
|
|
|
{{/if}}
|
|
|
|
</td>
|
|
|
|
<td title="Is indexed" class="text-center">
|
|
|
|
{{#if schema.indexed}}
|
|
|
|
<i class="glyphicon glyphicon-ok"></i>
|
|
|
|
{{/if}}
|
|
|
|
</td>
|
|
|
|
<td title="Is partitioned" class="text-center">
|
|
|
|
{{#if schema.partitioned}}
|
|
|
|
<i class="glyphicon glyphicon-ok"></i>
|
|
|
|
{{/if}}
|
|
|
|
</td>
|
|
|
|
<td title="Is distributed" class="text-center">
|
|
|
|
{{#if schema.distributed}}
|
|
|
|
<i class="glyphicon glyphicon-ok"></i>
|
|
|
|
{{/if}}
|
|
|
|
</td>
|
|
|
|
<td class="commentsArea">
|
|
|
|
<div class="commentsArea">
|
2016-08-31 16:50:20 -07:00
|
|
|
{{#schema-comment schema=schema datasetId=dataset.id fieldId=schema.id}}{{/schema-comment}}
|
2016-03-04 15:54:31 -08:00
|
|
|
{{schema.commentHtml}}
|
|
|
|
</div>
|
|
|
|
</td>
|
2016-03-11 11:41:19 -08:00
|
|
|
<td class="text-center">
|
|
|
|
{{schema.commentCount}}
|
|
|
|
</td>
|
2016-03-04 15:54:31 -08:00
|
|
|
</tr>
|
|
|
|
{{/each}}
|
|
|
|
</tbody>
|
|
|
|
</table>
|
|
|
|
<div id="json-viewer" style="display:none;"></div>
|
2015-11-19 14:39:21 -08:00
|
|
|
{{else}}
|
|
|
|
<div id="json-viewer"></div>
|
|
|
|
{{/if}}
|
|
|
|
</script>
|
|
|
|
|
2016-08-04 17:44:47 -07:00
|
|
|
<script type="text/x-handlebars" id="components/dataset-property">
|
2015-11-19 14:39:21 -08:00
|
|
|
{{#if hasProperty}}
|
|
|
|
<div>
|
2016-08-04 17:44:47 -07:00
|
|
|
{{#each properties as |item|}}
|
2016-07-27 16:44:18 -07:00
|
|
|
<div class="prop-row group">
|
|
|
|
<div class="prop-label">{{item.key}}:</div>
|
|
|
|
{{#if item.isSelectController}}
|
|
|
|
<div class="prop-value-query">{{item.value}}</div>
|
|
|
|
{{else}}
|
|
|
|
<div class="prop-value">{{item.value}}</div>
|
|
|
|
{{/if}}
|
2015-11-19 14:39:21 -08:00
|
|
|
</div>
|
|
|
|
{{/each}}
|
|
|
|
</div>
|
|
|
|
{{else}}
|
|
|
|
<p>Property is not available</p>
|
|
|
|
{{/if}}
|
|
|
|
</script>
|
|
|
|
|
2016-11-23 15:19:29 -08:00
|
|
|
<script type="text/x-handlebars" id="components/dataset-owner-list">
|
|
|
|
{{#if owners}}
|
2016-11-30 14:31:03 -08:00
|
|
|
<header>
|
|
|
|
Owners:
|
|
|
|
<ul>
|
|
|
|
{{#each owners as |owner|}}
|
|
|
|
<li>
|
|
|
|
{{#if owner.email}}
|
|
|
|
<a title="Email {{owner.name}} about {{datasetName}}"
|
|
|
|
href="mailto:{{owner.email}}?subject=RE: Dataset {{datasetName}}">
|
|
|
|
{{owner.name}}
|
|
|
|
</a>
|
|
|
|
{{else}}
|
2016-11-23 15:19:29 -08:00
|
|
|
{{owner.name}}
|
2016-11-30 14:31:03 -08:00
|
|
|
{{/if}}
|
|
|
|
</li>
|
|
|
|
{{/each}}
|
|
|
|
</ul>
|
|
|
|
{{#if ownersEmailList}}
|
|
|
|
<span>
|
|
|
|
<a title="Email all dataset owners" href="mailto: {{ownersEmailList}}">Ask a question?</a>
|
|
|
|
</span>
|
|
|
|
{{/if}}
|
|
|
|
</header>
|
2016-11-23 15:19:29 -08:00
|
|
|
{{else}}
|
|
|
|
No known owners for this dataset
|
|
|
|
{{/if}}
|
|
|
|
</script>
|
|
|
|
|
2016-08-04 17:44:47 -07:00
|
|
|
<script type="text/x-handlebars" id="components/dataset-author">
|
2016-02-08 00:45:19 -08:00
|
|
|
<div class="row" style="margin-top: 5px; margin-bottom: 5px;">
|
|
|
|
<div class="col-xs-12">
|
|
|
|
<div class="btn-group" role="group">
|
|
|
|
<button id="addownerbtn" type="button" class="btn btn-default" {{action "addOwner" owners}}>
|
|
|
|
<i class="fa fa-plus" title="add an owner">
|
|
|
|
</i>
|
|
|
|
</button>
|
|
|
|
<button type="button" class="btn btn-default" {{action "updateOwners" owners}}>
|
|
|
|
<i class="fa fa-save" title="save the change">
|
|
|
|
</i>
|
|
|
|
</button>
|
|
|
|
</div>
|
2016-02-08 02:58:42 -08:00
|
|
|
{{#if showMsg}}
|
2016-08-04 17:44:47 -07:00
|
|
|
<div class="alert {{alertType}}" role="alert">{{ownerMessage}}</div>
|
2016-02-08 02:58:42 -08:00
|
|
|
{{/if}}
|
2016-02-08 00:45:19 -08:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<table class="table table-striped" style="word-break: break-all;">
|
|
|
|
<thead>
|
|
|
|
<tr>
|
|
|
|
<th class="col-xs-2">User Name</th>
|
2016-09-19 16:10:23 -07:00
|
|
|
<th class="col-xs-2">Full Name</th>
|
|
|
|
<th class="col-xs-1">Owner ID Type</th>
|
|
|
|
<th class="col-xs-1">Owner Source</th>
|
2016-02-23 14:08:54 -08:00
|
|
|
<th class="col-xs-2">Owner Type</th>
|
|
|
|
<th class="col-xs-2">Owner Sub Type</th>
|
2016-09-19 16:10:23 -07:00
|
|
|
<th class="col-xs-1">Confirmed</th>
|
2016-02-08 00:45:19 -08:00
|
|
|
<th class="col-xs-1"></th>
|
|
|
|
</tr>
|
|
|
|
</thead>
|
2016-11-23 01:11:03 -08:00
|
|
|
<tbody data-attribute="owner-table">
|
2016-08-04 17:44:47 -07:00
|
|
|
{{#each owners as |owner|}}
|
2016-02-08 00:45:19 -08:00
|
|
|
<tr>
|
|
|
|
<td>{{input class="userEntity" value=owner.userName}}</td>
|
|
|
|
<td>{{owner.name}}</td>
|
2016-09-19 16:10:23 -07:00
|
|
|
<td>{{owner.idType}}</td>
|
|
|
|
<td>{{owner.source}}</td>
|
2016-02-08 00:45:19 -08:00
|
|
|
<td>
|
2016-08-04 17:44:47 -07:00
|
|
|
{{#ember-selector values=ownerTypes selected=owner.type}}
|
|
|
|
{{/ember-selector}}
|
2016-02-08 00:45:19 -08:00
|
|
|
</td>
|
|
|
|
<td>
|
|
|
|
{{input value=owner.subType}}
|
|
|
|
</td>
|
2016-09-19 16:10:23 -07:00
|
|
|
<td>
|
|
|
|
{{#if owner.confirmedBy}}
|
|
|
|
<i class="fa fa-check-square-o" title="Owner confirmed by {{owner.confirmedBy}}" {{action "confirmOwner" owner false}}>
|
|
|
|
</i>
|
|
|
|
{{else}}
|
|
|
|
<i class="fa fa-square-o" title="Please confirmed" {{action "confirmOwner" owner true}}>
|
|
|
|
</i>
|
|
|
|
{{/if}}
|
|
|
|
</td>
|
2016-02-08 00:45:19 -08:00
|
|
|
<td>
|
|
|
|
<i class="fa fa-trash" title="remove this owner" {{action "removeOwner" owners owner}}>
|
|
|
|
</i>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
{{/each}}
|
|
|
|
</tbody>
|
|
|
|
</table>
|
|
|
|
</script>
|
|
|
|
|
2016-08-04 17:44:47 -07:00
|
|
|
<script type="text/x-handlebars" id="components/dataset-sample">
|
2015-11-19 14:39:21 -08:00
|
|
|
{{#if hasSamples}}
|
2016-02-25 11:57:25 -08:00
|
|
|
{{#if isPinot}}
|
2015-11-19 14:39:21 -08:00
|
|
|
<table id="pinotsampletreegrid" class="tree table table-bordered dataset-detail-table">
|
|
|
|
<thead>
|
|
|
|
<tr class="results-header">
|
2016-08-04 17:44:47 -07:00
|
|
|
{{#each columns as |column|}}
|
2015-11-19 14:39:21 -08:00
|
|
|
<th class="col-xs-2">{{column}}</th>
|
|
|
|
{{/each}}
|
|
|
|
</tr>
|
|
|
|
</thead>
|
|
|
|
<tbody>
|
2016-08-04 17:44:47 -07:00
|
|
|
{{#each samples as |sample|}}
|
2015-11-19 14:39:21 -08:00
|
|
|
<tr>
|
2016-08-04 17:44:47 -07:00
|
|
|
{{#each sample as |r|}}
|
2015-11-19 14:39:21 -08:00
|
|
|
<td class="wrap-all-word">{{r}}</td>
|
|
|
|
{{/each}}
|
|
|
|
</tr>
|
|
|
|
{{/each}}
|
|
|
|
</tbody>
|
|
|
|
</table>
|
2016-02-25 11:57:25 -08:00
|
|
|
{{else}}
|
|
|
|
<div id="datasetSampleData-json-human" class="table-responsive"></div>
|
2015-11-19 14:39:21 -08:00
|
|
|
{{/if}}
|
|
|
|
{{else}}
|
|
|
|
<p>Sample data is not available</p>
|
|
|
|
{{/if}}
|
|
|
|
</script>
|
|
|
|
|
2016-08-04 17:44:47 -07:00
|
|
|
<script type="text/x-handlebars" id="components/dataset-impact">
|
2015-11-19 14:39:21 -08:00
|
|
|
{{#if hasImpacts}}
|
|
|
|
<table id="impactAnalysisTable" class="tree table table-bordered dataset-detail-table">
|
|
|
|
<thead>
|
|
|
|
<tr class="results-header">
|
|
|
|
<th class="span2">Level</th>
|
|
|
|
<th class="span2">Dataset</th>
|
|
|
|
<th>URN</th>
|
|
|
|
</tr>
|
|
|
|
</thead>
|
|
|
|
<tbody>
|
2016-08-04 17:44:47 -07:00
|
|
|
{{#each impacts as |impact|}}
|
2015-11-19 14:39:21 -08:00
|
|
|
<tr>
|
|
|
|
<td>{{impact.level}}</td>
|
2016-01-31 03:48:21 -08:00
|
|
|
<td>
|
|
|
|
{{#if impact.isValidDataset}}
|
2016-08-04 18:46:33 -07:00
|
|
|
<a href={{impact.datasetUrl}}>
|
2016-01-31 03:48:21 -08:00
|
|
|
{{impact.name}}
|
|
|
|
</a>
|
|
|
|
{{else}}
|
|
|
|
{{impact.name}}
|
|
|
|
{{/if}}
|
|
|
|
</td>
|
2015-11-19 14:39:21 -08:00
|
|
|
<td>{{impact.urn}}</td>
|
|
|
|
</tr>
|
|
|
|
{{/each}}
|
|
|
|
</tbody>
|
|
|
|
</table>
|
|
|
|
{{else}}
|
|
|
|
<p>Impact analysis is not available</p>
|
|
|
|
{{/if}}
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<script type="text/x-handlebars" id="dataset">
|
|
|
|
<div id="dataset" >
|
2016-06-23 17:36:30 -07:00
|
|
|
<div class="well well-sm">
|
|
|
|
<div class="row">
|
2016-06-24 17:12:24 -07:00
|
|
|
<div class="col-xs-11">
|
2016-06-23 17:36:30 -07:00
|
|
|
<ul class="breadcrumbs">
|
|
|
|
{{#each breadcrumbs as |crumb|}}
|
|
|
|
<li>
|
|
|
|
<a title="{{crumb.title}}" href="#/datasets/{{crumb.urn}}">
|
|
|
|
{{crumb.title}}
|
|
|
|
</a>
|
|
|
|
</li>
|
|
|
|
{{/each}}
|
|
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
2015-11-19 14:39:21 -08:00
|
|
|
<div class="row">
|
2016-03-11 11:41:19 -08:00
|
|
|
<div class="col-xs-5">
|
2015-11-19 14:39:21 -08:00
|
|
|
<h3>{{ model.name }}</h3>
|
|
|
|
</div>
|
2016-03-11 11:41:19 -08:00
|
|
|
<div class="col-xs-7 text-right">
|
2015-11-19 14:39:21 -08:00
|
|
|
<ul class="datasetDetailsLinks">
|
|
|
|
<li>
|
|
|
|
{{#dataset-favorite dataset=model action="didFavorite"}}
|
|
|
|
{{/dataset-favorite}}
|
|
|
|
<span class="hidden-sm hidden-xs">
|
|
|
|
{{#if model.isFavorite}}
|
|
|
|
Unfavorite
|
|
|
|
{{else}}
|
|
|
|
Favorite
|
|
|
|
{{/if}}
|
|
|
|
</span>
|
|
|
|
</li>
|
2016-02-10 00:14:42 -08:00
|
|
|
{{#if model.hdfsBrowserLink}}
|
2015-11-19 14:39:21 -08:00
|
|
|
<li>
|
2016-08-04 18:46:33 -07:00
|
|
|
<a target="_blank" href={{model.hdfsBrowserLink}}
|
2015-11-19 14:39:21 -08:00
|
|
|
title="View on HDFS">
|
|
|
|
<i class="fa fa-database"></i>
|
|
|
|
<span class="hidden-sm hidden-xs">
|
|
|
|
HDFS
|
|
|
|
</span>
|
|
|
|
</a>
|
|
|
|
</li>
|
|
|
|
{{/if}}
|
|
|
|
<li>
|
2016-08-04 18:46:33 -07:00
|
|
|
<a target="_blank" href={{lineageUrl}}
|
2016-03-11 11:41:19 -08:00
|
|
|
title="View Lineage">
|
2015-11-19 14:39:21 -08:00
|
|
|
<i class="fa fa-sitemap"></i>
|
|
|
|
<span class="hidden-sm hidden-xs">
|
2016-03-11 11:41:19 -08:00
|
|
|
Lineage
|
2015-11-19 14:39:21 -08:00
|
|
|
</span>
|
|
|
|
</a>
|
|
|
|
</li>
|
2016-02-02 05:15:44 -08:00
|
|
|
{{#if model.hasSchemaHistory}}
|
|
|
|
<li>
|
2016-08-04 18:46:33 -07:00
|
|
|
<a target="_blank" href={{schemaHistoryUrl}}
|
2016-03-11 11:41:19 -08:00
|
|
|
title="View Schema History">
|
2016-02-02 05:15:44 -08:00
|
|
|
<i class="fa fa-history"></i>
|
|
|
|
<span class="hidden-sm hidden-xs">
|
|
|
|
Schema History
|
|
|
|
</span>
|
|
|
|
</a>
|
|
|
|
</li>
|
|
|
|
{{/if}}
|
2015-11-19 14:39:21 -08:00
|
|
|
<li>
|
|
|
|
{{#dataset-watch dataset=model getDatasets="getDataset"}}
|
|
|
|
{{/dataset-watch}}
|
|
|
|
<span class="hidden-xs hidden-sm">
|
|
|
|
{{#if model.isWatched}}
|
|
|
|
Unwatch
|
|
|
|
{{else}}
|
|
|
|
Watch
|
|
|
|
{{/if}}
|
|
|
|
</span>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
</div>
|
2016-11-23 15:19:29 -08:00
|
|
|
{{dataset-owner-list owners=owners datasetName=model.name}}
|
2016-07-25 17:19:12 -07:00
|
|
|
{{#if hasinstances}}
|
|
|
|
<div class="row">
|
2016-07-27 16:44:18 -07:00
|
|
|
<span class="col-xs-1">Instances:</span>
|
2016-07-25 17:19:12 -07:00
|
|
|
<div class="btn-toolbar col-xs-11" role="toolbar">
|
|
|
|
{{#each instances as |instance index|}}
|
|
|
|
<div class="btn-group" role="group">
|
|
|
|
{{#if index}}
|
2016-07-26 18:23:14 -07:00
|
|
|
<button type="button" data-value="{{ instance.dbCode }}" class="btn btn-default instance-btn" {{action "updateInstance" instance}}>
|
2016-07-25 17:19:12 -07:00
|
|
|
{{ instance.dbCode }}
|
|
|
|
</button>
|
|
|
|
{{else}}
|
2016-07-26 18:23:14 -07:00
|
|
|
<button type="button" data-value="{{ instance.dbCode }}" class="btn btn-primary instance-btn" {{action "updateInstance" instance}}>
|
2016-07-25 17:19:12 -07:00
|
|
|
{{ instance.dbCode }}
|
|
|
|
</button>
|
|
|
|
{{/if}}
|
|
|
|
</div>
|
|
|
|
{{/each}}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
{{/if}}
|
|
|
|
{{#if hasversions}}
|
|
|
|
<div class="row">
|
2016-07-27 16:44:18 -07:00
|
|
|
<span class="col-xs-1">Versions:</span>
|
2016-07-25 17:19:12 -07:00
|
|
|
<div class="btn-toolbar col-xs-11" role="toolbar">
|
|
|
|
{{#each versions as |version index|}}
|
|
|
|
<div class="btn-group" role="group">
|
|
|
|
{{#if index}}
|
2016-07-26 18:23:14 -07:00
|
|
|
<button type="button" data-value="{{ version }}" class="btn btn-default version-btn" {{action "updateVersion" version}}>
|
2016-07-25 17:19:12 -07:00
|
|
|
{{ version }}
|
|
|
|
</button>
|
|
|
|
{{else}}
|
2016-07-26 18:23:14 -07:00
|
|
|
<button type="button" data-value="{{ version }}" class="btn btn-primary version-btn" {{action "updateVersion" version}}>
|
2016-07-25 17:19:12 -07:00
|
|
|
{{ version }}
|
|
|
|
</button>
|
|
|
|
{{/if}}
|
|
|
|
</div>
|
|
|
|
{{/each}}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
{{/if}}
|
2015-11-19 14:39:21 -08:00
|
|
|
</div>
|
|
|
|
|
|
|
|
{{#if tabview}}
|
|
|
|
<ul class="nav nav-tabs nav-justified">
|
|
|
|
{{#unless isPinot}}
|
|
|
|
<li id="properties">
|
2016-07-27 16:44:18 -07:00
|
|
|
<a data-toggle="tab" href="#propertiestab">
|
|
|
|
Properties
|
2015-11-19 14:39:21 -08:00
|
|
|
</a>
|
|
|
|
</li>
|
|
|
|
{{/unless}}
|
2016-07-27 16:44:18 -07:00
|
|
|
<li id="properties">
|
|
|
|
<a data-toggle="tab" href="#commentstab">
|
|
|
|
Comments
|
|
|
|
</a>
|
|
|
|
</li>
|
2015-11-19 14:39:21 -08:00
|
|
|
<li id="schemas" class="active"><a data-toggle="tab" href="#schematab">Schema</a></li>
|
2016-02-08 00:45:19 -08:00
|
|
|
<li id="ownership"><a data-toggle="tab" href="#ownertab">Ownership</a></li>
|
2015-11-19 14:39:21 -08:00
|
|
|
{{#unless isSFDC}}
|
|
|
|
<li id="samples"><a data-toggle="tab" href="#sampletab">Sample Data</a></li>
|
|
|
|
{{/unless}}
|
2016-03-11 11:41:19 -08:00
|
|
|
<li id="impacts">
|
|
|
|
<a data-toggle="tab"
|
2016-06-09 18:51:05 -07:00
|
|
|
title="Down Stream Impact Analysis"
|
2016-03-11 11:41:19 -08:00
|
|
|
href="#impacttab">
|
2016-06-09 18:51:05 -07:00
|
|
|
Downstream
|
2016-03-11 11:41:19 -08:00
|
|
|
</a>
|
|
|
|
</li>
|
2016-06-02 18:53:13 -07:00
|
|
|
<li id="depends">
|
|
|
|
<a data-toggle="tab"
|
2016-07-19 10:48:38 -07:00
|
|
|
title="Relations"
|
2016-06-02 18:53:13 -07:00
|
|
|
href="#dependtab">
|
2016-07-19 10:48:38 -07:00
|
|
|
Relations
|
2016-06-02 18:53:13 -07:00
|
|
|
</a>
|
|
|
|
</li>
|
2016-08-09 11:34:46 -07:00
|
|
|
<li id="access">
|
|
|
|
<a data-toggle="tab"
|
|
|
|
title="Accessibilities"
|
|
|
|
href="#accesstab">
|
|
|
|
Accessibilities
|
|
|
|
</a>
|
|
|
|
</li>
|
2015-11-19 14:39:21 -08:00
|
|
|
</ul>
|
|
|
|
<div class="tab-content">
|
|
|
|
{{#unless isPinot}}
|
|
|
|
<div id="propertiestab" class="tab-pane">
|
2016-08-04 17:44:47 -07:00
|
|
|
{{#dataset-property hasProperty=hasProperty properties=properties}}
|
|
|
|
{{/dataset-property}}
|
2015-11-19 14:39:21 -08:00
|
|
|
</div>
|
|
|
|
{{/unless}}
|
2016-07-27 16:44:18 -07:00
|
|
|
<div id="commentstab" class="tab-pane">
|
|
|
|
{{#dataset-comments dataset=this}}
|
|
|
|
{{/dataset-comments}}
|
|
|
|
</div>
|
2015-11-19 14:39:21 -08:00
|
|
|
<div id="schematab" class="tab-pane active">
|
2016-08-04 17:44:47 -07:00
|
|
|
{{#dataset-schema hasSchemas=hasSchemas isTable=isTable isJSON=isJSON schemas=schemas dataset=model}}
|
|
|
|
{{/dataset-schema}}
|
2015-11-19 14:39:21 -08:00
|
|
|
</div>
|
2016-02-08 00:45:19 -08:00
|
|
|
<div id="ownertab" class="tab-pane">
|
2016-11-23 15:19:29 -08:00
|
|
|
{{dataset-author owners=owners
|
|
|
|
ownerTypes=ownerTypes
|
|
|
|
showMsg=showMsg
|
|
|
|
alertType=alertType
|
|
|
|
ownerMessage=ownerMessage
|
|
|
|
parentController=this}}
|
2016-02-08 00:45:19 -08:00
|
|
|
</div>
|
2015-11-19 14:39:21 -08:00
|
|
|
{{#unless isSFDC}}
|
|
|
|
<div id="sampletab" class="tab-pane">
|
2016-08-04 17:44:47 -07:00
|
|
|
{{#dataset-sample hasSamples=hasSamples isPinot=isPinot columns=columns samples=samples}}
|
|
|
|
{{/dataset-sample}}
|
2015-11-19 14:39:21 -08:00
|
|
|
</div>
|
|
|
|
{{/unless}}
|
|
|
|
<div id="impacttab" class="tab-pane">
|
2016-08-04 17:44:47 -07:00
|
|
|
{{#dataset-impact hasImpacts=hasImpacts impacts=impacts}}
|
|
|
|
{{/dataset-impact}}
|
2015-11-19 14:39:21 -08:00
|
|
|
</div>
|
2016-06-02 18:53:13 -07:00
|
|
|
<div id="dependtab" class="tab-pane">
|
2016-08-04 17:44:47 -07:00
|
|
|
{{#dataset-relations hasDepends=hasDepends depends=depends hasReferences=hasReferences references=references}}
|
|
|
|
{{/dataset-relations}}
|
2016-06-02 18:53:13 -07:00
|
|
|
</div>
|
2016-08-09 11:34:46 -07:00
|
|
|
<div id="accesstab" class="tab-pane">
|
|
|
|
{{#dataset-access hasAccess=hasAccess accessibilities=accessibilities}}
|
|
|
|
{{/dataset-access}}
|
|
|
|
</div>
|
2015-11-19 14:39:21 -08:00
|
|
|
</div>
|
|
|
|
{{else}}
|
|
|
|
<div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true">
|
|
|
|
{{#unless isPinot}}
|
|
|
|
<div class="panel panel-default">
|
|
|
|
<div class="panel-heading" role="tab" id="propertiesHeading">
|
|
|
|
<h4 class="panel-title">
|
|
|
|
<a data-toggle="collapse" data-parent="#accordion"
|
|
|
|
href="#properties" aria-expanded="true" aria-controls="properties">
|
2016-07-27 16:44:18 -07:00
|
|
|
Properties
|
2015-11-19 14:39:21 -08:00
|
|
|
</a>
|
|
|
|
</h4>
|
|
|
|
</div>
|
|
|
|
<div id="properties" class="panel-collapse collapse" role="tabpanel" aria-labelledby="propertiesHeading">
|
|
|
|
<div class="panel-body">
|
|
|
|
<div class="row">
|
2016-08-04 17:44:47 -07:00
|
|
|
{{#dataset-property hasProperty=hasProperty properties=properties}}
|
|
|
|
{{/dataset-property}}
|
2015-11-19 14:39:21 -08:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
{{/unless}}
|
|
|
|
|
2016-07-27 16:44:18 -07:00
|
|
|
<div class="panel panel-default">
|
|
|
|
<div class="panel-heading" role="tab" id="commentsHeading">
|
|
|
|
<h4 class="panel-title">
|
|
|
|
<a data-toggle="collapse" data-parent="#accordion"
|
|
|
|
href="#comments" aria-expanded="true" aria-controls="comments">
|
|
|
|
Comments
|
|
|
|
</a>
|
|
|
|
</h4>
|
|
|
|
</div>
|
|
|
|
<div id="comments" class="panel-collapse collapse" role="tabpanel" aria-labelledby="commentsHeading">
|
|
|
|
<div class="panel-body">
|
|
|
|
{{#dataset-comments dataset=this}}
|
|
|
|
{{/dataset-comments}}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
2015-11-19 14:39:21 -08:00
|
|
|
<div class="panel panel-default">
|
|
|
|
<div class="panel-heading" role="tab" id="schemaHeading">
|
|
|
|
<h4 class="panel-title">
|
|
|
|
<a class="collapsed" data-toggle="collapse" data-parent="#accordion"
|
|
|
|
href="#schema" aria-expanded="false" aria-controls="schema">
|
|
|
|
Schema
|
|
|
|
</a>
|
|
|
|
</h4>
|
|
|
|
</div>
|
|
|
|
<div id="schema" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="schemaHeading">
|
|
|
|
<div class="panel-body">
|
2016-08-04 17:44:47 -07:00
|
|
|
{{#dataset-schema hasSchemas=hasSchemas isTable=isTable isJSON=isJSON schemas=schemas dataset=model}}
|
|
|
|
{{/dataset-schema}}
|
2015-11-19 14:39:21 -08:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
2016-02-08 00:45:19 -08:00
|
|
|
<div class="panel panel-default">
|
|
|
|
<div class="panel-heading" role="tab" id="ownershipHeading">
|
|
|
|
<h4 class="panel-title">
|
|
|
|
<a class="collapsed" data-toggle="collapse" data-parent="#accordion"
|
|
|
|
href="#ownership" aria-expanded="false" aria-controls="ownership">
|
|
|
|
Ownership
|
|
|
|
</a>
|
|
|
|
</h4>
|
|
|
|
</div>
|
|
|
|
<div id="ownership" class="panel-collapse collapse" role="tabpanel" aria-labelledby="ownershipHeading">
|
|
|
|
<div class="panel-body">
|
2016-11-23 15:19:29 -08:00
|
|
|
{{dataset-author owners=owners
|
|
|
|
ownerTypes=ownerTypes
|
|
|
|
showMsg=showMsg
|
|
|
|
alertType=alertType
|
|
|
|
ownerMessage=ownerMessage
|
|
|
|
parentController=this}}
|
2016-02-08 00:45:19 -08:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
2015-11-19 14:39:21 -08:00
|
|
|
{{#unless isSFDC}}
|
|
|
|
<div class="panel panel-default">
|
|
|
|
<div class="panel-heading" role="tab" id="sampleHeading">
|
|
|
|
<h4 class="panel-title">
|
|
|
|
<a class="collapsed" data-toggle="collapse" data-parent="#accordion"
|
|
|
|
href="#sampleData" aria-expanded="false" aria-controls="sampleData">
|
|
|
|
Sample Data
|
|
|
|
</a>
|
|
|
|
</h4>
|
|
|
|
</div>
|
|
|
|
<div id="sampleData" class="panel-collapse collapse" role="tabpanel" aria-labelledby="sampleHeading">
|
|
|
|
<div class="panel-body">
|
2016-08-04 17:44:47 -07:00
|
|
|
{{#dataset-sample hasSamples=hasSamples isPinot=isPinot columns=columns samples=samples}}
|
|
|
|
{{/dataset-sample}}
|
2015-11-19 14:39:21 -08:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
{{/unless}}
|
|
|
|
|
|
|
|
<div class="panel panel-default">
|
|
|
|
<div class="panel-heading" role="tab" id="impactsHeading">
|
|
|
|
<h4 class="panel-title">
|
|
|
|
<a class="collapsed" data-toggle="collapse" data-parent="#accordion"
|
2016-06-09 18:51:05 -07:00
|
|
|
href="#impactAnalysis" title="Down Stream Impact Analysis"
|
|
|
|
aria-expanded="false" aria-controls="sampleData">
|
|
|
|
Downstream
|
2015-11-19 14:39:21 -08:00
|
|
|
</a>
|
|
|
|
</h4>
|
|
|
|
</div>
|
|
|
|
<div id="impactAnalysis" class="panel-collapse collapse" role="tabpanel" aria-labelledby="impactsHeading">
|
|
|
|
<div class="panel-body">
|
2016-08-04 17:44:47 -07:00
|
|
|
{{#dataset-impact hasImpacts=hasImpacts impacts=impacts}}
|
|
|
|
{{/dataset-impact}}
|
2015-11-19 14:39:21 -08:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
2016-06-02 18:53:13 -07:00
|
|
|
|
|
|
|
<div class="panel panel-default">
|
|
|
|
<div class="panel-heading" role="tab" id="dependsHeading">
|
|
|
|
<h4 class="panel-title">
|
|
|
|
<a class="collapsed" data-toggle="collapse" data-parent="#accordion"
|
|
|
|
href="#dependsview" aria-expanded="false" aria-controls="sampleData">
|
2016-07-19 10:48:38 -07:00
|
|
|
Relations
|
2016-06-02 18:53:13 -07:00
|
|
|
</a>
|
|
|
|
</h4>
|
|
|
|
</div>
|
|
|
|
<div id="dependsview" class="panel-collapse collapse" role="tabpanel" aria-labelledby="impactsHeading">
|
|
|
|
<div class="panel-body">
|
2016-08-04 17:44:47 -07:00
|
|
|
{{#dataset-relations hasDepends=hasDepends depends=depends hasReferences=hasReferences references=references}}
|
|
|
|
{{/dataset-relations}}
|
2016-06-02 18:53:13 -07:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
2016-08-09 11:34:46 -07:00
|
|
|
|
|
|
|
<div class="panel panel-default">
|
|
|
|
<div class="panel-heading" role="tab" id="accessHeading">
|
|
|
|
<h4 class="panel-title">
|
|
|
|
<a class="collapsed" data-toggle="collapse" data-parent="#accordion"
|
|
|
|
href="#accessview" aria-expanded="false" aria-controls="accessData">
|
|
|
|
Accessiblities
|
|
|
|
</a>
|
|
|
|
</h4>
|
|
|
|
</div>
|
|
|
|
<div id="accessview" class="panel-collapse collapse" role="tabpanel" aria-labelledby="accessHeading">
|
|
|
|
<div class="panel-body">
|
|
|
|
{{#dataset-access hasAccess=hasAccess accessibilities=accessibilities}}
|
|
|
|
{{/dataset-access}}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
2015-11-19 14:39:21 -08:00
|
|
|
</div>
|
|
|
|
{{/if}}
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<script type="text/x-handlebars" id="metrics">
|
|
|
|
<div id="pagedMetrics">
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-xs-12">
|
|
|
|
{{#unless detailview}}
|
|
|
|
<div class="search-pagination">
|
|
|
|
<ul class="pager">
|
|
|
|
{{#unless first}}
|
|
|
|
<li class="previous">
|
|
|
|
{{#if group}}
|
|
|
|
{{#link-to 'metricnamesubpage' dashboard group previousPage}}
|
|
|
|
← Prev
|
|
|
|
{{/link-to}}
|
|
|
|
{{else}}
|
|
|
|
{{#if dashboard}}
|
|
|
|
{{#link-to 'metricnamepage' dashboard previousPage}}
|
|
|
|
← Prev
|
|
|
|
{{/link-to}}
|
|
|
|
{{else}}
|
|
|
|
{{#link-to 'metricspage' previousPage}}
|
|
|
|
← Prev
|
|
|
|
{{/link-to}}
|
|
|
|
{{/if}}
|
|
|
|
{{/if}}
|
|
|
|
</li>
|
|
|
|
{{/unless}}
|
|
|
|
<li>
|
|
|
|
{{ model.data.count }} metrics - page {{ model.data.page }} of {{ model.data.totalPages }}
|
|
|
|
</li>
|
|
|
|
{{#unless last}}
|
|
|
|
<li class="next">
|
|
|
|
{{#if group}}
|
|
|
|
{{#link-to 'metricnamesubpage' dashboard group nextPage}}
|
|
|
|
Next →
|
|
|
|
{{/link-to}}
|
|
|
|
{{else}}
|
|
|
|
{{#if dashboard}}
|
|
|
|
{{#link-to 'metricnamepage' dashboard nextPage}}
|
|
|
|
Next →
|
|
|
|
{{/link-to}}
|
|
|
|
{{else}}
|
|
|
|
{{#link-to 'metricspage' nextPage}}
|
|
|
|
Next →
|
|
|
|
{{/link-to}}
|
|
|
|
{{/if}}
|
|
|
|
{{/if}}
|
|
|
|
</li>
|
|
|
|
{{/unless}}
|
|
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
{{/unless}}
|
|
|
|
{{#unless detailview}}
|
|
|
|
<div class="well well-sm">
|
|
|
|
<div class="row">
|
2016-06-24 17:12:24 -07:00
|
|
|
<div class="col-xs-11">
|
2015-11-19 14:39:21 -08:00
|
|
|
<ul class="breadcrumbs">
|
|
|
|
{{#each breadcrumbs as |crumb|}}
|
|
|
|
<li>
|
|
|
|
<a title="{{crumb.title}}" href="#/metrics/{{crumb.urn}}">
|
|
|
|
{{crumb.title}}
|
|
|
|
</a>
|
|
|
|
</li>
|
|
|
|
{{/each}}
|
|
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<table class="table table-bordered search-results">
|
|
|
|
<tbody>
|
2016-08-04 17:44:47 -07:00
|
|
|
{{#each model.data.metrics as |metric|}}
|
2015-11-19 14:39:21 -08:00
|
|
|
<tr>
|
|
|
|
<td class="dataset-info">
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-xs-8">
|
|
|
|
{{#link-to 'metric' metric}}
|
|
|
|
{{metric.name}}
|
|
|
|
{{/link-to}} <br />
|
|
|
|
{{ metric.group }} - {{ metric.dashboardName }} <br />
|
|
|
|
{{ metric.description }}
|
|
|
|
</div>
|
|
|
|
<div class="col-xs-4 text-right">
|
|
|
|
<ul class="datasetTableLinks">
|
|
|
|
<li
|
|
|
|
class="text-center"
|
|
|
|
>
|
|
|
|
{{#metric-watch metric=metric getMetrics='getMetrics'}}
|
|
|
|
{{/metric-watch}}
|
|
|
|
</li>
|
|
|
|
<li
|
|
|
|
class="text-center"
|
|
|
|
>
|
|
|
|
<a
|
|
|
|
href="/lineage/metric/{{metric.id}}"
|
|
|
|
title="{{metric.name}}"
|
|
|
|
>
|
|
|
|
<i class="fa fa-sitemap"></i>
|
|
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
{{/each}}
|
|
|
|
</tbody>
|
|
|
|
</table>
|
|
|
|
{{/unless}}
|
|
|
|
</div>
|
|
|
|
<div class="col-xs-12">
|
|
|
|
{{outlet}}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</script>
|
|
|
|
|
2016-08-04 17:44:47 -07:00
|
|
|
|
2015-11-19 14:39:21 -08:00
|
|
|
<script type="text/x-handlebars" id="metric">
|
2016-08-04 17:44:47 -07:00
|
|
|
{{#metric-detail showLineage=showLineage model=model}}
|
|
|
|
{{/metric-detail}}
|
2015-11-19 14:39:21 -08:00
|
|
|
</script>
|
|
|
|
|
|
|
|
<script type="text/x-handlebars" id="search">
|
|
|
|
<div class="btn-group" role="group">
|
2016-03-02 00:49:15 -08:00
|
|
|
<p style="display:inline;float:left;margin-right:5px;margin-top:6px;"><b>Filter By:</b></p>
|
2015-11-19 14:39:21 -08:00
|
|
|
<div class="btn-group" role="group">
|
|
|
|
<button
|
|
|
|
type="button"
|
2016-08-04 18:46:33 -07:00
|
|
|
class="btn dropdown-toggle {{if isDatasets 'btn-primary'}} {{unless isDatasets 'btn-default'}}"
|
2015-11-19 14:39:21 -08:00
|
|
|
data-toggle="dropdown"
|
|
|
|
aria-expanded="false">
|
2016-03-02 15:06:10 -08:00
|
|
|
{{datasetTitle}}
|
2015-11-19 14:39:21 -08:00
|
|
|
<span class="caret"></span>
|
|
|
|
</button>
|
|
|
|
<ul class="dropdown-menu" role="menu">
|
|
|
|
<li>
|
2016-03-02 15:06:10 -08:00
|
|
|
{{#link-to 'search' (query-params category="Datasets" source="all" page=1)}}
|
2015-11-19 14:39:21 -08:00
|
|
|
All
|
|
|
|
{{/link-to}}
|
|
|
|
</li>
|
|
|
|
<li>
|
2016-03-02 15:06:10 -08:00
|
|
|
{{#link-to 'search' (query-params category="Datasets" source="HDFS" page=1)}}
|
2015-11-19 14:39:21 -08:00
|
|
|
HDFS
|
|
|
|
{{/link-to}}
|
|
|
|
</li>
|
|
|
|
<li>
|
2016-03-02 15:06:10 -08:00
|
|
|
{{#link-to 'search' (query-params category="Datasets" source="Oracle" page=1)}}
|
2015-11-19 14:39:21 -08:00
|
|
|
Oracle
|
|
|
|
{{/link-to}}
|
|
|
|
</li>
|
|
|
|
<li>
|
2016-03-02 15:06:10 -08:00
|
|
|
{{#link-to 'search' (query-params category="Datasets" source="Teradata" page=1)}}
|
2015-11-19 14:39:21 -08:00
|
|
|
Teradata
|
|
|
|
{{/link-to}}
|
|
|
|
</li>
|
|
|
|
<li>
|
2016-03-02 15:06:10 -08:00
|
|
|
{{#link-to 'search' (query-params category="Datasets" source="Espresso" page=1)}}
|
2015-11-19 14:39:21 -08:00
|
|
|
Espresso
|
|
|
|
{{/link-to}}
|
|
|
|
</li>
|
|
|
|
<li>
|
2016-03-02 15:06:10 -08:00
|
|
|
{{#link-to 'search' (query-params category="Datasets" source="Salesforce" page=1)}}
|
2015-11-19 14:39:21 -08:00
|
|
|
Salesforce
|
|
|
|
{{/link-to}}
|
|
|
|
</li>
|
|
|
|
<li>
|
2016-03-02 15:06:10 -08:00
|
|
|
{{#link-to 'search' (query-params category="Datasets" source="Kafka" page=1)}}
|
2015-11-19 14:39:21 -08:00
|
|
|
Kafka
|
|
|
|
{{/link-to}}
|
|
|
|
</li>
|
|
|
|
<li>
|
2016-03-02 15:06:10 -08:00
|
|
|
{{#link-to 'search' (query-params category="Datasets" source="Pinot" page=1)}}
|
2015-11-19 14:39:21 -08:00
|
|
|
Pinot
|
|
|
|
{{/link-to}}
|
|
|
|
</li>
|
|
|
|
<li>
|
2016-03-02 15:06:10 -08:00
|
|
|
{{#link-to 'search' (query-params category="Datasets" source="Hive" page=1)}}
|
2015-11-19 14:39:21 -08:00
|
|
|
Hive
|
|
|
|
{{/link-to}}
|
|
|
|
</li>
|
|
|
|
<li>
|
2016-03-02 15:06:10 -08:00
|
|
|
{{#link-to 'search' (query-params category="Datasets" source="External" page=1)}}
|
2015-11-19 14:39:21 -08:00
|
|
|
External
|
|
|
|
{{/link-to}}
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</div>
|
2016-02-29 18:44:39 -08:00
|
|
|
<button
|
|
|
|
type="button"
|
2016-08-04 18:46:33 -07:00
|
|
|
class="btn {{if isComments 'btn-primary'}} {{unless isComments 'btn-default'}}"
|
2016-03-02 00:49:15 -08:00
|
|
|
{{action 'switchSearchToComments' keyword}}>
|
|
|
|
Comments
|
2016-02-29 18:44:39 -08:00
|
|
|
</button>
|
2016-03-01 14:49:42 -08:00
|
|
|
<button
|
|
|
|
type="button"
|
2016-08-04 18:46:33 -07:00
|
|
|
class="btn {{if isFlows 'btn-primary'}} {{unless isFlows 'btn-default'}}"
|
2016-03-02 00:49:15 -08:00
|
|
|
{{action 'switchSearchToFlow' keyword}}>
|
|
|
|
Flows
|
2016-03-01 14:49:42 -08:00
|
|
|
</button>
|
2015-11-19 14:39:21 -08:00
|
|
|
<button
|
|
|
|
type="button"
|
2016-08-04 18:46:33 -07:00
|
|
|
class="btn {{if isJobs 'btn-primary'}} {{unless isJobs 'btn-default'}}"
|
2016-03-02 00:49:15 -08:00
|
|
|
{{action 'switchSearchToJob' keyword}}>
|
|
|
|
Jobs
|
2015-11-19 14:39:21 -08:00
|
|
|
</button>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div id="pagedSearchResults">
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-xs-12">
|
|
|
|
{{#if model.count}}
|
|
|
|
<div class="search-pagination">
|
|
|
|
<ul class="pager">
|
|
|
|
{{#unless first}}
|
|
|
|
<li class="previous">
|
|
|
|
{{#link-to 'search' (query-params categroy=category source=source page=previousPage)}}
|
|
|
|
← Prev
|
|
|
|
{{/link-to}}
|
|
|
|
</li>
|
|
|
|
{{/unless}}
|
|
|
|
<li>
|
|
|
|
{{ model.count }} results - page {{ model.page }} of {{ model.totalPages }}
|
|
|
|
</li>
|
|
|
|
{{#unless last}}
|
|
|
|
<li class="next">
|
|
|
|
{{#link-to 'search' (query-params categroy=category source=source page=nextPage)}}
|
|
|
|
Next →
|
|
|
|
{{/link-to}}
|
|
|
|
</li>
|
|
|
|
{{/unless}}
|
|
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
{{/if}}
|
|
|
|
{{#if loading}}
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-xs-12 text-center">
|
|
|
|
<i
|
|
|
|
class="fa fa-spinner spinning fa-4x"
|
|
|
|
></i>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
{{/if}}
|
|
|
|
{{#if model.count}}
|
2016-03-01 14:49:42 -08:00
|
|
|
{{#if model.isFlowJob}}
|
2016-02-29 18:44:39 -08:00
|
|
|
<table id="searchresults" class="search-results searchtable">
|
|
|
|
<tbody>
|
2016-08-04 17:44:47 -07:00
|
|
|
{{#each model.data as |flowJob|}}
|
2016-02-29 18:44:39 -08:00
|
|
|
<tr class="result">
|
|
|
|
<td class="col-xs-12">
|
|
|
|
<div class="dataset-name">
|
|
|
|
<td class="dataset-info">
|
2016-05-20 17:59:28 -07:00
|
|
|
<i class="fa fa-random"></i>
|
2016-03-01 14:49:42 -08:00
|
|
|
<a href="{{flowJob.link}}">
|
|
|
|
{{flowJob.displayName}}
|
2016-02-29 18:44:39 -08:00
|
|
|
</a>
|
|
|
|
</td>
|
|
|
|
<p>
|
2016-03-01 14:49:42 -08:00
|
|
|
{{{ flowJob.path }}}
|
2016-02-29 18:44:39 -08:00
|
|
|
</p>
|
2016-03-01 14:49:42 -08:00
|
|
|
<p>source: {{{ flowJob.appCode }}}</p>
|
2016-05-20 17:59:28 -07:00
|
|
|
<div class="schematext" style="margin-top:5px;margin-bottom: 10px;">
|
|
|
|
{{{ flowJob.schema }}}
|
|
|
|
</div>
|
2016-02-29 18:44:39 -08:00
|
|
|
</div>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
{{/each}}
|
|
|
|
</tbody>
|
|
|
|
</table>
|
|
|
|
{{else}}
|
2015-11-19 14:39:21 -08:00
|
|
|
<table id="searchresults" class="search-results searchtable">
|
|
|
|
<tbody>
|
2016-08-04 17:44:47 -07:00
|
|
|
{{#each model.data as |dataset|}}
|
2015-11-19 14:39:21 -08:00
|
|
|
<tr class="result">
|
|
|
|
<td class="col-xs-12">
|
|
|
|
<div class="dataset-name">
|
|
|
|
<td class="dataset-info">
|
|
|
|
{{#if isMetric}}
|
2016-05-20 17:59:28 -07:00
|
|
|
<i class="fa fa-plus-square-o"></i>
|
2015-11-19 14:39:21 -08:00
|
|
|
{{#link-to 'metric' dataset}}
|
|
|
|
{{{dataset.name}}}
|
|
|
|
{{/link-to}}
|
|
|
|
{{else}}
|
2016-05-20 17:59:28 -07:00
|
|
|
<i class="fa fa-database"></i>
|
2015-11-19 14:39:21 -08:00
|
|
|
{{#link-to 'dataset' dataset}}
|
|
|
|
{{{dataset.name}}}
|
|
|
|
{{/link-to}}
|
|
|
|
{{/if}}
|
|
|
|
</td>
|
|
|
|
<p>
|
|
|
|
{{{ dataset.urn }}}
|
|
|
|
</p>
|
2016-05-20 17:59:28 -07:00
|
|
|
{{#if dataset.source}}
|
|
|
|
<p>source: {{{ dataset.source }}}</p>
|
|
|
|
{{else}}
|
|
|
|
<p>source: Metric</p>
|
|
|
|
{{/if}}
|
2015-11-19 14:39:21 -08:00
|
|
|
<div class="schematext" style="margin-top:5px;margin-bottom: 10px;">
|
|
|
|
{{{ dataset.schema }}}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
{{/each}}
|
|
|
|
</tbody>
|
|
|
|
</table>
|
2016-02-29 18:44:39 -08:00
|
|
|
{{/if}}
|
2015-11-19 14:39:21 -08:00
|
|
|
{{else}}
|
|
|
|
{{#if showNoResult}}
|
|
|
|
<h4>No items found</h4>
|
|
|
|
{{/if}}
|
|
|
|
{{/if}}
|
|
|
|
</div>
|
|
|
|
<div class="col-xs-12">
|
|
|
|
{{outlet}}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<script type="text/x-handlebars" id="advsearch">
|
|
|
|
<div id="pagedSearchResults">
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-xs-12">
|
|
|
|
{{#if model.count}}
|
|
|
|
<div class="search-pagination">
|
|
|
|
<ul class="pager">
|
|
|
|
{{#unless first}}
|
|
|
|
<li class="previous">
|
|
|
|
{{#link-to 'advsearch' (query-params page=previousPage)}}
|
|
|
|
← Prev
|
|
|
|
{{/link-to}}
|
|
|
|
</li>
|
|
|
|
{{/unless}}
|
|
|
|
<li>
|
|
|
|
{{ model.count }} results - page {{ model.page }} of {{ model.totalPages }}
|
|
|
|
</li>
|
|
|
|
{{#unless last}}
|
|
|
|
<li class="next">
|
|
|
|
{{#link-to 'advsearch' (query-params page=nextPage)}}
|
|
|
|
Next →
|
|
|
|
{{/link-to}}
|
|
|
|
</li>
|
|
|
|
{{/unless}}
|
|
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
{{/if}}
|
|
|
|
{{#if loading}}
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-xs-12 text-center">
|
|
|
|
<i
|
|
|
|
class="fa fa-spinner spinning fa-4x"
|
|
|
|
></i>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
{{/if}}
|
|
|
|
{{#if model.count}}
|
2016-03-01 19:43:46 -08:00
|
|
|
{{#if model.isFlowJob}}
|
|
|
|
<table id="searchresults" class="search-results searchtable">
|
|
|
|
<tbody>
|
2016-08-04 17:44:47 -07:00
|
|
|
{{#each model.data as |flowJob|}}
|
2016-03-01 19:43:46 -08:00
|
|
|
<tr class="result">
|
|
|
|
<td class="col-xs-12">
|
|
|
|
<div class="dataset-name">
|
|
|
|
<td class="dataset-info">
|
2016-05-20 17:59:28 -07:00
|
|
|
<i class="fa fa-random"></i>
|
2016-03-01 19:43:46 -08:00
|
|
|
<a href="{{flowJob.link}}">
|
|
|
|
{{flowJob.displayName}}
|
|
|
|
</a>
|
|
|
|
</td>
|
|
|
|
<p>
|
|
|
|
{{{ flowJob.path }}}
|
|
|
|
</p>
|
|
|
|
<p>source: {{{ flowJob.appCode }}}</p>
|
2016-05-20 17:59:28 -07:00
|
|
|
<div class="schematext" style="margin-top:5px;margin-bottom: 10px;">
|
|
|
|
{{{ flowJob.schema }}}
|
|
|
|
</div>
|
2016-03-01 19:43:46 -08:00
|
|
|
</div>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
{{/each}}
|
|
|
|
</tbody>
|
|
|
|
</table>
|
|
|
|
{{else}}
|
2015-11-19 14:39:21 -08:00
|
|
|
<table id="searchresults" class="search-results searchtable">
|
|
|
|
<tbody>
|
2016-08-04 17:44:47 -07:00
|
|
|
{{#each model.data as |dataset|}}
|
2015-11-19 14:39:21 -08:00
|
|
|
<tr class="result">
|
|
|
|
<td class="col-xs-12">
|
|
|
|
<div class="dataset-name">
|
|
|
|
<td class="dataset-info">
|
2016-05-20 17:59:28 -07:00
|
|
|
<i class="fa fa-database"></i>
|
2015-11-19 14:39:21 -08:00
|
|
|
{{#link-to 'dataset' dataset}}
|
|
|
|
{{{dataset.name}}}
|
|
|
|
{{/link-to}}
|
|
|
|
</td>
|
|
|
|
<p>{{{ dataset.urn }}}</p>
|
|
|
|
<p>source: {{{ dataset.source }}}</p>
|
|
|
|
<div class="schematext" style="margin-top:5px;margin-bottom: 10px;">
|
|
|
|
{{{ dataset.schema }}}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
{{/each}}
|
|
|
|
</tbody>
|
|
|
|
</table>
|
2016-03-01 19:43:46 -08:00
|
|
|
{{/if}}
|
2015-11-19 14:39:21 -08:00
|
|
|
{{else}}
|
|
|
|
{{#if showNoResult}}
|
|
|
|
<h4>No items found</h4>
|
|
|
|
{{/if}}
|
|
|
|
{{/if}}
|
|
|
|
</div>
|
|
|
|
<div class="col-xs-12">
|
|
|
|
{{outlet}}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<script type="text/x-handlebars" id="flows">
|
|
|
|
{{#if flowView}}
|
2016-07-14 21:15:56 -07:00
|
|
|
<div id="flowspage" >
|
2015-11-19 14:39:21 -08:00
|
|
|
<div class="row">
|
|
|
|
<div class="col-xs-12">
|
2016-06-23 17:36:30 -07:00
|
|
|
<div class="well well-sm">
|
|
|
|
<div class="row">
|
2016-06-24 17:12:24 -07:00
|
|
|
<div class="col-xs-11">
|
2016-06-23 17:36:30 -07:00
|
|
|
<ul class="breadcrumbs">
|
|
|
|
{{#each breadcrumbs as |crumb|}}
|
|
|
|
<li>
|
|
|
|
<a title="{{crumb.title}}" href="#/flows/{{crumb.urn}}">
|
|
|
|
{{crumb.title}}
|
|
|
|
</a>
|
|
|
|
</li>
|
|
|
|
{{/each}}
|
|
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
2015-11-19 14:39:21 -08:00
|
|
|
<div class="search-pagination">
|
|
|
|
<ul class="pager">
|
|
|
|
{{#unless first}}
|
|
|
|
<li class="previous">
|
2016-07-14 21:15:56 -07:00
|
|
|
{{#if queryParams}}
|
|
|
|
{{#link-to 'flowssubpage' currentName previousPage (query-params urn=queryParams)}}
|
|
|
|
← Prev
|
|
|
|
{{/link-to}}
|
|
|
|
{{else}}
|
|
|
|
{{#link-to 'flowspage' previousPage}}
|
|
|
|
← Prev
|
|
|
|
{{/link-to}}
|
|
|
|
{{/if}}
|
2015-11-19 14:39:21 -08:00
|
|
|
</li>
|
|
|
|
{{/unless}}
|
|
|
|
<li>
|
|
|
|
{{ model.data.count }} flows - page {{ model.data.page }} of {{ model.data.totalPages }}
|
|
|
|
</li>
|
|
|
|
{{#unless last}}
|
|
|
|
<li class="next">
|
2016-07-14 21:15:56 -07:00
|
|
|
{{#if queryParams}}
|
|
|
|
{{#link-to 'flowssubpage' currentName nextPage (query-params urn=queryParams)}}
|
|
|
|
Next →
|
|
|
|
{{/link-to}}
|
|
|
|
{{else}}
|
|
|
|
{{#link-to 'flowspage' nextPage}}
|
|
|
|
Next →
|
|
|
|
{{/link-to}}
|
|
|
|
{{/if}}
|
2015-11-19 14:39:21 -08:00
|
|
|
</li>
|
|
|
|
{{/unless}}
|
|
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
<table class="table table-bordered search-results">
|
|
|
|
<thead>
|
|
|
|
<tr class="results-header">
|
|
|
|
<th class="col-xs-3">Flow Path</th>
|
2016-03-16 18:35:46 -07:00
|
|
|
<th class="col-xs-2">Flow Name</th>
|
2015-11-19 14:39:21 -08:00
|
|
|
<th class="col-xs-1">Flow Level</th>
|
|
|
|
<th class="col-xs-1">Job Count</th>
|
|
|
|
<th class="col-xs-2">Created Time</th>
|
|
|
|
<th class="col-xs-2">Modified Time</th>
|
|
|
|
</tr>
|
|
|
|
</thead>
|
|
|
|
<tbody>
|
2016-08-04 17:44:47 -07:00
|
|
|
{{#each model.data.flows as |flow|}}
|
2015-11-19 14:39:21 -08:00
|
|
|
<tr>
|
2016-03-16 18:35:46 -07:00
|
|
|
<td class="wrap-all-word">{{ flow.path }}</td>
|
2015-11-19 14:39:21 -08:00
|
|
|
<td class="dataset-info wrap-all-word">
|
2016-07-14 21:15:56 -07:00
|
|
|
{{#link-to 'pagedflow' flow.appCode flow.id 1 (query-params urn=flow.group)}}
|
2015-11-19 14:39:21 -08:00
|
|
|
{{flow.name}}
|
|
|
|
{{/link-to}}
|
|
|
|
</td>
|
|
|
|
<td>{{ flow.level }}</td>
|
|
|
|
<td>{{ flow.jobCount }}</td>
|
|
|
|
<td>{{ flow.created }}</td>
|
|
|
|
<td>{{ flow.modified }}</td>
|
|
|
|
</tr>
|
|
|
|
{{/each}}
|
|
|
|
</tbody>
|
|
|
|
</table>
|
|
|
|
</div>
|
|
|
|
<div class="col-xs-12">
|
|
|
|
{{outlet}}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
2016-07-14 21:15:56 -07:00
|
|
|
{{else}}
|
2015-11-19 14:39:21 -08:00
|
|
|
<div id="pagedJobs" >
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-xs-12">
|
|
|
|
{{outlet}}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
{{/if}}
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<script type="text/x-handlebars" id="pagedflow">
|
2016-07-14 21:15:56 -07:00
|
|
|
<div id="flow" class="container-fluid">
|
2015-11-19 14:39:21 -08:00
|
|
|
<div class="row-fluid">
|
|
|
|
<div class="span9">
|
2016-06-23 17:36:30 -07:00
|
|
|
<div class="well well-sm">
|
|
|
|
<div class="row">
|
2016-06-24 17:12:24 -07:00
|
|
|
<div class="col-xs-11">
|
2016-06-23 17:36:30 -07:00
|
|
|
<ul class="breadcrumbs">
|
|
|
|
{{#each breadcrumbs as |crumb|}}
|
|
|
|
<li>
|
|
|
|
<a title="{{crumb.title}}" href="#/flows/{{crumb.urn}}">
|
|
|
|
{{crumb.title}}
|
|
|
|
</a>
|
|
|
|
</li>
|
|
|
|
{{/each}}
|
|
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
2015-11-19 14:39:21 -08:00
|
|
|
<div class="row">
|
2016-02-22 15:59:21 -08:00
|
|
|
<div class="col-xs-7">
|
|
|
|
<h3> {{ model.data.flow }}</h3>
|
|
|
|
</div>
|
|
|
|
<div class="col-xs-5 text-right">
|
|
|
|
<ul class="datasetDetailsLinks">
|
|
|
|
<li {{action 'watchUrn' urn}}>
|
2016-08-04 18:46:33 -07:00
|
|
|
<i class="fa {{if urnWatched 'fa-eye-slash'}} {{unless urnWatched 'fa-eye'}}"></i>
|
2015-11-19 14:39:21 -08:00
|
|
|
<span class="hidden-sm hidden-xs">
|
2016-02-22 15:59:21 -08:00
|
|
|
{{#if urnWatched}}
|
|
|
|
Unwatch
|
|
|
|
{{else}}
|
|
|
|
Watch
|
|
|
|
{{/if}}
|
2015-11-19 14:39:21 -08:00
|
|
|
</span>
|
2016-02-22 15:59:21 -08:00
|
|
|
</li>
|
|
|
|
<li>
|
2016-08-04 18:46:33 -07:00
|
|
|
<a target="_blank" href={{lineageUrl}}>
|
2016-02-22 15:59:21 -08:00
|
|
|
<i class="fa fa-sitemap"></i>
|
|
|
|
<span class="hidden-sm hidden-xs">
|
|
|
|
View Lineage
|
|
|
|
</span>
|
|
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</div>
|
2015-11-19 14:39:21 -08:00
|
|
|
</div>
|
|
|
|
<div class="search-pagination">
|
|
|
|
<ul class="pager">
|
|
|
|
{{#unless first}}
|
|
|
|
<li class="previous">
|
2016-07-14 21:15:56 -07:00
|
|
|
{{#link-to 'pagedflow' previousPage (query-params urn=urn)}}
|
2015-11-19 14:39:21 -08:00
|
|
|
← Prev
|
|
|
|
{{/link-to}}
|
|
|
|
</li>
|
|
|
|
{{/unless}}
|
|
|
|
<li>
|
|
|
|
{{ model.data.count }} jobs - page {{ model.data.page }} of {{ model.data.totalPages }}
|
|
|
|
</li>
|
|
|
|
{{#unless last}}
|
|
|
|
<li class="next">
|
2016-07-14 21:15:56 -07:00
|
|
|
{{#link-to 'pagedflow' nextPage (query-params urn=urn)}}
|
2015-11-19 14:39:21 -08:00
|
|
|
Next →
|
|
|
|
{{/link-to}}
|
|
|
|
</li>
|
|
|
|
{{/unless}}
|
|
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
<table class="table table-bordered search-results">
|
|
|
|
<thead>
|
|
|
|
<tr class="results-header">
|
|
|
|
<th class="span3">Job Path</th>
|
2016-03-16 18:35:46 -07:00
|
|
|
<th class="span2">Job Name</th>
|
2015-11-19 14:39:21 -08:00
|
|
|
<th class="span1">Job Type</th>
|
|
|
|
<th class="span3">Created Time</th>
|
|
|
|
<th class="span3">Modified Time</th>
|
|
|
|
</tr>
|
|
|
|
</thead>
|
|
|
|
<tbody>
|
2016-08-04 17:44:47 -07:00
|
|
|
{{#each model.data.jobs as |job|}}
|
2015-11-19 14:39:21 -08:00
|
|
|
<tr>
|
2016-03-16 18:35:46 -07:00
|
|
|
<td class="wrap-all-word">{{ job.path }}</td>
|
2015-11-19 14:39:21 -08:00
|
|
|
<td class="dataset-info wrap-all-word">
|
2016-02-19 15:54:51 -08:00
|
|
|
{{#if job.refFlowId}}
|
2016-07-14 21:15:56 -07:00
|
|
|
{{#link-to 'pagedflow' job.refFlowId 1 (query-params urn=job.refFlowGroup)}}
|
2016-02-19 15:54:51 -08:00
|
|
|
{{job.name}}
|
|
|
|
{{/link-to}}
|
|
|
|
{{else}}
|
|
|
|
{{job.name}}
|
|
|
|
{{/if}}
|
2015-11-19 14:39:21 -08:00
|
|
|
</td>
|
|
|
|
<td>{{ job.type }}</td>
|
|
|
|
<td>{{ job.created }}</td>
|
|
|
|
<td>{{ job.modified }}</td>
|
|
|
|
</tr>
|
|
|
|
{{/each}}
|
|
|
|
</tbody>
|
|
|
|
</table>
|
|
|
|
</div>
|
|
|
|
<div class="span9">
|
|
|
|
{{outlet}}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</script>
|
|
|
|
<script type="text/x-handlebars" data-template-name="components/ace-editor">
|
|
|
|
<pre id='{{random}}_editor' class="editor-wrapper"></pre>
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-xs-6 col-xs-offset-6 pull-right text-right">
|
|
|
|
<button
|
|
|
|
type="button"
|
|
|
|
class="btn btn-primary"
|
|
|
|
{{action "save"}}
|
|
|
|
>
|
|
|
|
Update
|
|
|
|
</button>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</script>
|
2016-08-04 17:44:47 -07:00
|
|
|
<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>
|
2015-11-19 14:39:21 -08:00
|
|
|
<script src="@routes.Assets.at("javascripts/search.js")" type="text/javascript"></script>
|
|
|
|
<script src="@routes.Assets.at("javascripts/tree.js")" type="text/javascript"></script>
|
|
|
|
<script src="@routes.Assets.at("javascripts/routers/router.js")" type="text/javascript"></script>
|
|
|
|
<script src="@routes.Assets.at("javascripts/routers/search.js")" type="text/javascript"></script>
|
|
|
|
<script src="@routes.Assets.at("javascripts/routers/advancedSearch.js")" type="text/javascript"></script>
|
|
|
|
<script src="@routes.Assets.at("javascripts/routers/datasets.js")" type="text/javascript"></script>
|
|
|
|
<script src="@routes.Assets.at("javascripts/routers/flows.js")" type="text/javascript"></script>
|
|
|
|
<script src="@routes.Assets.at("javascripts/controllers/search.js")" type="text/javascript"></script>
|
|
|
|
<script src="@routes.Assets.at("javascripts/controllers/advancedSearch.js")" type="text/javascript"></script>
|
|
|
|
<script src="@routes.Assets.at("javascripts/controllers/datasets.js")" type="text/javascript"></script>
|
|
|
|
<script src="@routes.Assets.at("javascripts/controllers/flows.js")" type="text/javascript"></script>
|
|
|
|
<script src="@routes.Assets.at("javascripts/components/components.js")" type="text/javascript"></script>
|
|
|
|
<script src="@routes.Assets.at("javascripts/components/schema-comment.js")" type="text/javascript"></script>
|
|
|
|
<script src="@routes.Assets.at("javascripts/components/editor.js")" type="text/javascript"></script>
|
|
|
|
<script src="@routes.Assets.at("javascripts/main.js")" type="text/javascript"></script>
|
|
|
|
}
|