http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f629d0f4/griffin-ui/js/services/bark-chart.js ---------------------------------------------------------------------- diff --git a/griffin-ui/js/services/bark-chart.js b/griffin-ui/js/services/bark-chart.js deleted file mode 100644 index 05a10c0..0000000 --- a/griffin-ui/js/services/bark-chart.js +++ /dev/null @@ -1,613 +0,0 @@ -/* - Copyright (c) 2016 eBay Software Foundation. - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -*/ -define(['./module'], function (services) { - services.factory('$barkChart', function(){ - - return { - getOptionPie: getOptionPie, - getOptionBig: getOptionBig, - getOptionSide: getOptionSide, - getOptionThum: getOptionThum - }; - }); - - function getOptionPie(status) { - var data = []; - for (var key in status) { - var item = {}; - item.name = key; - item.value = status[key]; - if (key === 'health') { - item.selected = true; - } - data.push(item); - } - - var option = { - title: { - show: false - }, - backgroundColor: 'transparent', - tooltip: { - trigger: 'item', - formatter: "{b} <br> <b>{c}</b> ({d}%)" - }, - series: [{ - type: 'pie', - selectedMode: 'single', - label:{ - normal: { - position: 'inner', - formatter: function(params) { - if (params.name === 'health') { - return params.percent+'%'; - } else { - return ''; - } - } - } - }, - data: data - }], - color: ['#005732','#ff3333','#c23531'] - }; - - return option; - } - - function getOptionThum(metric) { - var data = getMetricData(metric); - var option = { - title: { - text: metric.name, - left: 'center', - textStyle: { - fontWeight: 'normal', - fontSize: 15 - } - }, - backgroundColor: 'transparent', - grid:{ - right: '7%', - left: '5%', - bottom: '5%', - containLabel: true - }, - tooltip : { - trigger: 'axis', - formatter : function(params) { - return getTooltip(params, metric.metricType); - }, - position: function(point, params, dom) { - return getTooltipPosition(point, params, dom); - } - }, - xAxis : { - type : 'time', - splitLine: { - show: false - }, - splitNumber: 2 - }, - yAxis : { - type : 'value', - scale : true, - name: formatter_yaxis_name(metric), - axisLabel: { - formatter: formatter_value - }, - splitNumber: 2 - } - }; - option.series = getSeries(metric); - return option; - } - - function getTooltipPosition(point, params, dom) { - return [point[0]/2, point[1]/2]; - } - - function formatter_value(value, index) { - if (value < 1000) { - return value; - } else { - return value/1000; - } - } - - function formatter_yaxis_name(metric) { - if (metric.dq <= 100) { - return 'dq (%)'; - } else { - return 'dq (k)'; - } - } - - function getTooltip(params, metricType) { - var result = ''; - if (params.length > 0) { - - if(metricType == 'Bollinger'){ - result = new Date(getUTCTimeStamp(params[0].data[0])).toUTCString().replace('GMT', '')+ - '<br /> Value : ' + params[2].data[1] + - '<br /> Average : ' + params[3].data[1] + - '<br /> Bands : ' + params[0].data[1] + '--' + params[1].data[1]; - }else if(metricType == 'Trend'){ - result = new Date(getUTCTimeStamp(params[0].data[0])).toUTCString().replace('GMT', '')+ - '<br /> Value : ' + params[0].data[1] + - '<br /> -7 days : ' + params[1].data[1]; - }else if(metricType == 'MAD'){ - result = new Date(getUTCTimeStamp(params[0].data[0])).toUTCString().replace('GMT', '')+ - '<br /> Value : ' + params[2].data[1] + - '<br /> Bands : ' + params[0].data[1] + '--' + params[1].data[1]; - }else if(metricType == 'Count' || metricType == ''){ - result = new Date(getUTCTimeStamp(params[0].data[0])).toUTCString().replace('GMT', '')+ - '<br /> Value : ' + params[0].data[1]; - } - } - - return result; - } - - function getUTCTimeStamp(timestamp) { - var TzOffset = new Date(timestamp).getTimezoneOffset()/60; - return timestamp-TzOffset*60*60*1000; - } - - function getOptionSide(metric) { - var data = getMetricData(metric); - var option = { - title: { - show: false - }, - backgroundColor: 'transparent', - grid:{ - right: '5%', - left: '5%', - bottom: '5%', - top: 30, - containLabel: true - - }, - tooltip : { - trigger: 'axis', - formatter : function(params) { - return getTooltip(params, metric.metricType); - } - }, - xAxis : { - type : 'time', - splitLine: { - show: false - }, - splitNumber: 2 - }, - yAxis : { - type : 'value', - scale : true, - name: formatter_yaxis_name(metric), - axisLabel: { - formatter: formatter_value - }, - splitNumber: 2 - } - }; - option.series = getSeries(metric); - return option; - } - - function getSeries(metric) { - var series = {}; - if(metric.metricType == 'Bollinger'){ - series = getSeriesBollinger(metric); - }else if(metric.metricType == 'Trend'){ - series = getSeriesTrend(metric); - }else if(metric.metricType == 'MAD'){ - series = getSeriesMAD(metric); - }else if(metric.metricType == 'Count' || metric.metricType == ''){ - series = getSeriesCount(metric); - } - return series; - } - - function getOptionBig(metric) { - var data = getMetricData(metric); - var option = { - title: { - text: metric.name, - link: '/#/viewrule/' + metric.name, - target: 'self', - left: 'center', - textStyle: { - fontSize: 25 - } - }, - grid: { - right: '2%', - left: '2%', - containLabel: true - }, - dataZoom: [{ - type: 'inside', - start: 75, - throttle: 50 - },{ - show: true, - start: 75 - }], - tooltip : { - trigger: 'axis', - formatter : function(params) { - return getTooltip(params, metric.metricType); - } - }, - xAxis : { - type : 'time', - splitLine: { - show: false - } - }, - yAxis : { - type : 'value', - scale : true, - name: formatter_yaxis_name(metric), - axisLabel: { - formatter: formatter_value - } - }, - animation: true - }; - option.series = getSeries(metric); - if (metric.metricType == 'MAD') { - option.series = getMADBigSeries(option.series); - } else if (metric.metricType == 'Bollinger') { - option.series = getBollingerBigSeries(option.series); - } - return option; - } - - function getBollingerBigSeries(series) { - var dataLow = series[0].data; - var data = series[2].data; - var result = []; - for (var i = 0; i < data.length; i++) { - if (data[i][1] < dataLow[i][1]) { - var item = {}; - item.coord = data[i]; - var diff = Number(dataLow[i][1])-Number(data[i][1]); - item.label = { - normal: { - formatter: 'low '+diff - } - }; - item.itemStyle = { - normal: { - color: '#c23531' - } - }; - result.push(item); - } - } - series[2].markPoint = {}; - series[2].markPoint.data = result; - console.log(series); - return series; - } - - function getMADBigSeries(series) { - var dataLow = series[0].data; - var data = series[2].data; - var result = []; - for (var i = 0; i < data.length; i++) { - if (data[i][1] < dataLow[i][1]) { - var item = {}; - item.coord = data[i]; - var diff = Number(dataLow[i][1])-Number(data[i][1]); - item.label = { - normal: { - formatter: Math.round(diff/1000) + 'K below lower band' - } - }; - item.itemStyle = { - normal: { - color: '#c23531' - } - }; - result.push(item); - } - } - series[2].markPoint = {}; - series[2].markPoint.data = result; - console.log(series); - return series; - } - - function getMetricData(metric) { - var data = []; - var chartData = metric.details; - for(var i = 0; i < chartData.length; i++){ - data.push([formatTimeStamp(chartData[i].timestamp), parseFloat(chartData[i].value.toFixed(2))]); - } - - data.sort(function(a, b){ - return a[0] - b[0]; - }); - return data; - } - - function getSeriesMADLow(metric) { - var data = []; - var chartData = metric.details; - for (var i = 0; i < chartData.length; i++) { - data.push([formatTimeStamp(chartData[i].timestamp), Number(chartData[i].mad.lower)]); - } - data.sort(function(a, b){ - return a[0] - b[0]; - }); - return data; - } - - function getSeriesMADUp(metric) { - var data = []; - var chartData = metric.details; - for (var i = 0; i < chartData.length; i++) { - data.push([formatTimeStamp(chartData[i].timestamp), Number(chartData[i].mad.upper-chartData[i].mad.lower)]); - } - data.sort(function(a, b){ - return a[0] - b[0]; - }); - return data; - } - - function getSeriesBollingerLow(metric) { - var data = []; - var chartData = metric.details; - for (var i = 0; i < chartData.length; i++) { - data.push([formatTimeStamp(chartData[i].timestamp), Number(chartData[i].bolling.lower)]); - } - data.sort(function(a, b){ - return a[0] - b[0]; - }); - return data; - } - - function getSeriesBollingerUp(metric) { - var data = []; - var chartData = metric.details; - for (var i = 0; i < chartData.length; i++) { - data.push([formatTimeStamp(chartData[i].timestamp), Number(chartData[i].bolling.upper-chartData[i].bolling.lower)]); - } - data.sort(function(a, b){ - return a[0] - b[0]; - }); - return data; - } - - function getSeriesBollingerMean(metric) { - var data = []; - var chartData = metric.details; - for (var i = 0; i < chartData.length; i++) { - data.push([formatTimeStamp(chartData[i].timestamp), Number(chartData[i].bolling.mean)]); - } - data.sort(function(a, b){ - return a[0] - b[0]; - }); - return data; - } - - function getSeriesTrendComparision(metric) { - var data = []; - var chartData = metric.details; - for (var i = 0; i < chartData.length; i++) { - data.push([formatTimeStamp(chartData[i].timestamp), Number(chartData[i].comparisionValue)]); - } - data.sort(function(a, b){ - return a[0] - b[0]; - }); - return data; - } - - function formatTimeStamp(timestamp) { - var TzOffset = new Date(timestamp).getTimezoneOffset()/60-7; - return timestamp+TzOffset*60*60*1000; - } - - function getSeriesCount(metric) { - var series = []; - var data = getMetricData(metric); - series.push({ - type: 'line', - data: data, - smooth:true, - lineStyle: { - normal: { - color: '#d48265' - } - }, - itemStyle: { - normal: { - color: '#d48265' - } - } - }); - return series; - } - - function getSeriesTrend(metric) { - var series = []; - var data = getMetricData(metric); - var dataComparision = getSeriesTrendComparision(metric); - series.push({ - type: 'line', - smooth:true, - data: data, - lineStyle: { - normal: { - color: '#d48265' - } - }, - itemStyle: { - normal: { - color: '#d48265' - } - } - }); - series.push({ - type: 'line', - smooth:true, - data: dataComparision, - lineStyle: { - normal: { - color: '#f15c80', - type: 'dashed' - } - }, - itemStyle: { - normal: { - color: '#f15c80' - } - } - }); - return series; - } - - function getSeriesBollinger(metric) { - var series = []; - var dataLow = getSeriesBollingerLow(metric); - var dataUp = getSeriesBollingerUp(metric); - var dataMean = getSeriesBollingerMean(metric); - var data = getMetricData(metric); - series.push({ - name: 'L', - type: 'line', - smooth:true, - data: dataLow, - lineStyle: { - normal: { - opacity: 0 - } - }, - stack: 'MAD-area', - symbol: 'none' - }); - series.push({ - name: 'U', - type: 'line', - smooth:true, - data: dataUp, - lineStyle: { - normal: { - opacity: 0 - } - }, - areaStyle: { - normal: { - color: '#eee', - opacity: 0.2 - } - }, - stack: 'MAD-area', - symbol: 'none' - }); - series.push({ - type: 'line', - smooth:true, - data: data, - lineStyle: { - normal: { - color: '#d48265' - } - }, - itemStyle: { - normal: { - color: '#d48265' - } - } - }); - series.push({ - type: 'line', - smooth:true, - data: dataMean, - lineStyle: { - normal: { - color: '#f15c80', - type: 'dashed' - } - }, - itemStyle: { - normal: { - color: '#f15c80' - } - } - }); - return series; - } - - function getSeriesMAD(metric) { - var series = []; - var dataLow = getSeriesMADLow(metric); - var dataUp = getSeriesMADUp(metric); - var data = getMetricData(metric); - series.push({ - name: 'L', - type: 'line', - smooth:true, - data: dataLow, - lineStyle: { - normal: { - opacity: 0 - } - }, - stack: 'MAD-area', - symbol: 'none' - }); - series.push({ - name: 'U', - type: 'line', - smooth:true, - data: dataUp, - lineStyle: { - normal: { - opacity: 0 - } - }, - areaStyle: { - normal: { - color: '#eee', - opacity: 0.2 - } - }, - stack: 'MAD-area', - symbol: 'none' - }); - series.push({ - type: 'line', - smooth:true, - data: data, - lineStyle: { - normal: { - color: '#d48265' - } - }, - itemStyle: { - normal: { - color: '#d48265' - } - } - }); - return series; - } - -});
http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f629d0f4/griffin-ui/js/services/index.js ---------------------------------------------------------------------- diff --git a/griffin-ui/js/services/index.js b/griffin-ui/js/services/index.js deleted file mode 100644 index 17a5aa7..0000000 --- a/griffin-ui/js/services/index.js +++ /dev/null @@ -1,15 +0,0 @@ -/* - Copyright (c) 2016 eBay Software Foundation. - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -*/ -define(['./services', './bark-chart'], function () {}); http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f629d0f4/griffin-ui/js/services/module.js ---------------------------------------------------------------------- diff --git a/griffin-ui/js/services/module.js b/griffin-ui/js/services/module.js deleted file mode 100644 index f8fbecb..0000000 --- a/griffin-ui/js/services/module.js +++ /dev/null @@ -1,18 +0,0 @@ -/* - Copyright (c) 2016 eBay Software Foundation. - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - */ -define(['angular'], function (ng) { - 'use strict'; - return ng.module('app.services', []); -}); http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f629d0f4/griffin-ui/js/services/services.js ---------------------------------------------------------------------- diff --git a/griffin-ui/js/services/services.js b/griffin-ui/js/services/services.js deleted file mode 100644 index 6c3dbeb..0000000 --- a/griffin-ui/js/services/services.js +++ /dev/null @@ -1,100 +0,0 @@ -/* - Copyright (c) 2016 eBay Software Foundation. - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -*/ -define(['./module'], function (services) { - 'use strict'; - //version - services.value('version', '0.1'); - - services.factory('$config', function(){ - - - var BACKEND_SERVER = ''; - // var BACKEND_SERVER = 'http://localhost:8080'; //dev env - - - - var API_ROOT_PATH = '/api/v1'; - - var config = { - // URI paths, always have a trailing / - uri: { - base: BACKEND_SERVER + API_ROOT_PATH, - - //mock data - // statistics:'/js/mock_data/statistics.json', - //briefmetrics:'/js/mock_data/briefmetrics.json', - //heatmap: '/js/mock_data/briefmetrics.json', - // dbtree: '/js/mock_data/dbtree1.json', - // schemadefinition: '/js/mock_data/schemadefinition.json', - // rulemetric: '/js/mock_data/rulemetric.json', - // dashboard: '/js/mock_data/briefmetrics.json' , - // allModels: "http://localhost:8080/" + API_ROOT_PATH + '/model/allModels', - // newModel: "http://localhost:8080/" + API_ROOT_PATH + '/model/newModel' , - // deleteModel: "http://localhost:8080" + API_ROOT_PATH + '/model/deleteModel' , - - //real data - //data asset - dbtree: BACKEND_SERVER + API_ROOT_PATH + '/dataassets/metadata', - schemadefinition: BACKEND_SERVER + API_ROOT_PATH + '/dataassets', - dataassetlist: BACKEND_SERVER + API_ROOT_PATH + '/dataassets', - adddataasset: BACKEND_SERVER + API_ROOT_PATH + '/dataassets', - updatedataasset: BACKEND_SERVER + API_ROOT_PATH + '/dataassets', - getdataasset: BACKEND_SERVER + API_ROOT_PATH + '/dataassets', - deletedataasset: BACKEND_SERVER + API_ROOT_PATH + '/dataassets', - - //mydashboard - getmydashboard: BACKEND_SERVER + API_ROOT_PATH + '/metrics/mydashboard/', - getsubscribe: BACKEND_SERVER + API_ROOT_PATH + '/subscribe/', - newsubscribe: BACKEND_SERVER + API_ROOT_PATH + '/subscribe', - - //metrics - statistics: BACKEND_SERVER + API_ROOT_PATH + '/metrics/statics', - briefmetrics: BACKEND_SERVER + API_ROOT_PATH + '/metrics/briefmetrics', - heatmap: BACKEND_SERVER + API_ROOT_PATH + '/metrics/heatmap' , - metricdetail: BACKEND_SERVER + API_ROOT_PATH + '/metrics/complete', - rulemetric: BACKEND_SERVER + API_ROOT_PATH + '/metrics/brief', - dashboard: BACKEND_SERVER + API_ROOT_PATH + '/metrics/dashboard' , - - metricsample: BACKEND_SERVER + API_ROOT_PATH + '/metrics/sample', - metricdownload: BACKEND_SERVER + API_ROOT_PATH + '/metrics/download', - - //Models - allModels: BACKEND_SERVER + API_ROOT_PATH + '/models' , - deleteModel: BACKEND_SERVER + API_ROOT_PATH + '/models', - getModel: BACKEND_SERVER + API_ROOT_PATH + '/models', - enableModel: BACKEND_SERVER + API_ROOT_PATH + '/models/enableModel', - - newAccuracyModel: BACKEND_SERVER + API_ROOT_PATH + '/models' , - newValidityModel: BACKEND_SERVER + API_ROOT_PATH + '/models' , - newAnomalyModel: BACKEND_SERVER + API_ROOT_PATH + '/models' , - newPublishModel: BACKEND_SERVER + API_ROOT_PATH + '/models' , - // newAccuracyModel: BACKEND_SERVER + API_ROOT_PATH + '/models/newAccuracyModel' , - // newValidityModel: BACKEND_SERVER + API_ROOT_PATH + '/model/newValidityModel' , - // newAnomalyModel: BACKEND_SERVER + API_ROOT_PATH + '/model/newAnomalyModel' , - // newPublishModel: BACKEND_SERVER + API_ROOT_PATH + '/model/newPublishModel' , - // getAccuracyModel: BACKEND_SERVER + API_ROOT_PATH + '/model/getAccuracyModel', - // getValidityModel: BACKEND_SERVER + API_ROOT_PATH + '/model/getValidityModel', - // getPublishModel: BACKEND_SERVER + API_ROOT_PATH + '/model/getPublishModel', - // getAnomalyModel: BACKEND_SERVER + API_ROOT_PATH + '/model/getAnomalyModel', - - //Notification - getnotifications: BACKEND_SERVER + API_ROOT_PATH + '/notifications', - } - - }; - - return config; - }); -}); http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f629d0f4/griffin-ui/login/b3vHigh.jpg ---------------------------------------------------------------------- diff --git a/griffin-ui/login/b3vHigh.jpg b/griffin-ui/login/b3vHigh.jpg deleted file mode 100644 index 0d6949d..0000000 Binary files a/griffin-ui/login/b3vHigh.jpg and /dev/null differ http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f629d0f4/griffin-ui/login/background.jpg ---------------------------------------------------------------------- diff --git a/griffin-ui/login/background.jpg b/griffin-ui/login/background.jpg deleted file mode 100644 index 70e05c1..0000000 Binary files a/griffin-ui/login/background.jpg and /dev/null differ http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f629d0f4/griffin-ui/login/login.css ---------------------------------------------------------------------- diff --git a/griffin-ui/login/login.css b/griffin-ui/login/login.css deleted file mode 100644 index 5b2f037..0000000 --- a/griffin-ui/login/login.css +++ /dev/null @@ -1,87 +0,0 @@ -/* - Copyright (c) 2016 eBay Software Foundation. - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -*/ - -html, body { - height: 100%; -} - -body { - background-image: url("./background.jpg"); - background-position: center center; - background-repeat: no-repeat; - background-attachment: fixed; - background-size: cover; -} - -#content { - background-color: transparent; -} - -hr { - margin-bottom: 30px; -} - -@media (min-width: 992px) { - - #content-row { - margin-top:12em; - margin-bottom:7em; - } - - #bark-description { - display: block; - } - - #bark-description-2 { - display: none; - } -} - -@media (max-width:991px) { - - #content-row { - margin-top:0em; - margin-bottom:0em; - } - - #bark-description { - display: none; - } - - #bark-description-2 { - margin-top: 3em; - display: block; - } -} - -#bark-description p, #bark-description-2 p { - margin-left: 100px; - color: #ffffff; - font-size: 20px; -} - -#content-row { - padding: 3em 0; - background-color: rgba(255, 255, 255, 0.2); -} - -#loginMsg { - display: none; - background-color: #F1D7D7; - color: #A95252; - padding: 8px 12px; - border-radius: 4px; - text-align:center; -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f629d0f4/griffin-ui/login/login.html ---------------------------------------------------------------------- diff --git a/griffin-ui/login/login.html b/griffin-ui/login/login.html deleted file mode 100644 index 5052545..0000000 --- a/griffin-ui/login/login.html +++ /dev/null @@ -1,116 +0,0 @@ -<!-- - Copyright (c) 2016 eBay Software Foundation. - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - --> - -<!DOCTYPE html> -<html lang="en"> - -<head> - - <meta charset="utf-8"> - <meta http-equiv="X-UA-Compatible" content="IE=edge"> - <meta name="viewport" content="width=device-width, initial-scale=1"> - <meta name="description" content=""> - <meta name="author" content=""> - <!-- <link rel="icon" href="/img/favicon.ico"> --> - - <title>Griffin - Data Quality Service</title> - <link rel="icon" href="../img/favicon.ico"> - <!-- Bootstrap Core CSS --> - <link href="../bower_components/bootswatch/cyborg/bootstrap.css" rel="stylesheet"> - <link href="login.css" rel="stylesheet"> - <!-- Custom Fonts --> - <!-- <link href="bower_components/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css"> --> - <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries --> - <!-- WARNING: Respond.js doesn't work if you view the page via file:// --> - <!--[if lt IE 9]> - <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script> - <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script> - <![endif]--> -</head> -<body> - - <div id="content" class="container-fluid"> - <div class="row" id="content-row"> - - <div class="col-md-6 col-md-offset-1 col-xs-12"> - <div id="bark-description"> - <h3> - Data Quality Service Platform on eBay Cloud. - </h3><br> - <p> - Automates your data quality validation - </p><br> - <p> - Health monitoring, Profiling and detection - </p><br> - <p> - Unified Visualization - </p><br> - <p> - One set of tools to build data quality pipelines - </p> - </div> - </div> - - <div class="col-md-3 col-md-offset-1 col-xs-12"> - <div id="login-form"> - <div style="text-align:center;margin-bottom:30px;"> - <img src="../img/logo.gif" class="img-rounded" style="width:80%;"> - </div> - - <input type="input" class="form-control" placeholder="username" autocomplete="on" style="margin-bottom:20px;"> - - <input type="password" class="form-control" placeholder="password" autocomplete="on"> - - <div class="checkbox"> - <label style="color:white;"> - <input type="checkbox" value="remember-me" checked>Remember me - </label> - </div> - - <button class="btn btn-default btn-large btn-block" id="login-btn" style="margin-bottom: 20px;">Log in</button> - - <div id="loginMsg">Login failed. Try again.</div> - </div> - </div> - - <div class="col-xs-12"> - <div id="bark-description-2"> - <h3> - Data Quality Service Platform on the eBay Cloud. - </h3><br> - <p> - Automates your data quality validation - </p><br> - <p> - Health monitoring, Profiling and detection - </p><br> - <p> - Unified Visualization - </p><br> - <p> - One set of tools to build data quality pipelines - </p> - </div> - </div> - </div> - - </div> - - <script src="../bower_components/jquery/dist/jquery.js"></script> - <script src="../bower_components/bootstrap/dist/js/bootstrap.js"></script> - <script src="login.js"></script> -</body> -</html> http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f629d0f4/griffin-ui/login/login.js ---------------------------------------------------------------------- diff --git a/griffin-ui/login/login.js b/griffin-ui/login/login.js deleted file mode 100644 index 49ae847..0000000 --- a/griffin-ui/login/login.js +++ /dev/null @@ -1,108 +0,0 @@ -/* - Copyright (c) 2016 eBay Software Foundation. - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -*/ - -$(document).ready(function() { - $('input:eq(1)').keyup(function(evt){ - if(evt.which == 13){//enter - evt.preventDefault(); - $('#login-btn').click(); - $('#login-btn').focus(); - } - }); - - $('input:eq(0)').focus(function(evt){ - $('#loginMsg').hide(); - }); - - $('input:eq(1)').focus(function(evt){ - $('#loginMsg').hide(); - }); - - $('#login-btn').click(function() { - - - - var name = $('input:eq(0)').val(); - var password = $('input:eq(1)').val(); - - var loginUrl = '/api/v1/login/authenticate'; - - - - loginBtnWait(); - $.ajax({ - type: 'POST', - url: loginUrl, - data: JSON.stringify({username:name, password:password}), - contentType: 'application/json', - dataType: 'json', - success: function(data){ - console.log(data); - if(data.status == 0){//logon success - //console.log($('input:eq(3)').val()); - if($('input:eq(2)').prop('checked')){ - setCookie('ntAccount', data.ntAccount, 30); - setCookie('fullName', data.fullName, 30); - }else{ - setCookie('ntAccount', data.ntAccount); - setCookie('fullName', data.fullName); - } - - loginBtnActive() - window.location.replace('/'); - }else{ - showLoginFailed(); - loginBtnActive(); - }; - }, - error: function(jqXHR, textStatus, errorThrown){ - showLoginFailed(); - loginBtnActive(); - } - - }); - }); - - function setCookie(name, value, days){ - if (days) { - var date = new Date(); - date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); - expires = "; expires=" + date.toGMTString(); - } else { - expires = ""; - } - document.cookie = encodeURIComponent(name) + "=" + encodeURIComponent(value) + expires + "; path=/"; - } - - function getCookie(key) { - var keyValue = document.cookie.match('(^|;) ?' + key + '=([^;]*)(;|$)'); - return keyValue ? keyValue[2] : null; - } - - function loginBtnWait() { - $('#login-btn').addClass('disabled') - .text('Logging in......'); - } - - function loginBtnActive() { - $('#login-btn').removeClass('disabled') - .text('Log in'); - } - - function showLoginFailed() { - $('#loginMsg').show() - .text('Login failed. Try again.'); - } -}); http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f629d0f4/griffin-ui/login/logo.gif ---------------------------------------------------------------------- diff --git a/griffin-ui/login/logo.gif b/griffin-ui/login/logo.gif deleted file mode 100644 index 689ef16..0000000 Binary files a/griffin-ui/login/logo.gif and /dev/null differ http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f629d0f4/griffin-ui/login/pad.png ---------------------------------------------------------------------- diff --git a/griffin-ui/login/pad.png b/griffin-ui/login/pad.png deleted file mode 100644 index c5c532b..0000000 Binary files a/griffin-ui/login/pad.png and /dev/null differ http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f629d0f4/griffin-ui/package.json ---------------------------------------------------------------------- diff --git a/griffin-ui/package.json b/griffin-ui/package.json deleted file mode 100644 index 7d3427f..0000000 --- a/griffin-ui/package.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "Griffin", - "version": "0.1.0", - "private": true, - "scripts": { - "start": "npm run lite", - "lite": "lite-server", - "test": "karma start tests/ut/karma.conf.js" - }, - "dependencies": {}, - "devDependencies": { - "bower": "^1.7.7", - "angular-mocks": "^1.5.3", - "frisby": "^0.8.5", - "jasmine-core": "^2.4.1", - "karma": "^0.13.22", - "karma-chrome-launcher": "^0.2.2", - "karma-coverage": "^0.5.3", - "karma-jasmine": "^0.3.8", - "karma-mocha-reporter": "^1.1.6", - "karma-phantomjs-launcher": "^1.0.0", - "karma-requirejs": "^0.2.6", - "lite-server": "^2.1.0", - "phantomjs-prebuilt": "^2.1.7", - "requirejs": "^2.2.0" - } -} http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f629d0f4/griffin-ui/pages/dataassets/confirmation-dataasset.html ---------------------------------------------------------------------- diff --git a/griffin-ui/pages/dataassets/confirmation-dataasset.html b/griffin-ui/pages/dataassets/confirmation-dataasset.html deleted file mode 100644 index 93f5145..0000000 --- a/griffin-ui/pages/dataassets/confirmation-dataasset.html +++ /dev/null @@ -1,120 +0,0 @@ -<!-- - Copyright (c) 2016 eBay Software Foundation. - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - --> -<div class="container-fluid" id="viewruleContent" style="overflow:auto;"> - <div class="row"> - <h5 class="over-title margin-bottom-15">Basic information</h5> - </div><!--//row--> - <div class="row"> - - <div class="col-lg-12 col-md-12 col-sm-12"> - <div id="viewrule-definition" class="viewrule-content"> - <div class="row"> - <label class="col-md-4 col-lg-4 col-sm-4"> - Asset Name: - </label> - - <div class="col-md-8 col-lg-8 col-sm-8 " style="color: #fff"> - {{form.data.basic.assetName}} - </div> - </div> - - <div class="row"> - <label class="col-md-4 col-lg-4 col-sm-4"> - Asset Type: - </label> - - <div class="col-md-8 col-lg-8 col-sm-8 " style="color: #fff"> - {{form.data.basic.type|strmap:assetTypeOptions}} - </div> - </div> - - <div class="row"> - <label class="col-md-4 col-lg-4 col-sm-4"> - HDFS Path: - </label> - - <div class="col-md-8 col-lg-8 col-sm-8 " style="color: #fff"> - {{form.data.basic.path || 'N/A'}} - </div> - </div> - - <div class="row"> - <label class="col-md-4 col-lg-4 col-sm-4"> - Data folder pattern: - </label> - - <div class="col-md-8 col-lg-8 col-sm-8 " style="color: #fff"> - {{form.data.basic.folderFormat || 'N/A'}} - </div> - </div> - - <div class="row"> - <label for="systemSelector" class="col-md-4 col-lg-4 col-sm-4"> - Platform: - </label> - - <div class="col-md-8 col-lg-8 col-sm-8 " style="color: #fff"> - {{form.data.basic.platform}} - </div> - </div> - - <div class="row"> - <label for="systemSelector" class="col-md-4 col-lg-4 col-sm-4"> - Organization: - </label> - - <div class="col-md-8 col-lg-8 col-sm-8 " style="color: #fff"> - {{form.data.basic.system|strmap:systemOptions}} - </div> - </div> - - <div class="row"> - <label class="col-md-4 col-lg-4 col-sm-4"> - Schema: - </label> - - <div class="col-md-8 col-lg-8 col-sm-8" style="color: #fff"> - {{form.data.basic.schema}} - </div> - </div> - - <div class="row"> - <label class="col-md-4 col-lg-4 col-sm-4"> - Owner: - </label> - - <div class="col-md-8 col-lg-8 col-sm-8" style="color: #fff"> - {{form.data.basic.owner}} - </div> - </div> - - <div class="row"> - <label class="col-md-4 col-lg-4 col-sm-4"> - Hive partition columns: - </label> - - <div class="col-md-8 col-lg-8 col-sm-8" style="color: #fff"> - {{form.data.basic.partitions}} - </div> - </div> - - - </div> - </div> - - - </div><!--//row--> - -</div> http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f629d0f4/griffin-ui/pages/dataassets/confirmation-delete-dataasset.html ---------------------------------------------------------------------- diff --git a/griffin-ui/pages/dataassets/confirmation-delete-dataasset.html b/griffin-ui/pages/dataassets/confirmation-delete-dataasset.html deleted file mode 100644 index b397314..0000000 --- a/griffin-ui/pages/dataassets/confirmation-delete-dataasset.html +++ /dev/null @@ -1,100 +0,0 @@ -<!-- - Copyright (c) 2016 eBay Software Foundation. - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - --> -<div class="container-fluid" id="viewruleContent" style="overflow:auto;"> - <div class="row"> - <h5 class="over-title margin-bottom-15">Basic information</h5> - </div><!--//row--> - <div class="row"> - - <div class="col-lg-12 col-md-12 col-sm-12"> - <div id="viewrule-definition" class="viewrule-content"> - <div class="row"> - <label class="col-md-4 col-lg-4 col-sm-4"> - Asset Name: - </label> - - <div class="col-md-8 col-lg-8 col-sm-8 " style="color: #fff"> - {{selectedRow.assetName}} - </div> - </div> - - <div class="row"> - <label class="col-md-4 col-lg-4 col-sm-4"> - Asset Type: - </label> - - <div class="col-md-8 col-lg-8 col-sm-8 " style="color: #fff"> - {{selectedRow.assetType}} - </div> - </div> - - <div class="row"> - <label class="col-md-4 col-lg-4 col-sm-4"> - HDFS Path: - </label> - - <div class="col-md-8 col-lg-8 col-sm-8 " style="color: #fff"> - {{selectedRow.assetHDFSPath || 'N/A'}} - </div> - </div> - - <div class="row"> - <label for="systemSelector" class="col-md-4 col-lg-4 col-sm-4"> - Platform: - </label> - - <div class="col-md-8 col-lg-8 col-sm-8 " style="color: #fff"> - {{selectedRow.platform}} - </div> - </div> - - <div class="row"> - <label for="systemSelector" class="col-md-4 col-lg-4 col-sm-4"> - Organization: - </label> - - <div class="col-md-8 col-lg-8 col-sm-8 " style="color: #fff"> - {{selectedRow.system}} - </div> - </div> - - <div class="row"> - <label class="col-md-4 col-lg-4 col-sm-4"> - Schema: - </label> - - <div class="col-md-8 col-lg-8 col-sm-8" style="color: #fff"> - {{selectedRow.schema}} - </div> - </div> - - <div class="row"> - <label class="col-md-4 col-lg-4 col-sm-4"> - Owner: - </label> - - <div class="col-md-8 col-lg-8 col-sm-8" style="color: #fff"> - {{selectedRow.owner}} - </div> - </div> - - - </div> - </div> - - - </div><!--//row--> - -</div> http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f629d0f4/griffin-ui/pages/dataassets/createdataasset.html ---------------------------------------------------------------------- diff --git a/griffin-ui/pages/dataassets/createdataasset.html b/griffin-ui/pages/dataassets/createdataasset.html deleted file mode 100644 index 13bbb4d..0000000 --- a/griffin-ui/pages/dataassets/createdataasset.html +++ /dev/null @@ -1,237 +0,0 @@ -<!-- - Copyright (c) 2016 eBay Software Foundation. - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - --> -<div class="container-fluid"> - <div class="row pageTitle"> - <h5 class="over-title margin-bottom-15">Register Data Asset</h5> - </div><!--//row--> - <div class="row"> - <form name="Form" id="form" novalidate> - <div id="wizard" class="swMain" > - <!-- <ul> - <li> - <a href="" class="onlyone selected" > - <div class="stepNumber"> - 1 - </div> - <span class="stepDesc text-small"> Configuration </span> - </a> - </ul> --> - - <div id="step-1" ng-show="currentStep == 1" class="formStep" > - <label class="stepDesc">Please setup the data asset required information.</label> - <div class="container-fluid"> - - <!-- schema definition list --> - <div class="col-md-12 col-lg-12 col-sm-12"> - <fieldset> - <legend> - Required Information - </legend> - <div class="y-scrollable"> - <div class="col-md-12 col-lg-12 col-sm-12"> - <div class="form-group" ng-class="{'has-error':Form.assetName.$dirty&&Form.assetName.$invalid, 'has-success':Form.assetName.$valid}"> - <label for="assetName" class="col-md-2 col-lg-2 col-sm-2 control-label"> - Asset Name<span class="symbol required"></span>: - </label> - - <div class="col-md-10 col-lg-10 col-sm-10 "> - <input type="text" class="form-control" ng-model="form.basic.assetName" id="assetName" name="assetName" placeholder="Please input the asset name, which should be your Hive table name" required ng-pattern="'([0-9a-zA-Z\\_\\-\\.])+'"> - <span class="error text-small block " ng-if="Form.assetName.$dirty && Form.assetName.$error.required">Asset Name is required.</span> - <span class="error text-small block " ng-if="Form.assetName.$dirty && Form.assetName.$error.pattern">Only letter, number, "-", "_" and "." are allowed</span> - </div> - </div> - </div> - <div class="col-md-12 col-lg-12 col-sm-12"> - <div class="form-group" ng-class="{'has-error':Form.typeSelector.$dirty&&Form.typeSelector.$invalid, 'has-success':Form.typeSelector.$valid}"> - <label for="typeSelector" class="col-md-2 col-lg-2 col-sm-2 control-label"> - Asset Type<span class="symbol required"></span>: - </label> - - <div class="col-md-10 col-lg-10 col-sm-10 "> - <select id="typeSelector" name="typeSelector" class="form-control" ng-model="form.basic.type" ng-change="updateHdfsPath(form.basic.type)" required> - <option value="">Please select...</option> - <option ng-repeat="row in assetTypeOptions" value="{{$index}}" >{{row}}</option> - </select> - </div> - </div> - </div> - <div class="col-md-12 col-lg-12 col-sm-12"> - <div class="form-group" ng-class="{'has-error':Form.path.$dirty&&Form.path.$invalid, 'has-success':Form.path.$valid}"> - <label for="path" class="col-md-2 col-lg-2 col-sm-2 control-label"> - HDFS Path<span class="symbol required"></span>: - </label> - - <div class="col-md-10 col-lg-10 col-sm-10 "> - <input type="text" class="form-control" ng-model="form.basic.path" id="path" name="path" placeholder="Please input the HDFS path(example: /user/b_des/yosha/dmg_complete)." required ng-pattern="regex"> - <span class="error text-small block " ng-if="Form.path.$dirty && Form.path.$error.required">Asset HDFS path is required.</span> - <span class="error text-small block" ng-if="Form.path.$error.pattern">Valid path pattern is "^\/\S(?:[0-9a-zA-Z\_\-]+\/?)+"</span> - </div> - </div> - </div> - <!-- <div class="col-md-12 col-lg-12 col-sm-12"> - <div class="form-group"> - <label class="col-md-2 col-lg-2 col-sm-2 control-label"> - Data folder pattern: - </label> - - <div class="col-md-10 col-lg-10 col-sm-10"> - <input type="text" class="form-control" ng-focus="showFormatInfo=true" ng-blur="showFormatInfo=false" ng-model="form.basic.folderFormat" placeholder="please input the sub folder name format where your data will be stored, such as 'dt=[YY][MM][DD]'" > - <span ng-show="showFormatInfo" class="bark-tooltiptext" >You can use [YY], [MM], [DD] and [HH], some examples here: <br/> - <b style="color:#77b300">[YYYY]/[MM]/[DD]/[HH]</b> means the hourly data could be located in the folder of "{{form.basic.path}}2016/02/03/16"<br/> - <b style="color:#77b300">[YY]-[MM]-[DD]</b> means the daily data could be located in the folder of "{{form.basic.path}}16-02-03" - </span> - </div> - </div> - </div> --> - <div class="col-md-12 col-lg-12 col-sm-12"> - <div class="form-group" ng-class="{'has-error':Form.platformSelector.$dirty&&Form.platformSelector.$invalid, 'has-success':Form.platformSelector.$valid}"> - <label for="platformSelector" class="col-md-2 col-lg-2 col-sm-2 control-label"> - Platform<span class="symbol required"></span>: - </label> - - <div class="col-md-10 col-lg-10 col-sm-10 "> - <input type="text" class="form-control" ng-model="form.basic.platform" disabled> - <!-- <select id="platformSelector" name="platformSelector" class="form-control" ng-model="form.basic.platform" ng-change="getSystemOptions(form.basic.platform)" required> - <option value="">Please select...</option> - <option ng-repeat="row in platformOptions" value="{{$index}}" >{{row.platform}}</option> - </select> --> - </div> - </div> - </div> - <div class="col-md-12 col-lg-12 col-sm-12"> - <div class="form-group" ng-class="{'has-error':Form.systemSelector.$dirty&&Form.systemSelector.$invalid, 'has-success':Form.systemSelector.$valid}"> - <label for="systemSelector" class="col-md-2 col-lg-2 col-sm-2 control-label"> - Organization<span class="symbol required"></span>: - </label> - - <div class="col-md-10 col-lg-10 col-sm-10 "> - <select id="systemSelector" name="systemSelector" class="form-control" ng-model="form.basic.system" required> - <option value="">Please select...</option> - <option ng-repeat="row in systemOptions" value="{{$index}}" >{{row}}</option> - </select> - </div> - </div> - </div> - <div class="col-md-12 col-lg-12 col-sm-12"> - <div class="form-group"> - <label class="col-md-2 col-lg-2 col-sm-2 control-label"> - Schema<span class="symbol required"></span>: - </label> - - <div class="col-md-10 col-lg-10 col-sm-10 "> - <div class="row"> - <label class="col-md-2 col-lg-2 col-sm-2 text-info">Name<span class="symbol required"></span></label> - <label class="col-md-2 col-lg-2 col-sm-2 text-info">Type<span class="symbol required"></span></label> - <label class="col-md-2 col-lg-2 col-sm-2 text-info">Description</label> - <label class="col-md-4 col-lg-4 col-sm-4 text-info">Sample</label> - <span class="col-md-2 col-lg-2 col-sm-2" style="cursor:pointer;" title="Add" ng-click="addSchema()"><i class="glyphicon glyphicon-plus"></i></span> - </div> - <div class="row" ng-repeat="item in form.basic.schema"> - <p> - <span class="col-md-2 col-lg-2 col-sm-2"> - <input type="text" name="{{'sname'+$index}}" class="form-control" placeholder="name" ng-model="item.name" required/> - </span> - <span class="col-md-2 col-lg-2 col-sm-2"> - <input type="text" name="{{'stype'+$index}}" class="form-control" placeholder="type" ng-model="item.type" required/> - </span> - <span class="col-md-2 col-lg-2 col-sm-2"> - <input type="text" class="form-control" placeholder="desc" ng-model="item.desc" /> - </span> - <span class="col-md-4 col-lg-4 col-sm-4"> - <input type="text" class="form-control" placeholder="sample" ng-model="item.sample" /> - </span> - <span class="col-md-2 col-lg-2 col-sm-2 mt5" style="cursor:pointer;" title="Remove" ng-click="form.basic.schema.length==1 || deleteSchema($index)"><i class="glyphicon glyphicon-remove" style="vertical-align: -webkit-baseline-middle;"></i></span> - </p> - </div> - </div> - </div> - </div> - <div class="col-md-12 col-lg-12 col-sm-12"> - <div class="form-group"> - <label class="col-md-2 col-lg-2 col-sm-2 control-label"> - Owner: - </label> - - <div class="col-md-10 col-lg-10 col-sm-10"> - <input type="text" class="form-control" ng-model="form.basic.owner" ng-init="form.basic.owner=ntAccount" disabled> - </div> - </div> - </div> -<!-- - <div class="col-md-12 col-lg-12 col-sm-12"> - <div class="form-group"> - <label class="col-md-2 col-lg-2 col-sm-2 control-label"> - Hive partition columns</span>: - </label> - - <div class="col-md-10 col-lg-10 col-sm-10 "> - <div class="row"> - <label class="col-md-2 col-lg-2 col-sm-2 text-info">Name</label> - <label class="col-md-2 col-lg-2 col-sm-2 text-info">format</label> - <span class="col-md-2 col-lg-2 col-sm-2" style="cursor:pointer;" title="Add" ng-click="addPatitionColumn()"><i class="glyphicon glyphicon-plus"></i></span> - </div> - <div class="row" ng-repeat="item in form.basic.partitions"> - <p> - <span class="col-md-2 col-lg-2 col-sm-2"> - <input type="text" name="{{'sname'+$index}}" class="form-control" placeholder="name" ng-model="item.name" required/> - </span> - - <span class="col-md-2 col-lg-3 col-sm-2"> - <select id="formatSelector" name="formatSelector+$index" class="form-control" ng-model="item.format" required> - <option ng-repeat="row in formatTypeOptions" value="{{row}}" >{{row}}</option> - </select> - </span> - <span class="col-md-2 col-lg-2 col-sm-2 mt5" style="cursor:pointer;" title="Remove" ng-click="form.basic.partitions.length==0 || deletePartition($index)"><i class="glyphicon glyphicon-remove" style="vertical-align: -webkit-baseline-middle;"></i></span> - </p> - </div> - </div> - </div> - </div> --> - - </div> - - </fieldset> - - </div> - - <div class="form-group btn-container" > - <button class="btn btn-primary btn-o next-step btn-wide pull-right" ng-click="form.submit(Form)"> - Submit - </button> - </div> - </div> - </div> - - <div class="modal fade" id="confirm-pu" role="dialog"> - <div class="modal-dialog modal-xg modal-lg"> - <div class="modal-content"> - <div class="modal-header"> - <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> - <h4 class="modal-title">Save the data asset with the below information?</h4> - </div> - <div class="modal-body"> - <ng-include src="'/pages/dataassets/confirmation-dataasset.html'"/> - </div> - <div class="modal-footer"> - <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button> - <button type="button" class="btn btn-primary" ng-click="form.save()">Save</button> - </div> - </div> - </div> - </div> - </div> - </form> - </div><!--//row--> -</div> http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f629d0f4/griffin-ui/pages/dataassets/dataassets.html ---------------------------------------------------------------------- diff --git a/griffin-ui/pages/dataassets/dataassets.html b/griffin-ui/pages/dataassets/dataassets.html deleted file mode 100644 index d294e8f..0000000 --- a/griffin-ui/pages/dataassets/dataassets.html +++ /dev/null @@ -1,112 +0,0 @@ -<!-- - Copyright (c) 2016 eBay Software Foundation. - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - --> -<div class="bs-component" > - <p> - <a class="btn btn-primary btn-o btn-wide" href="#/createdataasset"><i class="fa fa-plus"></i> Register Data Asset</a> - </p> - <div id="assetContainer"> - <table st-table="displayed" st-pipe="paging" class="table table-striped"> - <thead> - <tr style="background-color:#7D95CC"> - <th st-ratio="10">Asset Name</th> - <th st-ratio="10">Asset Type</th> - <th st-ratio="20">Asset HDFS Path</th> - <!-- <th st-ratio="10">Platform</th> --> - <th st-ratio="10">Organization</th> - <th st-ratio="20">Creation Time</th> - <th st-ratio="10">Owner</th> - <th st-ratio="10">Action</th> - </tr> - </thead> - <tbody ng-if="!displayed || displayed.length == 0"> - <tr> - <td colspan="7" style="text-align:center">No content.</td> - </tr> - </tbody> - <tbody ng-repeat="row in displayed" style="word-break:break-all;"> - <tr> - <td ng-class="{accordion:true}" ng-click="row.showDetail=!(row.showDetail)"> - <i ng-show="!row.showDetail" class="fa fa-chevron-circle-right blue"></i> - <i ng-show="row.showDetail" class="fa fa-chevron-circle-down blue"></i> - {{row.assetName}}</td> - <td>{{row.assetType || 'N/A'}}</td> - <td>{{row.assetHDFSPath || 'N/A'}}</td> - <!-- <td>{{row.platform || 'N/A'}}</td> --> - <td>{{row.system || 'N/A'}}</td> - <td>{{(row.timestamp | date: 'short':'-0700') || 'N/A' }}</td> - <td>{{row.owner || 'N/A'}}</td> - <td> - <a ng-class="(!adminAccess && ntAccount!=row.owner)?'disabled':''" href="#/dataassets/{{row._id}}" alt="edit" title="edit"> - <i class="fa fa-pencil"></i> - </a> - - <a ng-class="(!adminAccess && ntAccount!=row.owner)?'disabled':''" href="" ng-click="remove(row)" alt="delete" title="delete"> - <i class="fa fa-trash-o"></i> - </a> - </td> - </tr> - <tr ng-show="row.showDetail"> - <td colspan="7" style="padding:20px 30px 10px 30px;"> - <table st-table="rowCollection" class="table table-striped" style="word-wrap: break-word;"> - <thead> - <tr style="background-color:#7D95CC"> - <th st-ratio="15">Schema Name</th> - <th st-ratio="15">Schema Type</th> - <th st-ratio="15">Description</th> - <th st-ratio="15">Sample</th> - </tr> - </thead> - <tbody> - <tr ng-if="!row.schema || row.schema.length == 0"> - <td colspan="7" style="text-align:center">No content.</td> - </tr> - <tr ng-repeat="item in row.schema"> - <td>{{item.name}}</td> - <td>{{item.type}}</td> - <td>{{item.desc || 'N/A'}}</td> - <td>{{item.sample || 'N/A'}}</td> - </tr> - </tbody> - </table> - </td> - </tr> - </tbody> - <tfoot> - <tr> - <td colspan="8" class="text-right"> - <div st-items-by-page="10" st-pagination="" st-displayed-pages="10"></div> - </td> - </tr> - </tfoot> - </table> - </div> - <div class="modal fade" id="confirm-delete" role="dialog"> - <div class="modal-dialog modal-xg modal-lg"> - <div class="modal-content"> - <div class="modal-header"> - <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> - <h4 class="modal-title">Delete the data asset with the below information?</h4> - </div> - <div class="modal-body"> - <ng-include src="'/pages/dataassets/confirmation-delete-dataasset.html'"/> - </div> - <div class="modal-footer"> - <button type="button" class="btn btn-primary" ng-click="sendDeleteRequest()">Yes</button> - <button type="button" class="btn btn-default" data-dismiss="modal">No</button> - </div> - </div> - </div> - </div> -</div> http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f629d0f4/griffin-ui/pages/dataassets/editdataasset.html ---------------------------------------------------------------------- diff --git a/griffin-ui/pages/dataassets/editdataasset.html b/griffin-ui/pages/dataassets/editdataasset.html deleted file mode 100644 index 8d22e91..0000000 --- a/griffin-ui/pages/dataassets/editdataasset.html +++ /dev/null @@ -1,219 +0,0 @@ -<!-- - Copyright (c) 2016 eBay Software Foundation. - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - --> -<div class="container-fluid"> - <div class="row"> - <h5 class="over-title margin-bottom-15">Edit Data Asset</h5> - </div><!--//row--> - <div class="row"> - <form name="Form" id="form" novalidate> - <div id="wizard" class="swMain" > - <!-- <ul> - <li> - <a href="" class="onlyone selected" > - <div class="stepNumber"> - 1 - </div> - <span class="stepDesc text-small"> Configuration </span> - </a> - </ul> --> - - <div id="step-1" ng-show="currentStep == 1" class="formStep" > - <label class="stepDesc">Please setup the data asset required information.</label> - <div class="container-fluid"> - - <!-- schema definition list --> - <div class="col-md-12 col-lg-12 col-sm-12"> - <fieldset> - <legend> - Required Information - </legend> - <div class="y-scrollable"> - <div class="col-md-12 col-lg-12 col-sm-12"> - <div class="form-group"> - <label for="assetName" class="col-md-2 col-lg-2 col-sm-2 control-label"> - Asset Name<span class="symbol required">: - </label> - - <div class="col-md-10 col-lg-10 col-sm-10 "> - <input type="text" class="form-control" ng-model="form.basic.assetName" id="assetName" name="assetName" placeholder="Please input the asset name." disabled> - </div> - </div> - </div> - <div class="col-md-12 col-lg-12 col-sm-12"> - <div class="form-group"> - <label for="typeSelector" class="col-md-2 col-lg-2 col-sm-2 control-label"> - Asset Type<span class="symbol required"></span>: - </label> - - <div class="col-md-10 col-lg-10 col-sm-10 "> - <select id="typeSelector" name="typeSelector" class="form-control" ng-model="form.basic.type" ng-change="updateHdfsPath(form.basic.type)" disabled> - <option value="">Please select...</option> - <option ng-repeat="row in assetTypeOptions" value="{{$index}}" >{{row}}</option> - </select> - </div> - </div> - </div> - <div class="col-md-12 col-lg-12 col-sm-12"> - <div class="form-group"> - <label for="path" class="col-md-2 col-lg-2 col-sm-2 control-label"> - HDFS Path<span class="symbol required"></span>: - </label> - - <div class="col-md-10 col-lg-10 col-sm-10 "> - <input type="text" class="form-control" ng-model="form.basic.path" id="path" name="path" placeholder="Please input the HDFS path."> - <span class="error text-small block " ng-if="Form.path.$dirty && Form.path.$invalid">Asset HDFS path is required.</span> - </div> - </div> - </div> - <div class="col-md-12 col-lg-12 col-sm-12"> - <div class="form-group"> - <label for="platformSelector" class="col-md-2 col-lg-2 col-sm-2 control-label"> - Platform<span class="symbol required"></span>: - </label> - - <div class="col-md-10 col-lg-10 col-sm-10 "> - <input type="text" class="form-control" ng-model="form.basic.platform" disabled> - <!-- <select id="platformSelector" name="platformSelector" class="form-control" ng-model="form.basic.platform" ng-change="getSystemOptions(form.basic.platform)" required disabled> - <option value="">Please select...</option> - <option ng-repeat="row in platformOptions" value="{{$index}}" >{{row.platform}}</option> - </select> --> - </div> - </div> - </div> - <div class="col-md-12 col-lg-12 col-sm-12"> - <div class="form-group"> - <label for="systemSelector" class="col-md-2 col-lg-2 col-sm-2 control-label"> - Organization<span class="symbol required"></span>: - </label> - - <div class="col-md-10 col-lg-10 col-sm-10 "> - <select id="systemSelector" name="systemSelector" class="form-control" ng-model="form.basic.system" required disabled> - <option value="">Please select...</option> - <option ng-repeat="row in systemOptions" value="{{$index}}" >{{row}}</option> - </select> - </div> - </div> - </div> - <div class="col-md-12 col-lg-12 col-sm-12"> - <div class="form-group"> - <label class="col-md-2 col-lg-2 col-sm-2 control-label"> - Schema<span class="symbol required"></span>: - </label> - - <div class="col-md-10 col-lg-10 col-sm-10 "> - <div class="row"> - <label class="col-md-2 col-lg-2 col-sm-2 text-info">Name<span class="symbol required"></span></label> - <label class="col-md-2 col-lg-2 col-sm-2 text-info">Type<span class="symbol required"></span></label> - <label class="col-md-2 col-lg-2 col-sm-2 text-info">Description</label> - <label class="col-md-4 col-lg-4 col-sm-4 text-info">Sample</label> - <!-- <span class="col-md-2 col-lg-2 col-sm-2" ng-click="addSchema()"><i class="glyphicon glyphicon-plus"></i></span> --> - </div> - <div class="row" ng-repeat="item in form.basic.schema"> - <p> - <span class="col-md-2 col-lg-2 col-sm-2"> - <input type="text" name="{{'sname'+$index}}" class="form-control" placeholder="name" ng-model="item.name" required disabled/> - </span> - <span class="col-md-2 col-lg-2 col-sm-2"> - <input type="text" name="{{'stype'+$index}}" class="form-control" placeholder="type" ng-model="item.type" required disabled/> - </span> - <span class="col-md-2 col-lg-2 col-sm-2"> - <input type="text" class="form-control" placeholder="desc" ng-model="item.desc" /> - </span> - <span class="col-md-4 col-lg-4 col-sm-4"> - <input type="text" class="form-control" placeholder="sample" ng-model="item.sample" /> - </span> - <!-- <span class="col-md-2 col-lg-2 col-sm-2 mt5" ng-click="form.basic.schema.length==1 || deleteSchema($index)"><i class="glyphicon glyphicon-remove" style="vertical-align: -webkit-baseline-middle;"></i></span> --> - </p> - </div> - </div> - </div> - </div> - <div class="col-md-12 col-lg-12 col-sm-12"> - <div class="form-group"> - <label class="col-md-2 col-lg-2 col-sm-2 control-label"> - Owner: - </label> - - <div class="col-md-10 col-lg-10 col-sm-10"> - <input type="text" class="form-control" ng-model="form.basic.owner" ng-init="form.basic.owner=ntAccount" disabled> - </div> - </div> - </div> - - <div class="col-md-12 col-lg-12 col-sm-12"> - <div class="form-group"> - <label class="col-md-2 col-lg-2 col-sm-2 control-label"> - time partition columns</span>: - </label> - - <div class="col-md-10 col-lg-10 col-sm-10 "> - <div class="row"> - <label class="col-md-2 col-lg-2 col-sm-2 text-info">Name</label> - <label class="col-md-2 col-lg-2 col-sm-2 text-info">format</label> - <span class="col-md-2 col-lg-2 col-sm-2" style="cursor:pointer;" title="Add" ng-click="addPatitionColumn()"><i class="glyphicon glyphicon-plus"></i></span> - </div> - <div class="row" ng-repeat="item in form.basic.partitions"> - <p> - <span class="col-md-2 col-lg-2 col-sm-2"> - <input type="text" name="{{'sname'+$index}}" class="form-control" placeholder="name" ng-model="item.name" required/> - </span> - - <span class="col-md-2 col-lg-3 col-sm-2"> - <select id="formatSelector" name="formatSelector+$index" class="form-control" ng-model="item.format" required> - <option ng-repeat="row in formatTypeOptions" value="{{row}}" >{{row}}</option> - </select> - </span> - <span class="col-md-2 col-lg-2 col-sm-2 mt5" style="cursor:pointer;" title="Remove" ng-click="form.basic.partitions.length==0 || deletePartition($index)"><i class="glyphicon glyphicon-remove" style="vertical-align: -webkit-baseline-middle;"></i></span> - </p> - </div> - </div> - </div> - </div> - - - </div> - </fieldset> - - </div> - - <div class="form-group btn-container" > - <button class="btn btn-primary btn-o next-step btn-wide pull-right" ng-click="form.submit(Form)"> - Submit - </button> - </div> - </div> - </div> - - <div class="modal fade" id="confirm-pu" role="dialog"> - <div class="modal-dialog modal-xg modal-lg"> - <div class="modal-content"> - <div class="modal-header"> - <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> - <h4 class="modal-title">Save the data asset with the below information?</h4> - </div> - <div class="modal-body"> - <ng-include src="'/pages/dataassets/confirmation-dataasset.html'"/> - </div> - <div class="modal-footer"> - <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button> - <button type="button" class="btn btn-primary" ng-click="form.save()">Save</button> - </div> - </div> - </div> - </div> - </div> - </form> - </div><!--//row--> -</div> http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f629d0f4/griffin-ui/pages/health/health.html ---------------------------------------------------------------------- diff --git a/griffin-ui/pages/health/health.html b/griffin-ui/pages/health/health.html deleted file mode 100644 index ceb2d65..0000000 --- a/griffin-ui/pages/health/health.html +++ /dev/null @@ -1,39 +0,0 @@ -<!-- - Copyright (c) 2016 eBay Software Foundation. - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - --> -<div class="bs-component"> - <ul class="nav nav-tabs "> - <li class="active"> - <a href="#heatmap" data-toggle="tab">Heatmap</a> - </li> - <li> - <a href="#topology" data-toggle="tab">Topology</a> - </li> - - </ul> -</div> - -<div class="tab-content"> - <div class="tab-pane fade active in" id="heatmap" > - <div id="chart1"></div> - </div> - <div class="tab-pane fade " id="topology"> - <!--under construction--> - <div style="height:400px;line-height:400px;text-align:center;width:100%;font-size:48px"> - <img src="/img/construction.gif" style="max-height:120px;"/> - Under construction! Coming soon! - </div> - </div> - -</div> http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f629d0f4/griffin-ui/pages/metrics/dashboard.html ---------------------------------------------------------------------- diff --git a/griffin-ui/pages/metrics/dashboard.html b/griffin-ui/pages/metrics/dashboard.html deleted file mode 100644 index b899fc0..0000000 --- a/griffin-ui/pages/metrics/dashboard.html +++ /dev/null @@ -1,59 +0,0 @@ -<!-- - Copyright (c) 2016 eBay Software Foundation. - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - --> -<div id="dashboard" class="bs-component" > - <div class="container-fluid"> - <div class="row col-lg-12" style="margin-top: 15px;"> - <div class="form-group"> - <span> - <label>Organization: </label> - <select ng-disabled="orgSelectDisabled" class="form-control" style="padding: 4px 6px;height: 30px;width: 230px;background-color: #d1d3d2;display: inline-block;margin-left: 10px;" ng-model="selectedOrgIndex" ng-change="changeOrg()"> - <option value="">-- All --</option> - <option ng-repeat="opt in originalData" value="{{$index}}" ng-selected="selectedOrgIndex==$index">{{opt.name}}</option> - </select> - </span> - <span style="padding-left:30px;"> - <label>Data Asset: </label> - <select class="form-control" style="padding: 4px 6px;height: 30px;width: 230px;background-color: #d1d3d2;display: inline-block;margin-left: 10px;" ng-model="selectedAssetIndex" ng-change="changeAsset()"> - <option value="">-- All --</option> - <option ng-repeat="opt in assetOptions" value="{{$index}}">{{opt}}</option> - </select> - </span> - </div> - </div> - <div ng-repeat="outerItems in dashboard"> - <div class="row" > - <div class="col-sm-12 col-md-12 col-lg-12"> - <h4>{{outerItems.name}}</h4> - </div> - </div> - <div class="row"> - - <div class="col-sm-6 col-md-4 col-xs-12 col-lg-3 chartItem" ng-repeat="items in outerItems.metrics" style="margin-bottom:30px;"> - - <div class="row-fluid" style="cursor: pointer;"> - <div id={{'thumbnail'+$parent.$index+'-'+$index}} ng-click="showBig(items)" class="thumb-chart" style="border: 2px solid;"></div> - <p class="text-right"> - <a href ng-click="getSample(items)" style="font-size: 11px;"> - <u>Download Sample</u> - </a> - </p> - </div> - </div> - </div> - - </div> - </div> - -</div> http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f629d0f4/griffin-ui/pages/metrics/download-sample.html ---------------------------------------------------------------------- diff --git a/griffin-ui/pages/metrics/download-sample.html b/griffin-ui/pages/metrics/download-sample.html deleted file mode 100644 index ea5998b..0000000 --- a/griffin-ui/pages/metrics/download-sample.html +++ /dev/null @@ -1,48 +0,0 @@ -<!-- - Copyright (c) 2016 eBay Software Foundation. - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - --> -<div class="container-fluid" id="viewsample-content" style="overflow:auto;"> - <div class="row"> - <h5 class="over-title margin-bottom-15">Download sample</h5> - </div><!--//row--> - <div class="row"> - <div class="col-lg-12 col-md-12 col-sm-12"> - <div id="viewrule-definition" class="viewrule-content"> - <div ng-if="sample.length==0">No data</div> - <div ng-if="sample.length>0" ng-repeat="item in sample"> - <span style="color: #fff"> - {{item.date | date: 'MM/dd/yy HH:mm':'-0700'}} - </span> - - <span> - {{item.path}} - </span> - - <span> - <a target="_self" href="{{downloadUrl + '/' + item.path}}" download style="font-size: 11px"> - <u>Download</u> - </a> - </span> - </div> - - </div> - <p> - Click the "Download" link to download sample data. You can also find the complete data file from the path listed above, and then you can back-fill the missed data - </p> - </div> - - - </div><!--//row--> - -</div> http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f629d0f4/griffin-ui/pages/metrics/metrics.css ---------------------------------------------------------------------- diff --git a/griffin-ui/pages/metrics/metrics.css b/griffin-ui/pages/metrics/metrics.css deleted file mode 100644 index e41cea2..0000000 --- a/griffin-ui/pages/metrics/metrics.css +++ /dev/null @@ -1,22 +0,0 @@ -/* - Copyright (c) 2016 eBay Software Foundation. - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - */ -.thumb-chart:hover{ - transform: scale(1.05, 1.05); - box-shadow: 0 1px 2px 2px #ccc; -} - -.side-chart:hover { - box-shadow: 0 1px 2px 2px #ccc; -} http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f629d0f4/griffin-ui/pages/mydashboard/confirmation-subscribe.html ---------------------------------------------------------------------- diff --git a/griffin-ui/pages/mydashboard/confirmation-subscribe.html b/griffin-ui/pages/mydashboard/confirmation-subscribe.html deleted file mode 100644 index d75d1ac..0000000 --- a/griffin-ui/pages/mydashboard/confirmation-subscribe.html +++ /dev/null @@ -1,38 +0,0 @@ -<!-- - Copyright (c) 2016 eBay Software Foundation. - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - --> -<div class="container-fluid" id="viewruleContent" style="overflow:auto;"> - <div class="row"> - <h5 class="over-title margin-bottom-15">Basic information</h5> - </div><!--//row--> - <div class="row"> - - <div class="col-lg-12 col-md-12 col-sm-12"> - <div id="viewrule-definition" class="viewrule-content"> - <div class="row"> - <label class="col-md-4 col-lg-4 col-sm-4"> - Subscribe info: - </label> - - <div class="col-md-8 col-lg-8 col-sm-8 " style="color: #fff"> - <pre style="background-color: #202020; color: #fff; max-height: 500px;">{{form.data | json}}</pre> - </div> - </div> - </div> - </div> - - - </div><!--//row--> - -</div>
