You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@eagle.apache.org by ha...@apache.org on 2015/11/30 03:50:36 UTC
[02/44] incubator-eagle git commit: update pom using npm to install
web deps
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/2c3005c9/eagle-webservice/src/main/webapp/public/css/alerts/policy.css
----------------------------------------------------------------------
diff --git a/eagle-webservice/src/main/webapp/public/css/alerts/policy.css b/eagle-webservice/src/main/webapp/public/css/alerts/policy.css
deleted file mode 100755
index 80c72e6..0000000
--- a/eagle-webservice/src/main/webapp/public/css/alerts/policy.css
+++ /dev/null
@@ -1,61 +0,0 @@
-@CHARSET "UTF-8";
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.
- */
-
-#advanced {
- padding: 0;
- margin: 0;
- vertical-align: baseline;
-}
-
-#metaConfig .metaList p.text-muted {
- padding-left: 15px;
-}
-
-#metaConfig a[data-toggle="collapse"] {
- display: block;
- border-radius: 0;
- text-align: left;
-}
-
-#metaConfig .conditionDesc {
- padding-left: 5px;
- padding-right: 5px;
-}
-
-#metaConfig .conditionItemCntr .collapse-cntr {
- border: 1px solid #DDD;
- border-top: none;
-}
-
-#metaConfig .conditionItemCntr:not(:last-child) .collapse-cntr {
- border-bottom: none;
-}
-
-#metaConfig .collapse-content {
- padding: 10px;
-}
-
-
-#metaConfig .collapse-content .dropdown-menu {
- min-width: initial;
-}
-
-#dedupAlertContent label:not(:first-child) {
- margin-left: 15px;
-}
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/2c3005c9/eagle-webservice/src/main/webapp/public/css/alerts/policylist.css
----------------------------------------------------------------------
diff --git a/eagle-webservice/src/main/webapp/public/css/alerts/policylist.css b/eagle-webservice/src/main/webapp/public/css/alerts/policylist.css
deleted file mode 100755
index 4140194..0000000
--- a/eagle-webservice/src/main/webapp/public/css/alerts/policylist.css
+++ /dev/null
@@ -1,22 +0,0 @@
-@CHARSET "UTF-8";
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.
- */
-#newPolicy {
- position: absolute;
- right: 10px;
-}
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/2c3005c9/eagle-webservice/src/main/webapp/public/css/alerts/policyview.css
----------------------------------------------------------------------
diff --git a/eagle-webservice/src/main/webapp/public/css/alerts/policyview.css b/eagle-webservice/src/main/webapp/public/css/alerts/policyview.css
deleted file mode 100755
index 092fb38..0000000
--- a/eagle-webservice/src/main/webapp/public/css/alerts/policyview.css
+++ /dev/null
@@ -1,30 +0,0 @@
-@CHARSET "UTF-8";
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.
- */
-
-.small-box > a.inner {
- color: #FFF;
- display: block;
-}
-
-.small-box > a.inner h3 {
- overflow: hidden;
- white-space: nowrap;
- text-overflow: ellipsis;
- font-size: 32px;
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/2c3005c9/eagle-webservice/src/main/webapp/public/css/alerts/streamlist.css
----------------------------------------------------------------------
diff --git a/eagle-webservice/src/main/webapp/public/css/alerts/streamlist.css b/eagle-webservice/src/main/webapp/public/css/alerts/streamlist.css
deleted file mode 100755
index 69db0e8..0000000
--- a/eagle-webservice/src/main/webapp/public/css/alerts/streamlist.css
+++ /dev/null
@@ -1,23 +0,0 @@
-@CHARSET "UTF-8";
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.
- */
-
-#streamList ul li .label {
- width: 55px;
- display: inline-block;
-}
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/2c3005c9/eagle-webservice/src/main/webapp/public/css/dashboards/adhoc.css
----------------------------------------------------------------------
diff --git a/eagle-webservice/src/main/webapp/public/css/dashboards/adhoc.css b/eagle-webservice/src/main/webapp/public/css/dashboards/adhoc.css
deleted file mode 100755
index d0c29a7..0000000
--- a/eagle-webservice/src/main/webapp/public/css/dashboards/adhoc.css
+++ /dev/null
@@ -1,58 +0,0 @@
-@CHARSET "UTF-8";
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.
- */
-
-#chartList .box-footer {
- display: block!important;
-}
-
-#chartList .box-footer .grpBy {
- width: 220px;
- text-align: right;
-}
-
-#chartList .box-footer .grpBy select {
- padding: 1px 3px;
- height: auto;
- max-width: 150px;
- display: inline-block;
-}
-
-
-#chartList .box-footer .chart-entity-drillDownPath {
- display: none;
-}
-
-#chartList .chartOperation {
- display: inline;
-}
-
-#chartList .chartTypeGrp {
- margin-left: 10px;
- padding-left: 10px;
- border-left: 1px solid #DDDDDD;
-}
-
-#chartList .stack {
- display: inline-block;
- margin: 0 0 0 10px;
-}
-
-#chartList .viewQuery {
- cursor: pointer;
-}
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/2c3005c9/eagle-webservice/src/main/webapp/public/css/dashboards/view.css
----------------------------------------------------------------------
diff --git a/eagle-webservice/src/main/webapp/public/css/dashboards/view.css b/eagle-webservice/src/main/webapp/public/css/dashboards/view.css
deleted file mode 100755
index 4aacfe1..0000000
--- a/eagle-webservice/src/main/webapp/public/css/dashboards/view.css
+++ /dev/null
@@ -1,18 +0,0 @@
-@CHARSET "UTF-8";
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.
- */
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/2c3005c9/eagle-webservice/src/main/webapp/public/css/main.css
----------------------------------------------------------------------
diff --git a/eagle-webservice/src/main/webapp/public/css/main.css b/eagle-webservice/src/main/webapp/public/css/main.css
deleted file mode 100755
index a82f336..0000000
--- a/eagle-webservice/src/main/webapp/public/css/main.css
+++ /dev/null
@@ -1,553 +0,0 @@
-@CHARSET "UTF-8";
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.
- */
-
-/* Frame */
-body.no-sidebar .content-wrapper {
- margin-left: 0;
-
- -webkit-transition: none;
- -moz-transition: none;
- -o-transition: none;
- transition: none;
-}
-
-/* Navigation */
-.navbar-nav > .user-menu > .dropdown-menu > li.user-header .img-circle {
- display: inline-block;
- border: 3px solid;
- border-color: rgba(255,255,255,0.2);
- width: 90px;
- height: 90px;
- margin-top: 10px;
-}
-
-.navbar-nav > .user-menu > .dropdown-menu > li.user-header .fa {
- font-size: 60px;
- color: rgba(255,255,255,0.8);
- margin-top: 10px;
-}
-
-/* Common */
-a {
- cursor: pointer;
-}
-
-.table.table-sm>tbody>tr>td,
-.table.table-sm>tbody>tr>th,
-.table.table-sm>tfoot>tr>td,
-.table.table-sm>tfoot>tr>th,
-.table.table-sm>thead>tr>td,
-.table.table-sm>thead>tr>th{
- padding: 3px 8px;
-}
-
-.table thead th .fa.fa-sort,
-.table thead th .fa.fa-sort-asc,
-.table thead th .fa.fa-sort-desc {
- margin-top: 5px;
- opacity: 0.3;
- float: right;
-}
-.table thead th:hover .fa.fa-sort,
-.table thead th:hover .fa.fa-sort-asc,
-.table thead th:hover .fa.fa-sort-desc {
- opacity: 0.8;
-}
-
-.table tr th,
-.table tr td {
- -webkit-transition: background .5s linear;
- -o-transition: background .5s linear;
- transition: background .5s linear;
-}
-
-.sortTable-cntr .pagination {
- margin-top: 0;
-}
-
-.table th.input-field,
-.table td.input-field {
- padding: 0;
- vertical-align: middle;
-}
-
-.table th.input-field > input,
-.table td.input-field > input,
-.table th.input-field > select,
-.table td.input-field > select {
- border: none;
- transition: border-color 0s;
-}
-
-.table th.input-field > input:focus,
-.table td.input-field > input:focus,
-.table th.input-field > select:focus,
-.table td.input-field > select:focus {
- box-shadow: inset 1px 1px 0px #3c8dbc, inset -1px -1px 0px #3c8dbc;
-}
-
-.table th.input-field > input.has-warning,
-.table td.input-field > input.has-warning {
- box-shadow: inset 1px 1px 0px #f39c12, inset -1px -1px 0px #f39c12;
-}
-
-/* Box */
-.small-box > a.inner {
- color: #FFF;
- display: block;
-}
-
-.small-box > a.inner h3 {
- overflow: hidden;
- white-space: nowrap;
- text-overflow: ellipsis;
- font-size: 32px;
-}
-
-.info-box.bg-gray,
-.info-box a {
- color: #FFFFFF;
-}
-.info-box a:hover {
- color: #FFFFFF;
- text-decoration: underline;
-}
-
-.info-box-content a.config {
- color: rgba(255,255,255,0.8);
-}
-.info-box-content a.config:hover {
- color: #FFFFFF;
-}
-
-.info-box-content.box-clickable {
- box-shadow: 0 0 3px;
-}
-.box-clickable {
- cursor: pointer;
-}
-
-.info-box-content .info-box-text.text-large {
- font-size: 26px;
- margin: 5px 0 10px 0;
-}
-
-
-body .tooltip-inner {
- max-width: 500px;
-}
-
-.text-nowrap {
- white-space: nowrap;
-}
-
-.text-ellipsis,
-.label.text-ellipsis {
- overflow:hidden;
- text-overflow:ellipsis;
- display: inline-block;
- white-space: nowrap;
- max-width: 100%;
-}
-td.text-ellipsis {
- display: table-cell;
-}
-
-.btn.btn-xs.sm {
- font-size: 12px;
- padding: 2px 6px;
-}
-
-.noSelect {
- -khtml-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
- -webkit-touch-callout: none;
- -webkit-user-select: none;
-}
-
-.inline-group dl,
-.inline-group dl dt,
-.inline-group dl dd {
- display: inline-block;
-}
-
-.inline-group dl {
- margin-right: 35px;
-}
-.inline-group dl dt {
- margin-right: 20px;
-}
-
-.inline-group.form-inline {
- margin-top: 5px;
-}
-.inline-group dl {
- margin-right: 25px;
-}
-.inline-group dl dt {
- margin-right: 5px;
-}
-
-.search-box {
- position: relative;
- margin-bottom: 15px;
-}
-.search-box input[type="search"] {
- padding-left: 26px;
-}
-.search-box .fa.fa-search {
- position: absolute;
- top: 8px;
- left: 8px;
- z-index: 2;
- pointer-events: none;
- color: #999;
-}
-
-/* Navigation Tab */
-.modal-body ul.nav.nav-tabs {
- border-bottom-color: #F4F4F4;
- margin-bottom: 15px;
-}
-
-.modal-body ul.nav.nav-tabs li {
- border-top: 3px solid #FFFFFF;
- margin-right: 3px;
-}
-.modal-body ul.nav.nav-tabs li.active {
- border-top-color: #3c8dbc;
-}
-
-.modal-body ul.nav.nav-tabs li > a,
-.modal-body ul.nav.nav-tabs li > a:active,
-.modal-body ul.nav.nav-tabs li > a:hover {
- border: none;
- border-radius: 0;
- margin: 0;
- padding: 6px 15px 8px 15px;
- color: #444;
-}
-.modal-body ul.nav.nav-tabs li:not(.active) > a:hover {
- background: rgba(0,0,0,0);
- color: #999;
-}
-.modal-body ul.nav.nav-tabs li.active > a {
- border-left: 1px solid #F4F4F4;
- border-right: 1px solid #F4F4F4;
-}
-
-/* Step Navigation */
-.step-cntr .step {
- background: #3c8dbc;
- margin: 0 0 20px 0;
- color: #FFF;
- height: 60px;
- border-radius: 3px;
- box-shadow: 0 1px 1px rgba(0,0,0,0.1);
- display: block;
-
- -webkit-transition: background .15s linear;
- -o-transition: background .15s linear;
- transition: background .15s linear;
-}
-.step-cntr .step.active {
- background: #f39c12;
-}
-
-.step-cntr .step h1,
-.step-cntr .step h2,
-.step-cntr .step p {
- margin: 0;
- padding: 0;
- overflow: hidden;
- white-space: nowrap;
- text-overflow: ellipsis;
-}
-
-.step-cntr .step h1 {
- display: inline-block;
- font-size: 30px;
- float: left;
- border-right: 2px solid rgba(255,255,255,0.2);
- width: 60px;
- height: 60px;
- text-align: center;
- padding-top: 12px;
- margin-right: 10px;
-}
-.step-cntr .step h2 {
- font-size: 18px;
- padding: 8px 0 5px 0;
-}
-
-/* Panel */
-.panel-group.panel-group-sm .panel .panel-heading {
- padding: 5px 6px 5px 10px;
-}
-.panel-group.panel-group-sm .panel .panel-heading h4 {
- font-size: 14px;
-}
-.panel-group.panel-group-sm .panel .panel-heading h4 a {
- display: block;
-}
-.panel-group.panel-group-sm .panel .panel-heading .pull-right {
- padding-left: 5px;
- padding-right: 5px;
- border-radius: 3px;
-}
-
-/* Drop Down */
-.dropdown-menu > li.danger > a {
- color: #dd4b39;
-}
-.dropdown-menu > li.danger > a:hover {
- color: #FFFFFF;
- background: #dd4b39;
-}
-
-/* Input Group */
-.input-group .input-group-btn select {
- width: auto;
-}
-
-/* Form group */
-.form-group .checkbox {
- display: inline;
- margin-right: 10px;
-}
-
-.form-group select.has-warning,
-.form-group input.has-warning {
- border-color: #f39c12;
- box-shadow: none;
-}
-
-/* UL */
-ul.path {
- margin-left: 0;
-}
-
-ul.path li {
- padding: 0;
- margin-right: 5px;
-}
-ul.path li a {
- color: #FFFFFF;
-}
-
-ul.tree {
- padding: 0 0 0 5px;
-}
-
-ul.tree > li,
-ul.tree > li > ul > li {
- list-style-type: none;
-}
-
-ul.tree .tree-item .hover {
- display: none;
-}
-ul.tree .tree-item:hover .hover {
- display: inline-block;
-}
-
-ul.tree > li > ul {
- padding: 0 0 0 25px;
-}
-
-ul.tree > li > ul > li.active {
- background: #F4F4F4;
-}
-
-ul.tree.tree-bordered {
- border: 1px solid #f4f4f4;
-}
-ul.tree.tree-bordered,
-ul.tree.tree-bordered > li > ul {
- padding: 0;
-}
-ul.tree.tree-bordered > li:not(:last-child) {
- border-bottom: 1px solid #f4f4f4;
-}
-ul.tree.tree-bordered > li > ul > li {
- border-top: 1px solid #f4f4f4;
-}
-ul.tree.tree-bordered > li > span,
-ul.tree.tree-bordered > li > a {
- display: block;
- padding: 8px;
-}
-ul.tree.tree-bordered > li > ul > li > span,
-ul.tree.tree-bordered > li > ul > li > a {
- display: block;
- padding: 8px 8px 8px 30px;
-}
-
-/* Label */
-.label.label-default {
- color: #FFFFFF;
-}
-
-/* Chart */
-.chart .chart-header h3 {
- text-align: center;
- margin: 10px 0 5px 0;
-}
-.chart .chart-body {
- height: 200px;
-}
-
-.chart .chart-body .axis path, .axis line {
- fill: none;
- stroke: #000;
- shape-rendering: crispEdges;
-}
-
-.chart .chart-body .bar {
- fill: steelblue;
-}
-
-/* Tab */
-body .tab-content>.tab-pane {
- display: block;
- height: 0px;
- overflow: hidden;
- position: relative;
-}
-body .tab-content>.tab-pane.active {
- height: auto;
- overflow-y: auto;
-}
-
-/* Customize */
-#content {
- position: relative;
-}
-
-.page-fixed {
- position: absolute;
- top: -45px;
- right: 0;
-}
-
-@media (max-width:991px) {
- .page-fixed {
- top: -70px;
- }
-}
-
-.fixed-right {
- position: absolute;
- right: 0;
- z-index: 3;
-}
-
-.main-header .logo .logo-lg small {
- font-size: 12px;
-}
-
-#timeRangePickerCntr .navbar-form {
- display: inline-block;
- padding-right: 0;
-}
-
-#timeRangePickerCntr #timeRangePicker {
- min-width: 300px;
-}
-
-body .login-box, body .register-box {
- margin: 3% auto;
-}
-
-.content-header > .breadcrumb > li {
- font-size: 14px;
-}
-
-.daterangepicker .ranges {
- width: 110px!important;
-}
-.daterangepicker .daterangepicker_start_input,
-.daterangepicker .daterangepicker_end_input {
- display: block!important;
- padding: 0!important;
- float: none!important;
-}
-.daterangepicker .daterangepicker_start_input .input-mini,
-.daterangepicker .daterangepicker_end_input .input-mini {
- width: 110px!important;
-}
-
-.form-group.inner-icon {
- position: relative;
-}
-.form-group.inner-icon .fa {
- position: absolute;
- left: 10px;
- top: 10px;
-}
-.form-group.inner-icon input {
- padding-left: 35px;
-}
-
-#autoRefreshCntr > a {
- border: none;
- opacity: 0.3;
-}
-#autoRefreshCntr.autoRefresh > a {
- opacity: 1;
-}
-
-.table-responsive .row {
- margin: 0;
-}
-
-
-.content .miao-chart {
- border: none;
- margin: 0;
-}
-
-.content .miao-chart .box .chart-entity-title {
- height: auto;
- margin: 0;
-}
-
-.content .miao-chart .chart-entity-menu {
- display: block;
- top: 5px;
- right: 25px;
-}
-
-.content .miao-chart .box .chart-entity-menu {
- display: block;
- top: 5px;
- right: 25px;
- padding-right: 10px;
- border-right: 1px solid #f4f4f4;
-}
-
-.content .miao-chart .box .chart-entity-drillDownPath .drillDownPath {
- position: static;
-}
-
-.content .miao-chart[data-miao-drilldown-depth='0'] .box .box-footer {
- display: none;
-}
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/2c3005c9/eagle-webservice/src/main/webapp/public/images/favicon.png
----------------------------------------------------------------------
diff --git a/eagle-webservice/src/main/webapp/public/images/favicon.png b/eagle-webservice/src/main/webapp/public/images/favicon.png
deleted file mode 100755
index 3bede2a..0000000
Binary files a/eagle-webservice/src/main/webapp/public/images/favicon.png and /dev/null differ
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/2c3005c9/eagle-webservice/src/main/webapp/public/js/app.js
----------------------------------------------------------------------
diff --git a/eagle-webservice/src/main/webapp/public/js/app.js b/eagle-webservice/src/main/webapp/public/js/app.js
deleted file mode 100755
index 5f1811b..0000000
--- a/eagle-webservice/src/main/webapp/public/js/app.js
+++ /dev/null
@@ -1,682 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.
- */
-
-'use strict';
-
-/* App Module */
-var eagleApp = angular.module('eagleApp', ['ngRoute', 'ngCookies', 'damControllers']);
-
-eagleApp.config(function($routeProvider) {
- $routeProvider.when('/dam/summary', {
- templateUrl : 'partials/dam/summary.html',
- controller : 'summaryCtrl',
- resolve: {
- site: function(Site) {return Site._promise();},
- auth: function(Authorization) {return Authorization._promise();},
- },
-
- // Authorization
- }).when('/dam/login', {
- templateUrl : 'partials/dam/login.html',
- controller : 'authLoginCtrl',
- access: {skipCheck: true},
-
- // Policy
- }).when('/dam/policyList', {
- templateUrl : 'partials/dam/policyList.html',
- controller : 'policyListCtrl',
- resolve: {
- site: function(Site) {return Site._promise();},
- auth: function(Authorization) {return Authorization._promise();},
- },
- }).when('/dam/policyList/:dataSource', {
- templateUrl : 'partials/dam/policyList.html',
- controller : 'policyListCtrl',
- resolve: {
- site: function(Site) {return Site._promise();},
- auth: function(Authorization) {return Authorization._promise();},
- },
- }).when('/dam/policyDetail/', {
- templateUrl : 'partials/dam/policyDetail.html',
- controller : 'policyDetailCtrl',
- resolve: {
- site: function(Site) {return Site._promise();},
- auth: function(Authorization) {return Authorization._promise();},
- },
- }).when('/dam/policyDetail/:encodedRowkey', {
- templateUrl : 'partials/dam/policyDetail.html',
- controller : 'policyDetailCtrl',
- resolve: {
- site: function(Site) {return Site._promise();},
- auth: function(Authorization) {return Authorization._promise();},
- },
- }).when('/dam/policyEdit/:encodedRowkey', {
- templateUrl : 'partials/dam/policyEdit.html',
- controller : 'policyEditCtrl',
- resolve: {
- site: function(Site) {return Site._promise();},
- auth: function(Authorization) {return Authorization._promise();},
- },
- }).when('/dam/policyCreate/', {
- templateUrl : 'partials/dam/policyEdit.html',
- controller : 'policyCreateCtrl',
- resolve: {
- site: function(Site) {return Site._promise();},
- auth: function(Authorization) {return Authorization._promise();},
- },
-
- // Alert
- }).when('/dam/alertList', {
- templateUrl : 'partials/dam/alertList.html',
- controller : 'alertListCtrl',
- resolve: {
- site: function(Site) {return Site._promise();},
- auth: function(Authorization) {return Authorization._promise();},
- },
- }).when('/dam/alertList/:dataSource', {
- templateUrl : 'partials/dam/alertList.html',
- controller : 'alertListCtrl',
- resolve: {
- site: function(Site) {return Site._promise();},
- auth: function(Authorization) {return Authorization._promise();},
- },
- }).when('/dam/alertDetail/:encodedRowkey', {
- templateUrl : 'partials/dam/alertDetail.html',
- controller : 'alertDetailCtrl',
- resolve: {
- site: function(Site) {return Site._promise();},
- auth: function(Authorization) {return Authorization._promise();},
- },
-
- // Stream
- }).when('/dam/streamList', {
- templateUrl : 'partials/dam/streamList.html',
- controller : 'streamListCtrl',
- resolve: {
- site: function(Site) {return Site._promise();},
- auth: function(Authorization) {return Authorization._promise();},
- },
-
- // Site
- }).when('/dam/siteList', {
- templateUrl : 'partials/dam/siteList.html',
- controller : 'siteListCtrl',
- resolve: {
- site: function(Site) {return Site._promise();},
- auth: function(Authorization) {return Authorization._promise();},
- },
- access: {roles: ["ROLE_ADMIN"]},
-
- // Sensitivity
- }).when('/dam/sensitivitySummary', {
- templateUrl : 'partials/dam/sensitivitySummary.html',
- controller : 'sensitivitySummaryCtrl',
- resolve: {
- site: function(Site) {return Site._promise();},
- auth: function(Authorization) {return Authorization._promise();},
- },
- }).when('/dam/sensitivity', {
- templateUrl : 'partials/dam/sensitivity.html',
- controller : 'sensitivityCtrl',
- reloadOnSearch: false,
- resolve: {
- site: function(Site) {return Site._promise();},
- auth: function(Authorization) {return Authorization._promise();},
- },
-
- // User Profile
- }).when('/dam/userProfileList', {
- templateUrl : 'partials/dam/userProfileList.html',
- controller : 'userProfileListCtrl',
- resolve: {
- site: function(Site) {return Site._promise();},
- auth: function(Authorization) {return Authorization._promise();},
- },
- }).when('/dam/userProfileDetail/:user', {
- templateUrl : 'partials/dam/userProfileDetail.html',
- controller : 'userProfileDetailCtrl',
- resolve: {
- site: function(Site) {return Site._promise();},
- auth: function(Authorization) {return Authorization._promise();},
- },
-
- }).otherwise({
- redirectTo : '/dam/summary'
- });
-});
-
-eagleApp.service('globalContent', function(Entities, $rootScope, $route, $location) {
- var content = {
- pageTitle: "",
- pageSubTitle: "",
- pageList: [],
- navPath: [],
- navMapping: {},
-
- hideSite: false,
- lockSite: false,
-
- dataSrcList: [],
-
- setConfig: function(config) {
- // Clean up
- content.navPath = [];
-
- // Fill configuration
- $.extend(content, config);
- },
- };
-
- return content;
-});
-
-// Site
-eagleApp.service('Site', function(Authorization, Entities, $rootScope, $route, $location, $q) {
- var _currentSite;
- var content = {};
-
- content.list = [];
- content.list.set = {};
- content.dataSrcList = [];
-
- content.current = function(site) {
- if(site) {
- var _prev = _currentSite;
- _currentSite = site;
-
- // Broadcast if site update
- if(!_prev || _prev.name !== _currentSite.name) {
- if(sessionStorage) {
- sessionStorage.setItem("site", _currentSite.name);
- }
-
- if(!content.hideSite) $route.reload();
- }
- }
- return _currentSite;
- };
- content.find = function(siteName) {
- return common.array.find(siteName, content.list, "name");
- };
- content.url = function(site, url) {
- if(arguments.length == 1) {
- url = site;
- } else {
- content.current(site);
- }
- $location.url(url);
-
- if ($rootScope.$$phase != '$apply' && $rootScope.$$phase != '$digest') {
- $rootScope.$apply();
- }
- };
-
- var _promise;
- content.refresh = function() {
- content.list = [];
- content.list.set = {};
-
- content.dataSrcList = Entities.queryEntities("AlertDataSourceService", '');
- content.dataSrcList._promise.success(function() {
- $.each(content.dataSrcList, function(i, dataSrc) {
- var _site = content.list.set[dataSrc.tags.site];
- if(!_site) {
- _site = content.list.set[dataSrc.tags.site] = {
- name: dataSrc.tags.site,
- dataSrcList: []
- };
- _site.dataSrcList.find = function(dataSrcName) {
- return common.array.find(dataSrcName, _site.dataSrcList, "tags.dataSource");
- };
- content.list.push(_site);
- }
- _site.dataSrcList.push(dataSrc);
-
- // UI visible check
- if($.inArray(dataSrc.tags.dataSource, app.config.dataSource.uiInvisibleList) !== -1) {
- dataSrc.hide = true;
- }
- });
-
- if(sessionStorage && content.find(sessionStorage.getItem("site"))) {
- content.current(content.find(sessionStorage.getItem("site")));
- } else {
- content.current(content.list[0]);
- }
- });
-
- _promise = content.dataSrcList._promise;
- return _promise;
- };
-
- content._promise = function() {
- if(!_promise) {
- content.refresh();
- }
- return _promise;
- };
-
- return content;
-});
-
-// Authorization
-eagleApp.service('Authorization', function($http, $location, $cookies) {
- $http.defaults.withCredentials = true;
-
- var _path = "";
- var _userProfile = null;
-
- var content = {
- isLogin: true, // Status mark. Work for UI status check, changed when eagle api return 403 authorization failure.
- login: function(username, password) {
- var _hash = btoa(username + ':' + password);
- return $http({
- url : app.getURL('userProfile'),
- method : "GET",
- headers: {
- 'Authorization': "Basic " + _hash
- }
- }).then(function() {
- content.isLogin = true;
- return true;
- }, function() {
- return false;
- });
- },
- logout: function() {
- $http({
- url : app.getURL('logout'),
- method : "GET",
- });
- },
- path: function(path) {
- if(typeof path === "string") {
- _path = path;
- } else if(path === true) {
- $location.path(_path || "");
- _path = "";
- }
- },
- };
-
- var _promise;
- content.userProfile = {};
- content.isRole = function(role) {
- if(!content.userProfile.roles) return null;
-
- return content.userProfile.roles[role] === true;
- };
-
- content.refresh = function() {
- _promise = $http({
- url : app.getURL('userProfile'),
- method : "GET",
- }).then(function(data) {
- content.userProfile = data.data;
-
- // Role
- content.userProfile.roles = {};
- $.each(content.userProfile.authorities, function(i, role) {
- content.userProfile.roles[role.authority] = true;
- });
- });
- return _promise;
- };
-
- content._promise = function() {
- if(!_promise) {
- content.refresh();
- }
- return _promise;
- };
-
- return content;
-});
-
-eagleApp.service('Entities', function($http, $q, $rootScope, $location, Authorization) {
- // Query
- function _query(name, kvs) {
- kvs = kvs || {};
- var _list = [];
- var _condition = kvs._condition || {};
- var _addtionalCondition = _condition.additionalCondition || {};
-
- // Initial
- // > Condition
- delete kvs._condition;
- if(_condition) {
- kvs.condition = _condition.condition;
- }
-
- // > Values
- if(!kvs.values) {
- kvs.values = "*";
- } else if($.isArray(kvs.values)) {
- kvs.values = $.map(kvs.values, function(field) {
- return (field[0] === "@" ? '' : '@') + field;
- }).join(",");
- }
-
- var _url = app.getURL(name, kvs);
-
- // Fill special parameters
- // > Query by time duration
- if(_addtionalCondition._duration) {
- var _endTime = app.time.now();
- var _startTime = _endTime.clone().subtract(_addtionalCondition._duration, "ms");
-
- // Debug usage. Extend more time duration for end time
- if(_addtionalCondition.__ETD) {
- _endTime.add(_addtionalCondition.__ETD, "ms");
- }
-
- _addtionalCondition._startTime = _startTime;
- _addtionalCondition._endTime = _endTime;
-
- var _startTimeStr = _startTime.format("YYYY-MM-DD HH:mm:ss");
- var _endTimeStr = _endTime.clone().add(1, "s").format("YYYY-MM-DD HH:mm:ss");
-
- _url += "&startTime=" + _startTimeStr + "&endTime=" + _endTimeStr;
- } else if(_addtionalCondition._startTime && _addtionalCondition._endTime) {
- var _startTimeStr = _addtionalCondition._startTime.format("YYYY-MM-DD HH:mm:ss");
- var _endTimeStr = _addtionalCondition._endTime.clone().add(1, "s").format("YYYY-MM-DD HH:mm:ss");
-
- _url += "&startTime=" + _startTimeStr + "&endTime=" + _endTimeStr;
- }
-
- // > Query contains metric name
- if(_addtionalCondition._metricName) {
- _url += "&metricName=" + _addtionalCondition._metricName;
- }
-
- // > Customize page size
- if(_addtionalCondition._pageSize) {
- _url = _url.replace(/pageSize=\d+/, "pageSize=" + _addtionalCondition._pageSize);
- }
-
- // AJAX
- var canceler = $q.defer();
- _list._promise = $http.get(_url, {timeout: canceler.promise}).success(function(data) {
- _list.push.apply(_list, data.obj);
- });
- _list._promise.abort = function() {
- canceler.resolve();
- };
-
- _list._promise.then(function() {}, function(data) {
- if(data.status === 403) {
- Authorization.isLogin = false;
- $location.path("/dam/login");
- }
- });
-
- return _list;
- }
- function _post(url, entities) {
- var _list = [];
- _list._promise = $http({
- method: 'POST',
- url: url,
- headers: {
- "Content-Type": "application/json"
- },
- data: entities
- }).success(function(data) {
- _list.push.apply(_list, data.obj);
- });
- return _list;
- }
- function _delete(url) {
- var _list = [];
- _list._promise = $http({
- method: 'DELETE',
- url: url,
- headers: {
- "Content-Type": "application/json"
- },
- }).success(function(data) {
- _list.push.apply(_list, data.obj);
- });
- return _list;
- }
- function _parseCondition(condition) {
- var _this = this;
- _this.condition = "";
- _this.additionalCondition = {};
-
- if(typeof condition === "string") {
- _this.condition = condition;
- } else {
- _this.condition = $.map(condition, function(value, key) {
- if(!key.match(/^_/)) {
- if(value === undefined || value === null) {
- return '@' + key + '=~".*"';
- } else {
- return '@' + key + '="' + value + '"';
- }
- } else {
- _this.additionalCondition[key] = value;
- return null;
- }
- }).join(" AND ");
- }
- return _this;
- }
-
- var pkg = {
- _query: _query,
- _post: _post,
-
- updateEntity: function(serviceName, entities, config) {
- config = config || {};
- if(!$.isArray(entities)) entities = [entities];
-
- // Post clone entities
- var _entities = $.map(entities, function(entity) {
- var _entity = {};
-
- // Clone variables
- $.each(entity, function(key, value) {
- // Skip inner variables
- if(!key.match(/^__/)) {
- _entity[key] = entity[key];
- }
- });
-
- // Add timestamp
- if(config.timestamp !== false) {
- if(config.createTime !== false && !_entity.createdTime) {
- _entity.createdTime = new moment().valueOf();
- }
- if(config.lastModifiedDate !== false) {
- _entity.lastModifiedDate = new moment().valueOf();
- }
- }
-
- return _entity;
- });
-
- return _post(app.getURL("updateEntity", {serviceName: serviceName}), _entities);
- },
-
- deleteEntity: function(serviceName, entities) {
- if(!$.isArray(entities)) entities = [entities];
-
- var _entities = $.map(entities, function(entity) {
- return typeof entity === "object" ? entity.encodedRowkey : entity;
- });
- return _post(app.getURL("deleteEntity", {serviceName: serviceName}), _entities);
- },
- deleteEntities: function(serviceName, condition) {
- return _delete(app.getURL("deleteEntities", {serviceName: serviceName, condition: new _parseCondition(condition).condition}));
- },
-
- queryEntity: function(serviceName, encodedRowkey) {
- return _query("queryEntity", {serviceName: serviceName, encodedRowkey: encodedRowkey});
- },
- queryEntities: function(serviceName, condition, fields) {
- return _query("queryEntities", {serviceName: serviceName, _condition: new _parseCondition(condition), values: fields});
- },
- queryGroup: function(serviceName, condition, groupBy, fields) {
- return _query("queryGroup", {serviceName: serviceName, _condition: new _parseCondition(condition), groupBy: groupBy, values: fields});
- },
- querySeries: function(serviceName, condition, groupBy, fields, intervalmin) {
- var _cond = new _parseCondition(condition);
- var _list = _query("querySeries", {serviceName: serviceName, _condition: _cond, groupBy: groupBy, values: fields, intervalmin: intervalmin});
- _list._promise.success(function() {
- if(_list.length === 0) {
- _list._empty = true;
- _list._convert = true;
-
- for(var i = 0; i <= (_cond.additionalCondition._endTime.valueOf() - _cond.additionalCondition._startTime.valueOf()) / (1000 * 60 * intervalmin); i += 1) {
- _list.push(0);
- }
- } else if(_list.length === 1) {
- _list._convert = true;
- var _unit = _list.pop();
- _list.push.apply(_list, _unit.value[0]);
- }
-
- if(_list._convert) {
- var _current = _cond.additionalCondition._startTime.clone();
- $.each(_list, function(i, value) {
- _list[i] = [_current.valueOf(), value];
- _current.add(intervalmin, "m");
- });
- }
- });
- return _list;
- },
-
- query: function(path, params) {
- var _list = [];
- _list._promise = $http({
- method: 'GET',
- url: app.getURL("query") + path,
- params: params
- }).success(function(data) {
- _list.push.apply(_list, data.obj);
- });
- return _list;
- },
-
- dialog: function(data, callback) {
- if(data.success === false || (data.exception || "").trim()) {
- return $.dialog({
- title: "OPS",
- content: $("<pre>").html(data.exception)
- }, callback);
- }
- return false;
- },
- };
- return pkg;
-});
-
-eagleApp.filter('parseJSON', function() {
- return function(input, defaultVal) {
- return common.parseJSON(input, defaultVal);
- };
-});
-
-eagleApp.filter('split', function() {
- return function(input, regex) {
- return input.split(regex);
- };
-});
-
-eagleApp.filter('reverse', function() {
- return function(items) {
- return items.slice().reverse();
- };
-});
-
-eagleApp.controller('MainCtrl', function($scope, $location, $http, globalContent, Site, Authorization, Entities) {
- window.globalContent = $scope.globalContent = globalContent;
- window.site = $scope.site = Site;
- window.auth = $scope.auth = Authorization;
- window.entities = $scope.entities = Entities;
- $scope.app = app;
-
- // Clean up
- $scope.$on('$routeChangeStart', function(event, next, current) {
- // Page initialization
- globalContent.pageTitle = "";
- globalContent.pageSubTitle = "";
- globalContent.hideSite = false;
- globalContent.lockSite = false;
- globalContent.hideSidebar = false;
- globalContent.hideUser = false;
-
- // Authorization
- // > Login check
- if(!common.getValueByPath(next, "access.skipCheck", false)) {
- if(!Authorization.isLogin) {
- $location.path("/dam/login");
- }
- }
-
- // > Role control
- var _roles = common.getValueByPath(next, "access.roles", []);
- if(_roles.length && Authorization.userProfile.roles) {
- var _roleMatch = false;
- $.each(_roles, function(i, roleName) {
- if(Authorization.isRole(roleName)) {
- _roleMatch = true;
- return false;
- }
- });
-
- if(!_roleMatch) {
- $location.path("/dam");
- }
- }
- });
-
- // Get side bar navigation item class
- $scope.getNavClass = function(page) {
- var path = page.url.replace(/^#/, '');
-
- if ($location.path() == path) {
- globalContent.pageTitle = globalContent.pageTitle || page.title;
- return "active";
- } else {
- return "";
- }
- };
-
- // Get side bar navigation item class visible
- $scope.getNavVisible = function(page) {
- if(!page.roles) return true;
-
- for(var i = 0 ; i < page.roles.length ; i += 1) {
- var roleName = page.roles[i];
- if(Authorization.isRole(roleName)) {
- return true;
- }
- }
-
- return false;
- };
-
- // Authorization
- $scope.logout = function() {
- Authorization.logout();
- $location.path("/dam/login");
- };
-});
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/2c3005c9/eagle-webservice/src/main/webapp/public/js/app.time.js
----------------------------------------------------------------------
diff --git a/eagle-webservice/src/main/webapp/public/js/app.time.js b/eagle-webservice/src/main/webapp/public/js/app.time.js
deleted file mode 100755
index c6fb03c..0000000
--- a/eagle-webservice/src/main/webapp/public/js/app.time.js
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.
- */
-
-"use strict";
-
-// Time Zone
-(function() {
- app.time = {
- UTC_OFFSET: 0,
- now: function() {
- return app.time.offset();
- },
- offset: function(time) {
- // Parse string number
- if(typeof time === "string" && !isNaN(+time)) {
- time = +time;
- }
-
- var _mom = new moment(time);
- _mom.utcOffset(app.time.UTC_OFFSET);
- return _mom;
- },
- /*
- * Return the moment object which use server time zone and keep the time.
- */
- srvZone: function(time) {
- var _timezone = time._isAMomentObject ? time.utcOffset() : new moment().utcOffset();
- var _mom = app.time.offset(time);
- _mom.subtract(app.time.UTC_OFFSET, "m").add(_timezone, "m");
- return _mom;
- },
-
- refreshInterval: 1000 * 10
- };
-
- // Moment update
- moment.fn.toISO = function() {
- return this.format("YYYY-MM-DDTHH:mm:ss.000Z");
- };
-})();
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/2c3005c9/eagle-webservice/src/main/webapp/public/js/app.ui.js
----------------------------------------------------------------------
diff --git a/eagle-webservice/src/main/webapp/public/js/app.ui.js b/eagle-webservice/src/main/webapp/public/js/app.ui.js
deleted file mode 100755
index 4e0ee6e..0000000
--- a/eagle-webservice/src/main/webapp/public/js/app.ui.js
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.
- */
-(function() {
- // ================== AdminLTE Update ==================
- var _boxSelect = $.AdminLTE.options.boxWidgetOptions.boxWidgetSelectors;
-
- // Box collapse
- $(document).on("click", _boxSelect.collapse, function(e) {
- if(common.getValueByPath($._data(this), "events.click")) return;
-
- e.preventDefault();
- $.AdminLTE.boxWidget.collapse($(this));
- });
-
- // Box remove
- $(document).on("click", _boxSelect.remove, function(e) {
- if(common.getValueByPath($._data(this), "events.click")) return;
-
- e.preventDefault();
- $.AdminLTE.boxWidget.remove($(this));
- });
-
- // =================== jQuery Update ===================
- // Slide Toggle
- var _slideToggle = $.fn.slideToggle;
- $.fn.slideToggle = function(showOrHide) {
- if(arguments.length === 1 && typeof showOrHide === "boolean") {
- if(showOrHide) {
- this.slideDown();
- } else {
- this.slideUp();
- }
- } else {
- _slideToggle.apply(this, arguments);
- }
- };
-
- // Fade Toggle
- var _fadeToggle = $.fn.fadeToggle;
- $.fn.fadeToggle = function(showOrHide) {
- if(arguments.length === 1 && typeof showOrHide === "boolean") {
- if(showOrHide) {
- this.fadeIn();
- } else {
- this.fadeOut();
- }
- } else {
- _fadeToggle.apply(this, arguments);
- }
- };
-})();
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/2c3005c9/eagle-webservice/src/main/webapp/public/js/common.js
----------------------------------------------------------------------
diff --git a/eagle-webservice/src/main/webapp/public/js/common.js b/eagle-webservice/src/main/webapp/public/js/common.js
deleted file mode 100755
index f64f051..0000000
--- a/eagle-webservice/src/main/webapp/public/js/common.js
+++ /dev/null
@@ -1,211 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.
- */
-
-var common = {};
-
-common.template = function (str, list) {
- $.each(list, function(key, value) {
- var _regex = new RegExp("\\$\\{" + key + "\\}", "g");
- str = str.replace(_regex, value);
- });
- return str;
-};
-
-common.getValueByPath = function (unit, path, defaultValue) {
- if(unit === null || unit === undefined) throw "Unit or path can't be empty!";
- if(path === "" || path === null || path === undefined) return unit;
-
- path = path.replace(/\[(\d+)\]/g, ".$1").replace(/^\./, "").split(/\./);
- $.each(path, function(i, path) {
- unit = unit[path];
- if(unit === null || unit === undefined) {
- unit = null;
- return false;
- }
- });
- if(unit === null && defaultValue !== undefined) {
- unit = defaultValue;
- }
- return unit;
-};
-
-common.setValueByPath = function(unit, path, value) {
- if(!unit || path == null || path === "") throw "Unit or path can't be empty!";
-
- var _inArray = false;
- var _end = 0;
- var _start = 0;
- var _unit = unit;
-
- function _nextPath(array) {
- var _key = path.slice(_start, _end);
- if(_inArray) {
- _key = _key.slice(0, -1);
- }
- if(!_unit[_key]) {
- if(array) {
- _unit[_key] = [];
- } else {
- _unit[_key] = {};
- }
- }
- _unit = _unit[_key];
- }
-
- for(; _end < path.length ; _end += 1) {
- if(path[_end] === ".") {
- _nextPath(false);
- _start = _end + 1;
- _inArray = false;
- } else if(path[_end] === "[") {
- _nextPath(true);
- _start = _end + 1;
- _inArray = true;
- }
- }
-
- _unit[path.slice(_start, _inArray ? -1 : _end)] = value;
-
- return unit;
-};
-
-common.parseJSON = function (str, defaultVal) {
- try {
- return JSON.parse(str);
- } catch(err) {
- if(defaultVal === undefined) {
- console.warn("Can't parse JSON: " + str);
- }
- }
- return defaultVal === undefined ? null : defaultVal;
-};
-
-common.isEmpty = function(val) {
- if($.isArray(val)) {
- return val.length === 0;
- } else {
- return val === null || val === undefined;
- }
-};
-
-// ====================== Format ======================
-common.format = {};
-
-/*
- * Format date to string. Support number, string, Date instance. Will auto convert time zone offset(Moment instance will keep time zone).
- */
-common.format.date = function(val, type) {
- if(val === undefined || val === null) return "";
-
- if(typeof val === "number" || typeof val === "string" || val instanceof Date) {
- val = app.time.offset(val);
- }
- switch(type) {
- default:
- return val.format("YYYY-MM-DD HH:mm:ss") + (val.utcOffset() === 0 ? '[UTC]' : '');
- }
-};
-
-// ====================== Array =======================
-common.array = {};
-
-common.array.sum = function(list, path) {
- var _sum = 0;
- if(list) {
- $.each(list, function(i, unit) {
- var _val = common.getValueByPath(unit, path);
- if(typeof _val === "number") {
- _sum += _val;
- }
- });
- }
- return _sum;
-};
-
-common.array.max = function(list, path) {
- var _max = null;
- if(list) {
- $.each(list, function(i, unit) {
- var _val = common.getValueByPath(unit, path);
- if(typeof _val === "number" && (_max === null || _max < _val)) {
- _max = _val;
- }
- });
- }
- return _max;
-};
-
-common.array.bottom = function(list, path, count) {
- var _list = list.slice();
-
- _list.sort(function(a, b) {
- var _a = common.getValueByPath(a, path, null);
- var _b = common.getValueByPath(b, path, null);
-
- if(_a === _b) return 0;
- if(_a < _b || _a === null) {
- return -1;
- } else {
- return 1;
- }
- });
- return !count ? _list : _list.slice(0, count);
-};
-common.array.top = function(list, path, count) {
- var _list = common.array.bottom(list, path);
- _list.reverse();
- return !count ? _list : _list.slice(0, count);
-};
-
-common.array.find = function(val, list, path, findAll) {
- path = path || "";
- var _list = $.grep(list, function(unit) {
- return val === common.getValueByPath(unit, path);
- });
- return findAll ? _list : (_list.length === 0 ? null : _list[0]);
-};
-
-common.array.filter = function(val, list, path) {
- return common.array.find(val, list, path, true);
-};
-
-common.array.count = function(list, val, path) {
- if(arguments.length === 1) {
- return list.length;
- } else {
- return common.array.find(val, list, path, true).length;
- }
-};
-
-common.array.remove = function(val, list) {
- for(var i = 0 ; i < list.length ; i += 1) {
- if(list[i] === val) {
- list.splice(i, 1);
- i -= 1;
- }
- }
-};
-
-// ======================= Map ========================
-common.map = {};
-
-common.map.toArray = function(map) {
- return $.map(map, function(unit) {
- return unit;
- });
-};
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/2c3005c9/eagle-webservice/src/main/webapp/public/js/components/charts.js
----------------------------------------------------------------------
diff --git a/eagle-webservice/src/main/webapp/public/js/components/charts.js b/eagle-webservice/src/main/webapp/public/js/components/charts.js
deleted file mode 100755
index 8b3d8d2..0000000
--- a/eagle-webservice/src/main/webapp/public/js/components/charts.js
+++ /dev/null
@@ -1,188 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.
- */
-'use strict';
-
-eagleComponents.directive('chart', function($compile) {
- return {
- restrict : 'E',
- scope: {
- title: "@",
- data: "=",
- },
- controller: function(charts, $scope, $element) {
- var _charts = charts($scope);
-
- _charts.gen($element.find(".chart-body"), [{
- data: "data",
- }]);
- },
- template : '<div class="chart">' +
- '<div class="chart-header">' +
- '<h3>{{title}}</h3>' +
- '</div>' +
- '<div class="chart-body">' +
- '</div>' +
- '</div>',
- replace: true
- };
-});
-
-/*
- * config:
- * type: "line"(default), "area". Chart type is the default type of all series. Will be replaced by each series configure.
- */
-eagleComponents.service('charts', function() {
- /*
- * Destroy chart
- */
- function _destroy(ele) {
- $(ele).each(function() {
- var _plot = $(this).data("plot");
- _plot.shutdown();
- _plot.destroy();
- });
- };
-
- var charts = function($scope) {
- var _id = 0;
-
- return {
- /*
- * Generate chart
- */
- gen: function(ele, series, config) {
- // Initialization
- ele = $(ele);
-
- series = series || [];
- config = config || {};
-
- var _listenList = [];
-
- var _config = {
- grid: {
- hoverable: true,
- clickable: true,
- borderWidth: 0,
- },
- type: "line",
- colors: [
- "#7cb5ec", "#f7a35c", "#90ee7e", "#7798BF", "#aaeeee",
- ],
- series: {
- shadowSize: 0,
- },
- crosshair: {
- color: "#3c8dbc"
- },
- tooltip: {
- id: "chartTooltip",
- },
- xaxis: {
- mode: "time",
- },
- yaxis: {
- min: 0,
- },
- legend: {},
- };
-
- $.extend(_config, config);
-
- // Series process
- // > Series type
- $.each(series, function(i, _series) {
- // Data source
- if(typeof _series.data === "string") {
- _listenList.push(_series.data);
- _series._key = _series.data;
- _series.data = [];
- }
-
- // Chart type
- switch((_series.type || _config.type || "").toLowerCase()) {
- case "area":
- common.setValueByPath(_series, "lines.show", true);
- common.setValueByPath(_series, "lines.fill", true);
- default:
- common.setValueByPath(_series, "lines.show", true);
- }
-
- if(_config.xaxis.mode === "time" && $.isArray(_series.data)) {
- $.each(_series.data, function(i, unit) {
- unit[0] += app.time.UTC_OFFSET * 1000 * 60;
- });
- }
- });
-
- // > Data source
- function _updateSeriesSource() {
- $.each(series, function(i, _series) {
- if(typeof _series._key === "string" && $scope[_series._key]) {
- _series.data = $scope[_series._key];
- delete _series._key;
- }
- });
- }
-
- // Chart process
- _config.type = _config.type.toLowerCase();
- if(_config.type === "line" || _config.type === "area") {
- common.setValueByPath(_config, "crosshair.mode", "x");
- }
-
- // Draw charts
- function _drawChart() {
- _updateSeriesSource();
-
- ele.each(function() {
- var _my = $(this);
- var _plot = _my.data("plot");
- if(!_plot) {
- var _plot = $.plot(this, series, _config);
- _plot._id = ++_id;
- _my.data("plot", _plot);
- } else {
- _plot.setData(series);
- _plot.setupGrid();
- _plot.draw();
- }
- });
- }
-
- // Watch
- $.each(_listenList, function(i, item) {
- $scope.$watchCollection(item, function() {
- _drawChart();
- });
- });
-
- // Destroy
- $scope.$on('$destroy', function() {
- _destroy(ele);
- });
- },
-
- destroy: _destroy,
- };
- };
-
- charts.destroy = _destroy;
-
- return charts;
-});
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/2c3005c9/eagle-webservice/src/main/webapp/public/js/components/charts/bar.js
----------------------------------------------------------------------
diff --git a/eagle-webservice/src/main/webapp/public/js/components/charts/bar.js b/eagle-webservice/src/main/webapp/public/js/components/charts/bar.js
deleted file mode 100755
index 8090774..0000000
--- a/eagle-webservice/src/main/webapp/public/js/components/charts/bar.js
+++ /dev/null
@@ -1,290 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.
- */
-'use strict';
-
-eagleComponents.directive('barChart', function($compile) {
- return {
- restrict : 'AE',
- scope : {
- title : "@",
- data : "=",
-
- height : "=?height"
- },
- controller : function(barCharts, $scope, $element, $attrs) {
- $scope.height = $scope.height || 200;
-
- var _chart = barCharts($scope);
-
- var _chartBody = $element.find(".chart-body");
- _chartBody.height($scope.height);
-
- _chart.gen($element.find(".chart-body"), $attrs.data, {
- height : $scope.height,
- });
- },
- template : '<div class="chart">' + '<div class="chart-header">' + '<h3>{{title}}</h3>' + '</div>' + '<div class="chart-body">' + '</div>' + '</div>',
- replace : true
- };
-});
-
-eagleComponents.service('barCharts', function() {
- /*$(window).resize(function() {
- });
- $("body").on("collapsed.pushMenu", function() {
- });
- $("body").on("expanded.pushMenu", function() {
- });*/
-
- var charts = function($scope) {
- return {
- gen : function(ele, series, config) {
- // ======================= Initialization =======================
- ele = $(ele);
-
- series = series || [];
- config = config || {};
-
- // ========================== ToolTips ==========================
- var $tooltip = $("<div>").css({
- display: "inline-block",
- background: "rgba(0,0,0,0.7)",
- padding: "3px 5px",
- color: "#FFFFFF",
- position: "fixed",
- "z-index": 3,
- "border-radius": "3px",
- "font-size": "12px",
- }).appendTo("body");
-
- // ======================= Set Up D3 View =======================
- var margin = {
- top : 20,
- right : 20,
- bottom : 50,
- left : 40
- }, width = ele.innerWidth() - margin.left - margin.right, height = config.height - margin.top - margin.bottom;
-
- var x0 = d3.scale.ordinal().rangeRoundBands([0, width], .1);
- var x1 = d3.scale.ordinal();
- var y = d3.scale.linear().range([height, 0]);
-
- var color = d3.scale.ordinal().range(["#7cb5ec", "#f7a35c", "#90ee7e", "#7798BF", "#aaeeee"]);
-
- var xAxis = d3.svg.axis().scale(x0).orient("bottom");
- var yAxis = d3.svg.axis().scale(y).orient("left").tickFormat(d3.format("0.2f"));
-
- var cntr = d3.select(ele[0]).append("svg").attr("width", width + margin.left + margin.right).attr("height", height + margin.top + margin.bottom);
- var svg = cntr.append("g").attr("transform", "translate(" + margin.left + "," + margin.top + ")");
-
- // =========================== Render ===========================
- function _render() {
- // ======== Parse Data ========
- var _series = typeof series === "string" ? $scope.data : series;
- if(!_series) return;
-
- var _data = [];
- // > Detect category
- var _categoryList = [];
- _series = $.grep(_series, function(unit) {
- if(unit.type === "category") _categoryList = unit.data;
- return !unit.type;
- });
-
- // > Keys
- var _keys = $.map(_series, function(unit) {
- return unit.name;
- });
-
- // > Merge values
- var _maxLen = 0;
- $.each(_series, function(i, unit) {
- _maxLen = Math.max(_maxLen, unit.data.length);
- });
- for(var i = 0 ; i < _maxLen ; i += 1) {
- _data[i] = {};
-
- // Category
- if(_categoryList[i]) {
- _data[i]._category = _categoryList[i];
- } else {
- _data[i]._category = "CAT" + i;
- }
-
- // Value
- $.each(_keys, function(j, key) {
- _data[i][key] = _series[j].data[i] || 0;
- });
- }
-
- // ====== Convert Format ======
- var ageNames = d3.keys(_data[0]).filter(function(key) {
- return key !== "_category";
- });
-
- _data.forEach(function(d) {
- d.items = ageNames.map(function(name) {
- return {
- name : name,
- value : +d[name]
- };
- });
- });
-
- x0.domain(_data.map(function(d) {
- return d._category;
- }));
- x1.domain(ageNames).rangeRoundBands([0, x0.rangeBand()]);
- y.domain([0, d3.max(_data, function(d) {
- return d3.max(d.items, function(d) {
- return d.value;
- });
- })]);
-
- // Axis
- svg.append("g").attr("class", "y axis").call(yAxis).append("text").attr("transform", "rotate(-90)").attr("y", 6).attr("dy", ".71em").style("text-anchor", "end");
- svg.append("g").attr("class", "x axis").attr("transform", "translate(0," + height + ")").call(xAxis)
- .selectAll("text")
- .attr("transform", "rotate(15)")
- .attr("x", -x1.rangeBand() * 0.3)
- .style("text-anchor", "start");
-
- // Bar
- var barGroup = svg.selectAll(".barGroup").data(_data).enter().append("g").attr("class", "g").attr("transform", function(d) {
- return "translate(" + x0(d._category) + ",0)";
- });
-
- barGroup.selectAll("rect").data(function(d) {
- return d.items;
- }).enter().append("rect").attr("width", x1.rangeBand()).attr("x", function(d) {
- return x1(d.name);
- }).attr("y", function(d) {
- return y(d.value);
- }).attr("height", function(d) {
- return height - y(d.value);
- }).style("fill", function(d) {
- return color(d.name);
- });
-
- // Legend
- var legend = svg.selectAll(".legend").data(ageNames.slice().reverse()).enter().append("g").attr("class", "legend").attr("transform", function(d, i) {
- return "translate(0," + (30 + i * 20) + ")";
- });
-
- legend.append("rect").attr("x", width - 18).attr("width", 18).attr("height", 18).style("fill", color);
- legend.append("text").attr("x", width - 24).attr("y", 9).attr("dy", ".35em").style("text-anchor", "end").text(function(d) {
- return d;
- });
-
- // Tool tip
- var OFFSET_X = 15;
- var OFFSET_Y = 20;
- var OFFSET_DES = 20;
-
- var _tooltipId;
- var _tooltipPrev;
- var _xCells = $.map(_data, function(d) {
- return [[x0(d._category), x0(d._category) + x0.rangeBand(), d]];
- });
-
- cntr.on("mousemove", function () {
- var mouseX = d3.mouse(this.parentNode)[0] - margin.left;
- var d;
- for(var i = 0 ; i < _xCells.length ; i += 1) {
- if(_xCells[i][0] <= mouseX && mouseX <= _xCells[i][1]) {
- d= _xCells[i][2];
- break;
- }
- }
-
- if(!d && _tooltipPrev) {
- _tooltipId = setTimeout(function() {
- $tooltip.fadeOut('fast');
- }, _xCells[0] && mouseX < _xCells[0][0] ? 100 : 500);
- } else if(d) {
- if(_tooltipPrev !== d) {
- clearTimeout(_tooltipId);
-
- $tooltip.empty()
- .stop().fadeIn('fast');
-
- var $cntr = $("<div>").appendTo($tooltip);
- $("<span>").css("display", "block").text(d._category)
- .appendTo($cntr);
- $.each(d.items, function(i, item) {
- $("<span>").css("display", "block")
- .append($("<span>").html("\u25CF").css("color", color(item.name))).append(" ")
- .append(item.name)
- .append(": ")
- .append($("<b>").text(item.value))
- .appendTo($cntr);
- });
- }
-
- // Position
- var _x = event.pageX + OFFSET_X;
- var _y = event.pageY + OFFSET_Y;
- var _width = $tooltip.outerWidth();
- var _height = $tooltip.outerHeight();
- var _winWidth = $(window).width();
- var _winHeight = $(window).height();
- var _winLeft = $(window).scrollLeft();
- var _winTop = $(window).scrollTop();
-
- if(_x + _width + OFFSET_DES - _winLeft > _winWidth) {
- _x = event.pageX - _width - OFFSET_X;
- }
- if(_y + _height + OFFSET_DES - _winTop > _winHeight) {
- _y = event.pageY - _height - OFFSET_Y;
- }
-
- $tooltip.offset({
- left: _x,
- top: _y
- });
- }
- _tooltipPrev = d;
- });
- cntr.on("mouseleave", function () {
- _tooltipId = setTimeout(function() {
- $tooltip.fadeOut('fast');
- }, 100);
- });
- }
-
- // ======================= Dynamic Detect =======================
- if(typeof series === "string") {
- $scope.$parent.$watch(series, function() {
- _render();
- }, true);
- } else {
- _render();
- }
-
-
- // ========================== Clean Up ==========================
- $scope.$on('$destroy', function() {
- cntr.remove();
- $tooltip.remove();
- });
- },
- };
- };
-
- return charts;
-});
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/2c3005c9/eagle-webservice/src/main/webapp/public/js/components/charts/line3d.js
----------------------------------------------------------------------
diff --git a/eagle-webservice/src/main/webapp/public/js/components/charts/line3d.js b/eagle-webservice/src/main/webapp/public/js/components/charts/line3d.js
deleted file mode 100755
index 8d89ba2..0000000
--- a/eagle-webservice/src/main/webapp/public/js/components/charts/line3d.js
+++ /dev/null
@@ -1,345 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.
- */
-
-'use strict';
-
-eagleComponents.directive('line3dChart', function($compile) {
- return {
- restrict : 'AE',
- scope : {
- title : "@",
- data : "=",
-
- height : "=?height"
- },
- controller : function(line3dCharts, $scope, $element, $attrs) {
- $scope.height = $scope.height || 200;
-
- var _chart = line3dCharts($scope);
-
- var _chartBody = $element.find(".chart-body");
- _chartBody.height($scope.height);
-
- _chart.gen($element.find(".chart-body"), $attrs.data, {
- height : $scope.height,
- });
- },
- template : '<div class="chart">' + '<div class="chart-header">' + '<h3>{{title}}</h3>' + '</div>' + '<div class="chart-body">' + '</div>' + '</div>',
- replace : true
- };
-});
-
-eagleComponents.service('line3dCharts', function() {
- var charts = function($scope) {
- return {
- gen : function(ele, series, config) {
- // ======================= Initialization =======================
- ele = $(ele);
-
- series = series || [];
- config = config || {};
-
- var _bounds = [{min:-10, max: 10},{min:-10, max: 10},{min:-10, max: 10}];
- var _scale = 1;
-
- // ======================= Set Up D3 View =======================
- var width = ele.innerWidth(), height = config.height;
-
- var color = ["#7cb5ec", "#f7a35c", "#90ee7e", "#7798BF", "#aaeeee"];
-
- var svg = d3.select(ele[0]).append("svg").attr("width", width).attr("height", height);
-
- // ========================== Function ==========================
- var yaw=0.5,pitch=0.5,drag;
- var transformPrecalc = [];
-
- var offsetPoint = function(point) {
- var _point = [
- +point[0] - (_bounds[0].max + _bounds[0].min) / 2,
- -point[1] + (_bounds[1].max + _bounds[1].min) / 2,
- -point[2] + (_bounds[2].max + _bounds[2].min) / 2
- ];
- return [_point[0] * _scale, _point[1] * _scale, _point[2] * _scale];
- };
-
- var transfromPointX = function(point) {
- point = offsetPoint(point);
- return transformPrecalc[0] * point[0] + transformPrecalc[1] * point[1] + transformPrecalc[2] * point[2] + width / 2;
- };
- var transfromPointY = function(point) {
- point = offsetPoint(point);
- return transformPrecalc[3] * point[0] + transformPrecalc[4] * point[1] + transformPrecalc[5] * point[2] + height / 2;
- };
- var transfromPointZ = function(point) {
- point = offsetPoint(point);
- return transformPrecalc[6] * point[0] + transformPrecalc[7] * point[1] + transformPrecalc[8] * point[2];
- };
- var transformPoint2D = function(point) {
- var _point = [point[0], point[1], point[2]];
- return transfromPointX(_point).toFixed(10) + "," + transfromPointY(_point).toFixed(10);
- };
-
- var setTurtable = function(yaw, pitch, update) {
- var cosA = Math.cos(pitch);
- var sinA = Math.sin(pitch);
- var cosB = Math.cos(yaw);
- var sinB = Math.sin(yaw);
- transformPrecalc[0] = cosB;
- transformPrecalc[1] = 0;
- transformPrecalc[2] = sinB;
- transformPrecalc[3] = sinA * sinB;
- transformPrecalc[4] = cosA;
- transformPrecalc[5] = -sinA * cosB;
- transformPrecalc[6] = -sinB * cosA;
- transformPrecalc[7] = sinA;
- transformPrecalc[8] = cosA * cosB;
-
- if(update) _update();
- };
- setTurtable(0.4,0.4);
-
- // =========================== Redraw ===========================
- var _coordinateList = [];
- var _axisText = [];
- var coordinate = svg.selectAll(".axis");
- var axisText = svg.selectAll(".axis-text");
- var lineList = svg.selectAll(".line");
-
- function _redraw(series) {
- var _desX, _desY, _desZ, _step;
-
- // Bounds
- if(series) {
- _bounds = [{},{},{}];
- $.each(series, function(j, series) {
- // Points
- $.each(series.data, function(k, point) {
- for(var i = 0 ; i < 3 ; i += 1) {
- // Minimum
- if(_bounds[i].min === undefined || point[i] < _bounds[i].min) {
- _bounds[i].min = point[i];
- }
- // Maximum
- if(_bounds[i].max === undefined || _bounds[i].max < point[i]) {
- _bounds[i].max = point[i];
- }
- }
- });
- });
- }
-
- _desX = _bounds[0].max - _bounds[0].min;
- _desY = _bounds[1].max - _bounds[1].min;
- _desZ = _bounds[2].max - _bounds[2].min;
-
- // Step
- (function() {
- var _stepX = _desX / 10;
- var _stepY = _desY / 10;
- var _stepZ = _desZ / 10;
-
- _step = Math.min(_stepX, _stepY, _stepZ);
- _step = Math.max(_step, 0.5);
- _step = 0.5;
- })();
-
- // Scale
- (function() {
- var _scaleX = width / _desX;
- var _scaleY = height / _desY / 2;
- var _scaleZ = width / _desZ;
- _scale = Math.min(_scaleX, _scaleY, _scaleZ) / 2;
- })();
-
- // Coordinate
- // > Basic
- _coordinateList = [
- {color: "rgba(0,0,0,0.1)", data: [[0,0,-100],[0,0,100]]},
- {color: "rgba(0,0,0,0.1)", data: [[0,-100,0],[0,100,0]]},
- {color: "rgba(0,0,0,0.1)", data: [[-100,0,0],[100,0,0]]},
-
- {color: "rgba(0,0,255,0.3)", data: [[_bounds[0].min,_bounds[1].min,_bounds[2].min],[_bounds[0].max,_bounds[1].min,_bounds[2].min]]},
- {color: "rgba(0,0,255,0.3)", data: [[_bounds[0].min,_bounds[1].min,_bounds[2].min],[_bounds[0].min,_bounds[1].min,_bounds[2].max]]},
-
- {color: "rgba(0,0,255,0.3)", data: [[_bounds[0].min,_bounds[1].min,_bounds[2].max],[_bounds[0].max,_bounds[1].min,_bounds[2].max]]},
- {color: "rgba(0,0,255,0.3)", data: [[_bounds[0].max,_bounds[1].min,_bounds[2].min],[_bounds[0].max,_bounds[1].min,_bounds[2].max]]},
-
- {color: "rgba(0,0,255,0.3)", data: [[_bounds[0].min,_bounds[1].max,_bounds[2].min],[_bounds[0].max,_bounds[1].max,_bounds[2].min]]},
- {color: "rgba(0,0,255,0.3)", data: [[_bounds[0].min,_bounds[1].max,_bounds[2].min],[_bounds[0].min,_bounds[1].max,_bounds[2].max]]},
-
- {color: "rgba(0,0,255,0.3)", data: [[_bounds[0].min,_bounds[1].min,_bounds[2].min],[_bounds[0].min,_bounds[1].max,_bounds[2].min]]},
- {color: "rgba(0,0,255,0.3)", data: [[_bounds[0].max,_bounds[1].min,_bounds[2].min],[_bounds[0].max,_bounds[1].max,_bounds[2].min]]},
- {color: "rgba(0,0,255,0.3)", data: [[_bounds[0].min,_bounds[1].min,_bounds[2].max],[_bounds[0].min,_bounds[1].max,_bounds[2].max]]},
- ];
-
- _axisText = [];
- function _axisPoint(point, dimension, number) {
- // Coordinate
- if(dimension === 1) {
- _coordinateList.push({
- color: "rgba(0,0,0,0.2)",
- data:[[_step/5,point[1],0],[0,point[1],0],[0,point[1],_step/5]]
- });
- } else {
- _coordinateList.push({
- color: "rgba(0,0,0,0.2)",
- data:[[point[0],-_step/8,point[2]], [point[0],_step/8,point[2]]]
- });
- }
-
- // Axis Text
- if(number.toFixed(0) == number + "") {
- point.text = number;
- point.dimension = dimension;
- _axisText.push(point);
- }
- }
- function _axisPoints(dimension, bound) {
- for(var i = _step ; i < bound.max + _step ; i += _step) {
- var _unit = [0,0,0];
- _unit[dimension] = i;
- _axisPoint(_unit, dimension, i);
- }
- for(var i = -_step ; i > bound.min - _step ; i -= _step) {
- var _unit = [0,0,0];
- _unit[dimension] = i;
- _axisPoint(_unit, dimension, i);
- }
- }
- // > Steps
- _axisPoint([0,0,0],1,0);
- _axisPoints(0, _bounds[0]);
- _axisPoints(1, _bounds[1]);
- _axisPoints(2, _bounds[2]);
-
- // > Draw
- coordinate = coordinate.data(_coordinateList);
- coordinate.enter()
- .append("path")
- .attr("fill", "none")
- .attr("stroke", function(d) {return d.color;});
- coordinate.exit().remove();
-
- // Axis Text
- axisText = axisText.data(_axisText);
- axisText.enter()
- .append("text")
- .classed("noSelect", true)
- .attr("fill", "rgba(0,0,0,0.5)")
- .attr("text-anchor", function(d) {return d.dimension === 1 ? "start" : "middle";})
- .text(function(d) {return d.text;});
- axisText.transition()
- .attr("text-anchor", function(d) {return d.dimension === 1 ? "end" : "middle";})
- .text(function(d) {return d.text;});
- axisText.exit().remove();
-
- // Lines
- lineList = lineList.data(series || []);
- lineList.enter()
- .append("path")
- .attr("fill", "none")
- .attr("stroke", function(d) {return d.color;});
- lineList.exit().remove();
-
- _update();
- }
-
- function _update() {
- coordinate
- .attr("d", function(d) {
- var path = "";
- $.each(d.data, function(i, point) {
- path += (i === 0 ? "M" : "L") + transformPoint2D(point);
- });
- return path;
- });
-
- axisText
- .attr("x", function(d) {return transfromPointX(d) + (d.dimension === 1 ? -3 : 0);})
- .attr("y", function(d) {return transfromPointY(d) + (d.dimension === 1 ? 0 : -5);});
-
- lineList
- .attr("d", function(d, index) {
- var path = "";
- $.each(d.data, function(i, point) {
- path += (i === 0 ? "M" : "L") + transformPoint2D(point);
- });
- return path;
- });
- }
-
-
- svg.on("mousedown", function() {
- drag = [d3.mouse(this), yaw, pitch];
- }).on("mouseup", function() {
- drag = false;
- }).on("mousemove", function() {
- if (drag) {
- var mouse = d3.mouse(this);
- yaw = drag[1] - (mouse[0] - drag[0][0]) / 50;
- pitch = drag[2] + (mouse[1] - drag[0][1]) / 50;
- pitch = Math.max(-Math.PI / 2, Math.min(Math.PI / 2, pitch));
- setTurtable(yaw, pitch, true);
- }
- });
-
- // =========================== Render ===========================
- _redraw();
-
- function _render() {
- // ======== Parse Data ========
- var _series = typeof series === "string" ? $scope.data : series;
- if(!_series) return;
-
- // Clone
- _series = $.map(_series, function(series) {
- return {
- name: series.name,
- color: series.color,
- data: series.data
- };
- });
-
- // Colors
- $.each(_series, function(i, series) {
- series.color = series.color || color[i % color.length];
- });
-
- // Render
- _redraw(_series);
- }
-
- // ======================= Dynamic Detect =======================
- if(typeof series === "string") {
- $scope.$parent.$watch(series, function() {
- _render();
- }, true);
- } else {
- _render();
- }
-
-
- // ========================== Clean Up ==========================
- $scope.$on('$destroy', function() {
- svg.remove();
- });
- },
- };
- };
- return charts;
-});
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/2c3005c9/eagle-webservice/src/main/webapp/public/js/components/file.js
----------------------------------------------------------------------
diff --git a/eagle-webservice/src/main/webapp/public/js/components/file.js b/eagle-webservice/src/main/webapp/public/js/components/file.js
deleted file mode 100755
index b63c320..0000000
--- a/eagle-webservice/src/main/webapp/public/js/components/file.js
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.
- */
-'use strict';
-
-eagleComponents.directive('file', function($compile) {
- return {
- restrict : 'A',
- scope: {
- filepath: "=?filepath",
- },
- controller: function($scope, $element, $attrs) {
- // Watch change(Only support clean the data)
- if($attrs.filepath) {
- $scope.$parent.$watch($attrs.filepath, function(value) {
- if(!value) $element.val(value);
- });
- }
-
- // Bind changed value
- $element.on("change", function() {
- var _path = $(this).val();
- if($attrs.filepath) {
- common.setValueByPath($scope.$parent, $attrs.filepath, _path);
- $scope.$parent.$apply();
- }
- });
-
- $scope.$on('$destroy',function(){
- $element.off("change");
- });
- },
- replace: false
- };
-});
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/2c3005c9/eagle-webservice/src/main/webapp/public/js/components/main.js
----------------------------------------------------------------------
diff --git a/eagle-webservice/src/main/webapp/public/js/components/main.js b/eagle-webservice/src/main/webapp/public/js/components/main.js
deleted file mode 100755
index b3528a1..0000000
--- a/eagle-webservice/src/main/webapp/public/js/components/main.js
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.
- */
-'use strict';
-
-var eagleComponents = angular.module('eagle.components', []);
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/2c3005c9/eagle-webservice/src/main/webapp/public/js/components/sortTable.js
----------------------------------------------------------------------
diff --git a/eagle-webservice/src/main/webapp/public/js/components/sortTable.js b/eagle-webservice/src/main/webapp/public/js/components/sortTable.js
deleted file mode 100755
index 74cbb05..0000000
--- a/eagle-webservice/src/main/webapp/public/js/components/sortTable.js
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.
- */
-'use strict';
-
-eagleComponents.directive('sorttable', function($compile) {
- return {
- restrict : 'AE',
- scope: {
- source: '=',
- search: '=?search',
- searchfunc: "=?searchfunc",
-
- orderKey: "@?sort",
-
- maxSize: "=?maxSize",
- },
- controller: function($scope, $element, $attrs) {
- // Initialization
- $scope.app = app;
- $scope.common = common;
- $scope._parent = $scope.$parent;
-
- $scope.pageNumber = $scope.pageNumber || 1;
- $scope.pageSize = $scope.pageSize || 10;
-
- $scope.maxSize = $scope.maxSize || 10;
-
- // Search box
- if($scope.search !== false) {
- var $search = $(
- '<div style="overflow:hidden;">' +
- '<div class="row">' +
- '<div class="col-xs-4">' +
- '<div class="search-box">' +
- '<input type="search" class="form-control input-sm" placeholder="Search" ng-model="search" />' +
- '<span class="fa fa-search"></span>' +
- '</div>' +
- '</div>' +
- '</div>' +
- '</div>'
- ).prependTo($element);
- $compile($search)($scope);
- }
-
- // List head
- $scope.doSort = function(path) {
- if($scope.orderKey === path) {
- $scope.orderKey = "-" + path;
- } else {
- $scope.orderKey = path;
- }
- };
- $scope.checkSortClass = function(key) {
- if($scope.orderKey === key) {
- return "fa fa-sort-asc";
- } else if($scope.orderKey === "-" + key) {
- return "fa fa-sort-desc";
- }
- return "fa fa-sort";
- };
-
- var $listHead = $element.find("thead > tr");
- $listHead.find("> th").each(function() {
- var $th = $(this);
- $th.addClass("noSelect");
-
- var _sortpath = $th.attr("sortpath");
- if(_sortpath) {
- $th.attr("ng-click", "doSort('" + _sortpath + "')");
- $th.prepend('<span ng-class="checkSortClass(\'' + _sortpath + '\')"></span>');
- }
- });
- $compile($listHead)($scope);
-
- // List body
- var $listBody = $element.find("tbody > tr");
- $listBody.attr("ng-repeat", 'item in (filteredList = (source | filter: ' + ($scope.searchfunc ? 'searchfunc' : 'search') + ' | orderBy: orderKey)).slice((pageNumber - 1) * pageSize, pageNumber * pageSize)');
- $compile($listBody)($scope);
-
- // Navigation
- var $navigation = $(
- '<div style="overflow:hidden;">' +
- '<div class="row">' +
- '<div class="col-xs-5">' +
- 'show {{(pageNumber - 1) * pageSize + 1}} to {{pageNumber * pageSize}} of {{filteredList.length}} items' +
- '</div>' +
- '<div class="col-xs-7 text-right">' +
- '<pagination total-items="filteredList.length" ng-model="pageNumber" boundary-links="true" items-per-page="pageSize" num-pages="numPages" max-size="maxSize"></pagination>' +
- '</div>' +
- '</div>' +
- '</div>'
- ).appendTo($element);
- $compile($navigation)($scope);
- },
- replace: false
- };
-});
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/2c3005c9/eagle-webservice/src/main/webapp/public/js/components/tabs.js
----------------------------------------------------------------------
diff --git a/eagle-webservice/src/main/webapp/public/js/components/tabs.js b/eagle-webservice/src/main/webapp/public/js/components/tabs.js
deleted file mode 100755
index 47d0f71..0000000
--- a/eagle-webservice/src/main/webapp/public/js/components/tabs.js
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.
- */
-'use strict';
-
-eagleComponents.directive('tabs', function() {
- return {
- restrict : 'AE',
- transclude : true,
- scope : {
- title: "@",
- icon: "@",
- selected: "@?selected",
-
- inner: "=?inner"
- },
- controller: function($scope, $element, $attrs, $timeout) {
- var _selected = null;
-
- var panes = $scope.panes = [];
-
- $scope.getList = function() {
- if($scope.inner) {
- return $scope.panes;
- } else {
- return $scope.panes.slice().reverse();
- }
- };
-
- $scope.select = function(pane, updateBind) {
- angular.forEach(panes, function(pane) {
- pane.selected = false;
- });
- pane.selected = true;
- _selected = pane;
-
- if(updateBind !== false && $attrs.selected) {
- $scope.$parent[$attrs.selected] = _selected.title;
- }
- };
-
- this.addPane = function(pane) {
- if (panes.length == 0 || ($attrs.selected && $scope.$parent[$attrs.selected] === pane.title)) {
- $scope.select(pane, false);
- }
- panes.push(pane);
- };
-
- // Listen tab selected change
- if($attrs.selected) {
- $scope.$parent.$watch($attrs.selected, function(value) {
- $.each(panes, function(i, pane) {
- if(value === pane.title) {
- $scope.select(pane, false);
- return false;
- }
- });
- });
- }
- },
- template : '<div ng-class="inner ? \'\' : \'nav-tabs-custom\'">' +
- '<ul class="nav nav-tabs ui-sortable-handle" ng-class="inner ? \'\' : \'pull-right\'">' +
- '<li ng-repeat="pane in getList()" ng-class="{active:pane.selected}">' +
- '<a href="" ng-click="select(pane)">{{pane.title}}</a>' +
- '</li>' +
- '<li class="pull-left header"><i class="fa fa-{{icon}}"></i> {{title}}</li>' +
- '</ul>' +
- '<div class="tab-content" ng-transclude></div>' +
- '</div>',
- replace : true
- };
-}).directive('pane', function() {
- return {
- require : '^tabs',
- restrict : 'AE',
- transclude : true,
- scope : {
- title : '@'
- },
- controller: function($scope, $element, $timeout) {
- // Initialization
- var $innerScope = angular.element($element).scope();
- $innerScope.app = app;
- $innerScope.common = common;
- $innerScope._parent = $scope.$parent.$parent.$parent;
- },
- link : function(scope, element, attrs, tabsController) {
- tabsController.addPane(scope);
- },
- template : '<div class="tab-pane" ng-class="{active: selected}" ng-transclude="parent">' + '</div>',
- replace : true
- };
-});
\ No newline at end of file