http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/8c7424a1/zeppelin-web/app/styles/looknfeel/simple.css ---------------------------------------------------------------------- diff --git a/zeppelin-web/app/styles/looknfeel/simple.css b/zeppelin-web/app/styles/looknfeel/simple.css deleted file mode 100644 index 9edb95e..0000000 --- a/zeppelin-web/app/styles/looknfeel/simple.css +++ /dev/null @@ -1,73 +0,0 @@ -/* - * 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. - */ - -body { - background: white; -} - - -/** - * Box and well - */ -.box{ - border: 1px solid white; - min-height: 20px; -} - -.box:hover, -.well:hover { - background-color: #ffffff; - border: 1px solid #DDDDDD; -} - -.paragraph-col .focused{ - box-shadow: 1px 2px 7px rgba(0, 0, 0, 0.3); -} - -.paragraph-col{ - border: 2px solid white; -} - -.paragraph { - min-height: 32px; -} - -.paragraph-space { - padding: 0px 2px 0px 2px !important; -} - - -.paragraph .control { - visibility : hidden; - right:15px; - top: 6px; -} - -.paragraph:hover .control { - visibility : visible; -} - -.noteAction span, .noteAction button, .noteAction form { - visibility : hidden; -} - -.noteAction:hover span, .noteAction:hover button, .noteAction:hover form { - visibility : visible; -} - -.editor, -.executionTime, -.nv-controlsWrap { - display:block; -} \ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/8c7424a1/zeppelin-web/app/styles/main.css ---------------------------------------------------------------------- diff --git a/zeppelin-web/app/styles/main.css b/zeppelin-web/app/styles/main.css deleted file mode 100644 index f9cbed8..0000000 --- a/zeppelin-web/app/styles/main.css +++ /dev/null @@ -1,288 +0,0 @@ -/* - * 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. - */ -@import url(//fonts.googleapis.com/css?family=Patua+One); -@import url(//fonts.googleapis.com/css?family=Roboto); -@import url(//fonts.googleapis.com/css?family=Source+Code+Pro); - -body { - padding-top: 60px; - color: #212121; -} - -html,body { height: 100%;} - -.bodyAsIframe { - background: white; -} - -.displayNavBar { - display: inline !important; -} - - -body.asIframe { - padding-top: 0px; -} -body .navbar { - margin-bottom: 10px; -} - -.container { - padding-right: 15px; - padding-left: 15px; - margin-right: auto; - margin-left: auto; - width: auto; -} - -.navbar-inverse { - background-color: #3071a9; - color: #fff; - border-color: #3071a9; - font-size: 18px; -} - -.navbar-inverse .navbar-nav > .open > a, .navbar-inverse .navbar-nav > .open > a:hover, .navbar-inverse .navbar-nav > .open > a:focus { - color: #fff; - background-color: #3071a9; -} - -.navbar-inverse .navbar-toggle:hover, .navbar-inverse .navbar-toggle:focus { - background-color: #3071a9; -} - -.navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a:focus { - color: #fff; - background-color: rgba(0, 0, 0, 0.2); - -} - -.navbar-inverse .navbar-toggle { - border-color: #FFFFFF; -} - -.navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .active > a:hover, .navbar-inverse .navbar-nav > .active > a:focus { - color: #fff; - background-color: #080808; -} - -.navbar-inverse .navbar-nav > li > a { - color: #FFFFFF; -} - -.navbar-inverse .navbar-brand { - color: #fff; - text-decoration: none; - font-family: 'Patua One', cursive; - font-size: 32px; -} - -a.navbar-brand:hover { - color: #fff !important; -} - -/* bootstrap customization for scrollable dropdown menu */ -.dropdown-menu > .scrollbar-container > li > a { - display: block; - padding: 3px 20px; - clear: both; - font-weight: normal; - line-height: 1.42857143; - color: #333; - white-space: nowrap; -} -.dropdown-menu > .scrollbar-container > li > a:hover, -.dropdown-menu > .scrollbar-container > li > a:focus { - color: #262626; - text-decoration: none; - background-color: #f5f5f5; -} - -.dropdown-menu > .scrollbar-container > .active > a, -.dropdown-menu > .scrollbar-container > .active > a:hover, -.dropdown-menu > .scrollbar-container > .active > a:focus { - color: #fff; - text-decoration: none; - background-color: #428bca; - outline: 0; -} - -@media (max-width: 767px) { - .navbar-nav .open .dropdown-menu > .scrollbar-container > li > a { - padding: 5px 15px 5px 25px; - line-height: 20px; - } - .navbar-inverse .navbar-nav .open .dropdown-menu > .scrollbar-container > li > a { - color: #777; - } - .navbar-inverse .navbar-nav .open .dropdown-menu > .scrollbar-container > li > a:hover, - .navbar-inverse .navbar-nav .open .dropdown-menu > .scrollbar-container > li > a:focus { - color: #fff; - background-color: transparent; - } - .navbar-inverse .navbar-nav .open .dropdown-menu > .scrollbar-container > .active > a, - .navbar-inverse .navbar-nav .open .dropdown-menu > .scrollbar-container > .active > a:hover, - .navbar-inverse .navbar-nav .open .dropdown-menu > .scrollbar-container > .active > a:focus { - color: #fff; - background-color: #080808; - } -} - - -#main { - padding-left: 10px; - padding-right: 10px; - padding-bottom: 10px; - height: 100%; -} - -#notebook-list { - position: relative; - overflow: hidden; -} - -@media (min-width: 768px) { - #notebook-list { - max-height: 500px; - } -} - -.server-status { - font-size:12px; - margin-top: 6px; -} - -.server-connected { - color: #00CC00; -} - -.server-disconnected { - color: rgba(240, 48, 0, 1); - font-size: 12px !important; - font-weight: bold !important; -} - - -/** - * Box and well - */ -.box{ - border-style: solid; - min-height: 20px; - padding: 10px; - margin-bottom: 20px; -} - -.box, -.well { - background-color: #ffffff; - border-color: #e5e5e5; - border-width: 1px 1px 2px; - border-radius: 3px; - -webkit-box-shadow: none; - box-shadow: none; -} - -.box-heading{ - position:relative; - max-width: 100%; - /*font-size: 20px;*/ - font-weight:300; - white-space: nowrap; - /*overflow:hidden;*/ - text-overflow: ellipsis; - vertical-align: middle; - margin: 0 0 15px; - padding-bottom: 2px; -} -/** -h1.box-heading, -h2.box-heading, -h3.box-heading, -h4.box-heading, -h5.box-heading, -h6.box-heading{ - font-size: 20px; -}*/ -.box-heading > .btn-group, -.box-heading > .btn{ - margin-top: -3px; -} - - -.icheck-label{ - position: relative; - top: 0; -} - - -.zeppelin { - background-image: url('../images/zepLogo.png'); - background-repeat: no-repeat; - background-position: right; - height: 380px; - opacity: 0.2; -} - -.zeppelin2 { - background-image: url('../images/zepLogo.png'); - background-repeat: no-repeat; - background-position: right; - background-position-y: 12px; - height: 380px; - opacity: 0.2; -} - -.keys { - padding-right: 10px; - color: #999; - text-align: right; - white-space: nowrap; -} - -.kbd-dark { - color: #eee; - background-color: #222; - background-image: none; - border: 0; -} - -kbd { - background-color: #e7e7e7; - background-image: -webkit-linear-gradient(#fefefe, #e7e7e7); - background-image: linear-gradient(#fefefe, #e7e7e7); - background-repeat: repeat-x; - display: inline-block; - padding: 4px 5px; - font: 11px Consolas, "Liberation Mono", Menlo, Courier, monospace; - line-height: 10px; - color: #000; - border: 1px solid #cfcfcf; - border-radius: 2px; -} - -.home { - min-height: 400px; -} - - -/* -temporary fix for bootstrap issue (https://github.com/twbs/bootstrap/issues/5865) -This part should be removed when new version of bootstrap handles this issue. -*/ -.btn-group > .tooltip + .btn, -.btn-group > .popover + .btn { - margin-left:-1px; -} - http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/8c7424a1/zeppelin-web/app/styles/notebook.css ---------------------------------------------------------------------- diff --git a/zeppelin-web/app/styles/notebook.css b/zeppelin-web/app/styles/notebook.css deleted file mode 100644 index b5eb511..0000000 --- a/zeppelin-web/app/styles/notebook.css +++ /dev/null @@ -1,508 +0,0 @@ -/* - * 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. - */ - -.paragraph-col { - margin: 0 0 0 0px; - padding: 0 0 0 0px; -} - -.paragraph { - padding: 2px 8px 4px 8px; - min-height: 32px; -} - -.paragraph .tableDisplay .hljs { - background: none; -} - -.paragraph .ace_print-margin { - background: none !important; -} - -.paragraphAsIframe{ - padding: 0px 0px 0px 0px; - margin-top: -79px; - margin-left: -10px; - margin-right: -10px; -} - -.paragraphAsIframe .control { - background-color: rgba(255,255,255,0.9); - border-top: 1px solid #EFEFEF; - display: none; - float: right; - color: #999; - margin-top: -9px; - margin-right:0px; - position:absolute; - clear:both; - right:25px; - /*z-index:10;*/ -} - -.paragraphAsIframe table { - margin-bottom: 0px; -} - -.paragraphAsIframe .editor { - width: 100%; - border-left: 4px solid #EEEEEE; - background: rgba(255, 255, 255, 0.9); -} - -.paragraphAsIframe .text { - white-space: pre; - display: block; - unicode-bidi: embed; - display: block !important; - margin: 0 0 10px!important; - font-size: 12px!important; - line-height: 1.42857143!important; - word-break: break-all!important; - word-wrap: break-word!important; - font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'source-code-pro', monospace; -} - -.ace_marker-layer .ace_selection { - z-index: 0 !important; -} - -.ace_marker-layer .ace_selected-word { - z-index: 0 !important; -} - -.labelBtn { - padding: .2em .6em .3em; - font-size: 75%; - font-weight: bold; - line-height: 1; - color: #fff; - text-align: center; - white-space: nowrap; - border-radius: .25em; -} - -.note-jump { - margin-top: 20px; -} - -.noteBtnfa { - margin-left: 3px; -} - -.control span { - margin-left: 4px; -} - -.control { - padding: 4px; -} - -.paragraph-space { - margin-bottom: 5px; - padding: 10px !important; -} - -.paragraph .control { - background-color: rgba(255,255,255,0.85); - /*display: none;*/ - float: right; - color: #999; - margin-top: 1px; - margin-right: 5px; - position:absolute; - clear:both; - right:15px; - top: 16px; - text-align:right; - font-size:12px; -} - -.paragraph .control li{ - font-size:12px; - margin-bottom:4px; - color: #333333; -} - -.paragraph table { - margin-bottom: 0px; -} - -.paragraph .title { - margin: 3px 0px 0px 0px; - height: 20px; - font-size: 12px; -} - -.paragraph .title div { - width: 80%; - font-weight: bold; - font-family: 'Roboto', sans-serif; - font-size: 17px !important; - text-transform: capitalize; -} - -.paragraph .title input { - width: 80%; - line-height: 1.42857143; - color: #555; - background-color: #fff; - background-image: none; - border: 1px solid #ccc; - border-radius: 0px; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); - -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s; - -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; - transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; - text-transform: capitalize; - font-family: 'Roboto', sans-serif; - font-size: 14px!important; -} - -.paragraph .editor { - width: 100%; - border-left: 4px solid #DDDDDD; - background: rgba(255, 255, 255, 0.0); - margin: 7px 0 2px 0px; -} - -.paragraph .text { - white-space: pre; - display: block; - unicode-bidi: embed; - display: block !important; - margin: 0 0 0px !important; - line-height: 1.42857143 !important; - word-break: break-all !important; - word-wrap: break-word !important; - font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'source-code-pro', monospace; - font-size: 12px !important; - margin-bottom: 5px !important; -} - -.paragraph p { - margin : 0 0 0 0px; -} - -.paragraph div svg { - width : 100%; -} - -.ace-tm { - background-color: #FFFFFF; - color: black; -} -.ace_editor { - position: relative; - overflow: hidden; - font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'source-code-pro', monospace; - font-size: 12px; - line-height: normal; - direction: ltr; -} - -.ace_hidden-cursors {opacity:0} - -/** Remove z-index to ace */ -.ace_text-input, .ace_gutter, .ace_layer, -.emacs-mode, .ace_text-layer, .ace_cursor-layer, -.ace_cursor, .ace_scrollbar { - z-index:auto !important; -} - -/** Force opacity:0 to textarea in writing texts **/ -.ace_text-input.ace_composition { - opacity: 0 !important; -} - -#main .emacs-mode .ace_cursor { - background-color:#C0C0C0!important; - border: none !important; -} - -.paragraph .status { - font-size: 10px; - color: #AAAAAA; - text-align: right; - visibility: hidden; -} - -.paragraph .runControl { - font-size: 1px; - color: #AAAAAA; - height:4px; - margin: 1px 0px 0px 0px; -} - -.paragraph .runControl .progress { - position: relative; - width:100%; - height:4px; - z-index:100; - border-radius: 0px; -} - -.paragraph .runControl .progress .progress-bar { - z-index:100; -} - -.paragraph .executionTime { - color: #999; - font-size: 10px; - font-family: 'Roboto', sans-serif; -} - - -.disable { - opacity:0.4!important; - pointer-events: none; -} - -.noteAction { - margin-left: -10px; - margin-right: -10px; - margin-top: -10px; - font-family: 'Roboto', sans-serif; -} - -.noteAction li{ - font-size:12px; - margin-bottom:4px; - color: #333333; -} - -.new_h3 { - margin-top: 1px; - padding-top: 7px; -} - -.form-control2 { - width: 100%; - margin-left: 15px; - font-size: 29px; - line-height: 1.42857143; - color: #555; - background-color: #fff; - background-image: none; - border: 1px solid #ccc; - border-radius: 4px; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); - -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s; - -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; - transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; -} - -.form-control-static2 { - padding-top: 7px; - font-size: 29px; - margin-left: 15px; - padding-bottom: 7px; - margin-bottom: 0; - display: inline-block; -} - -/* panel default */ -.panel-default { - /* border: none; */ - border-color: #DDDDDD; - box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15); -} - -.panel-group .panel-default { - /*border: solid #e5e5e5; - border-width: 1px 1px 2px;*/ -} - -.panel-default > .panel-heading { - color: #34495e; - background-color: #ffffff; - border-color: #e5e5e5; -} - -.panel-default > .panel-heading + .panel-collapse .panel-body { - border-top-color: #e5e5e5; -} - -.panel-default > .panel-heading > .dropdown .caret { - border-color: #ecf0f1 transparent; -} - -.panel-default > .panel-footer + .panel-collapse .panel-body { - border-bottom-color: #e5e5e5; -} - -.panel-body-heading { - position: relative; - display: block; - padding-left: 10px; - padding-top: 15px; - padding-bottom: 15px; -} - -.paragraph-margin { - margin-right: 2px; - margin-left: 2px; -} - -.tableDisplay img { - display: block; - max-width: 100%; - height: auto; -} - -.tableDisplay .btn-group span { - margin: 10px 0px 0px 10px; - font-size:12px; -} -.tableDisplay .btn-group span a { - cursor:pointer; -} - -.tableDisplay .option { - padding: 5px 5px 5px 5px; - font-size:12px; - height:auto; - overflow : auto; - /*min-height: 200px;*/ - border-top: 1px solid #ecf0f1; - -} - -.tableDisplay .option .columns { - height: 100%; -} - -.tableDisplay .option .columns ul { - - background-color: white; - /*min-width: 100px;*/ - width:auto; - padding: 3px 3px 3px 3px; - height : 150px; - border: 1px solid #CCC; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); - -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s; - -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; - transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; - -} - -.tableDisplay .option .columns ul li { - margin: 3px 3px 3px 3px; -} - -.tableDisplay .option .columns ul li span { - cursor: pointer; - margin-left: 3px; - margin-top: 3px; -} - -.tableDisplay .option .columns ul li div ul { /* aggregation menu */ - width:auto; - height:auto; -} - -.tableDisplay .option .columns ul li div ul li a { - padding: 0px; - margin: 0px; - cursor: pointer; -} - -.tableDisplay .option .columns a:focus, -.tableDisplay .option .columns a:hover { - text-decoration: none; - outline: 0; - outline-offset: 0px; -} - -.graphContainer { - position:relative; - margin-bottom: 5px; - overflow: visible; -} - -.noOverflow { - overflow: hidden !important; -} - -.graphContainer .table { - overflow: hidden; - margin-bottom: 5px !important; -} - -.allFields { - margin-bottom: 10px; -} -.noDot { - list-style-type: none; - padding-left:5px; -} - -.liVertical { - display:block; - float:left; - padding: 5px; -} -.row { - margin-right: 0px !important -} - -.lightBold { - font-weight: 500; -} - -.resizable-helper { - border: 3px solid #DDDDDD; -} - -/* note setting panel */ -.setting { - background-color: white; - padding: 10px 15px 15px 15px; - margin-left: -10px; - margin-right: -10px; - font-family: 'Roboto', sans-serif; - box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15); - border-bottom: 1px solid #E5E5E5; -} - -.setting .interpreterSettings { - list-style-type: none; - background-color: #EFEFEF; - padding: 10px 10px 10px 10px; - box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.15); - border: 1px solid #E5E5E5; -} - -.setting .interpreterSettings div div { - margin: 2px 0px 2px 0px; -} - -.setting .interpreterSettings div div { - cursor: pointer; -} - -.setting .modal-header { - border: 0px; -} - -.setting .modal-body { - border: 0px; -} - -.setting .modal-footer { - border: 0px; -} http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/8c7424a1/zeppelin-web/app/styles/printMode.css ---------------------------------------------------------------------- diff --git a/zeppelin-web/app/styles/printMode.css b/zeppelin-web/app/styles/printMode.css deleted file mode 100644 index 953b3a6..0000000 --- a/zeppelin-web/app/styles/printMode.css +++ /dev/null @@ -1,61 +0,0 @@ -/* - * 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. - */ - - -body { - background: white; -} - -.labelBtn { - display: none; -} - -.new_h3 { - margin-left: 220px; - top: 0px; - position: fixed; -} - -.noteAction { - border: 1px solid #3071a9; - box-shadow: none; -} - -.control { - display: none; -} - -.editor { - display: none; -} - -.form-horizontal { - display: none; -} - -.btn-group { - display: none; -} - -.box { - border: none; -} - -svg { - margin-left: -20px; -} - -.btn-link { - display: none; -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/8c7424a1/zeppelin-web/app/styles/simple-line-icons.css ---------------------------------------------------------------------- diff --git a/zeppelin-web/app/styles/simple-line-icons.css b/zeppelin-web/app/styles/simple-line-icons.css deleted file mode 100644 index ada681e..0000000 --- a/zeppelin-web/app/styles/simple-line-icons.css +++ /dev/null @@ -1,526 +0,0 @@ -@font-face { - font-family: 'Simple-Line-Icons'; - src:url('fonts/Simple-Line-Icons.eot'); - src:url('fonts/Simple-Line-Icons.eot?#iefix') format('embedded-opentype'), - url('../fonts/Simple-Line-Icons.woff') format('woff'), - url('../fonts/Simple-Line-Icons.ttf') format('truetype'), - url('../fonts/Simple-Line-Icons.svg#Simple-Line-Icons') format('svg'); - font-weight: normal; - font-style: normal; -} - -/* Use the following CSS code if you want to use data attributes for inserting your icons */ -[data-icon]:before { - font-family: 'Simple-Line-Icons'; - content: attr(data-icon); - speak: none; - font-weight: normal; - font-variant: normal; - text-transform: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -/* Use the following CSS code if you want to have a class per icon */ -/* -Instead of a list of all class selectors, -you can use the generic selector below, but it's slower: -[class*="icon-"] { -*/ -.icon-user-female, .icon-user-follow, .icon-user-following, .icon-user-unfollow, .icon-trophy, .icon-screen-smartphone, .icon-screen-desktop, .icon-plane, .icon-notebook, .icon-moustache, .icon-mouse, .icon-magnet, .icon-energy, .icon-emoticon-smile, .icon-disc, .icon-cursor-move, .icon-crop, .icon-credit-card, .icon-chemistry, .icon-user, .icon-speedometer, .icon-social-youtube, .icon-social-twitter, .icon-social-tumblr, .icon-social-facebook, .icon-social-dropbox, .icon-social-dribbble, .icon-shield, .icon-screen-tablet, .icon-magic-wand, .icon-hourglass, .icon-graduation, .icon-ghost, .icon-game-controller, .icon-fire, .icon-eyeglasses, .icon-envelope-open, .icon-envelope-letter, .icon-bell, .icon-badge, .icon-anchor, .icon-wallet, .icon-vector, .icon-speech, .icon-puzzle, .icon-printer, .icon-present, .icon-playlist, .icon-pin, .icon-picture, .icon-map, .icon-layers, .icon-handbag, .icon-globe-alt, .icon-globe, .icon-frame, .icon-folder-alt, .icon-film, .icon-feed, .icon-earphon es-alt, .icon-earphones, .icon-drop, .icon-drawer, .icon-docs, .icon-directions, .icon-direction, .icon-diamond, .icon-cup, .icon-compass, .icon-call-out, .icon-call-in, .icon-call-end, .icon-calculator, .icon-bubbles, .icon-briefcase, .icon-book-open, .icon-basket-loaded, .icon-basket, .icon-bag, .icon-action-undo, .icon-action-redo, .icon-wrench, .icon-umbrella, .icon-trash, .icon-tag, .icon-support, .icon-size-fullscreen, .icon-size-actual, .icon-shuffle, .icon-share-alt, .icon-share, .icon-rocket, .icon-question, .icon-pie-chart, .icon-pencil, .icon-note, .icon-music-tone-alt, .icon-music-tone, .icon-microphone, .icon-loop, .icon-logout, .icon-login, .icon-list, .icon-like, .icon-home, .icon-grid, .icon-graph, .icon-equalizer, .icon-dislike, .icon-cursor, .icon-control-start, .icon-control-rewind, .icon-control-play, .icon-control-pause, .icon-control-forward, .icon-control-end, .icon-calendar, .icon-bulb, .icon-bar-chart, .icon-arrow-up, .icon-arrow-right, .icon-arrow-left, .ic on-arrow-down, .icon-ban, .icon-bubble, .icon-camcorder, .icon-camera, .icon-check, .icon-clock, .icon-close, .icon-cloud-download, .icon-cloud-upload, .icon-doc, .icon-envelope, .icon-eye, .icon-flag, .icon-folder, .icon-heart, .icon-info, .icon-key, .icon-link, .icon-lock, .icon-lock-open, .icon-magnifier, .icon-magnifier-add, .icon-magnifier-remove, .icon-paper-clip, .icon-paper-plane, .icon-plus, .icon-pointer, .icon-power, .icon-refresh, .icon-reload, .icon-settings, .icon-star, .icon-symbol-female, .icon-symbol-male, .icon-target, .icon-volume-1, .icon-volume-2, .icon-volume-off, .icon-users { - font-family: 'Simple-Line-Icons'; - speak: none; - font-style: normal; - font-weight: normal; - font-variant: normal; - text-transform: none; - line-height: 1; - -webkit-font-smoothing: antialiased; -} -.icon-user-female:before { - content: "\e000"; -} -.icon-user-follow:before { - content: "\e002"; -} -.icon-user-following:before { - content: "\e003"; -} -.icon-user-unfollow:before { - content: "\e004"; -} -.icon-trophy:before { - content: "\e006"; -} -.icon-screen-smartphone:before { - content: "\e010"; -} -.icon-screen-desktop:before { - content: "\e011"; -} -.icon-plane:before { - content: "\e012"; -} -.icon-notebook:before { - content: "\e013"; -} -.icon-moustache:before { - content: "\e014"; -} -.icon-mouse:before { - content: "\e015"; -} -.icon-magnet:before { - content: "\e016"; -} -.icon-energy:before { - content: "\e020"; -} -.icon-emoticon-smile:before { - content: "\e021"; -} -.icon-disc:before { - content: "\e022"; -} -.icon-cursor-move:before { - content: "\e023"; -} -.icon-crop:before { - content: "\e024"; -} -.icon-credit-card:before { - content: "\e025"; -} -.icon-chemistry:before { - content: "\e026"; -} -.icon-user:before { - content: "\e005"; -} -.icon-speedometer:before { - content: "\e007"; -} -.icon-social-youtube:before { - content: "\e008"; -} -.icon-social-twitter:before { - content: "\e009"; -} -.icon-social-tumblr:before { - content: "\e00a"; -} -.icon-social-facebook:before { - content: "\e00b"; -} -.icon-social-dropbox:before { - content: "\e00c"; -} -.icon-social-dribbble:before { - content: "\e00d"; -} -.icon-shield:before { - content: "\e00e"; -} -.icon-screen-tablet:before { - content: "\e00f"; -} -.icon-magic-wand:before { - content: "\e017"; -} -.icon-hourglass:before { - content: "\e018"; -} -.icon-graduation:before { - content: "\e019"; -} -.icon-ghost:before { - content: "\e01a"; -} -.icon-game-controller:before { - content: "\e01b"; -} -.icon-fire:before { - content: "\e01c"; -} -.icon-eyeglasses:before { - content: "\e01d"; -} -.icon-envelope-open:before { - content: "\e01e"; -} -.icon-envelope-letter:before { - content: "\e01f"; -} -.icon-bell:before { - content: "\e027"; -} -.icon-badge:before { - content: "\e028"; -} -.icon-anchor:before { - content: "\e029"; -} -.icon-wallet:before { - content: "\e02a"; -} -.icon-vector:before { - content: "\e02b"; -} -.icon-speech:before { - content: "\e02c"; -} -.icon-puzzle:before { - content: "\e02d"; -} -.icon-printer:before { - content: "\e02e"; -} -.icon-present:before { - content: "\e02f"; -} -.icon-playlist:before { - content: "\e030"; -} -.icon-pin:before { - content: "\e031"; -} -.icon-picture:before { - content: "\e032"; -} -.icon-map:before { - content: "\e033"; -} -.icon-layers:before { - content: "\e034"; -} -.icon-handbag:before { - content: "\e035"; -} -.icon-globe-alt:before { - content: "\e036"; -} -.icon-globe:before { - content: "\e037"; -} -.icon-frame:before { - content: "\e038"; -} -.icon-folder-alt:before { - content: "\e039"; -} -.icon-film:before { - content: "\e03a"; -} -.icon-feed:before { - content: "\e03b"; -} -.icon-earphones-alt:before { - content: "\e03c"; -} -.icon-earphones:before { - content: "\e03d"; -} -.icon-drop:before { - content: "\e03e"; -} -.icon-drawer:before { - content: "\e03f"; -} -.icon-docs:before { - content: "\e040"; -} -.icon-directions:before { - content: "\e041"; -} -.icon-direction:before { - content: "\e042"; -} -.icon-diamond:before { - content: "\e043"; -} -.icon-cup:before { - content: "\e044"; -} -.icon-compass:before { - content: "\e045"; -} -.icon-call-out:before { - content: "\e046"; -} -.icon-call-in:before { - content: "\e047"; -} -.icon-call-end:before { - content: "\e048"; -} -.icon-calculator:before { - content: "\e049"; -} -.icon-bubbles:before { - content: "\e04a"; -} -.icon-briefcase:before { - content: "\e04b"; -} -.icon-book-open:before { - content: "\e04c"; -} -.icon-basket-loaded:before { - content: "\e04d"; -} -.icon-basket:before { - content: "\e04e"; -} -.icon-bag:before { - content: "\e04f"; -} -.icon-action-undo:before { - content: "\e050"; -} -.icon-action-redo:before { - content: "\e051"; -} -.icon-wrench:before { - content: "\e052"; -} -.icon-umbrella:before { - content: "\e053"; -} -.icon-trash:before { - content: "\e054"; -} -.icon-tag:before { - content: "\e055"; -} -.icon-support:before { - content: "\e056"; -} -.icon-size-fullscreen:before { - content: "\e057"; -} -.icon-size-actual:before { - content: "\e058"; -} -.icon-shuffle:before { - content: "\e059"; -} -.icon-share-alt:before { - content: "\e05a"; -} -.icon-share:before { - content: "\e05b"; -} -.icon-rocket:before { - content: "\e05c"; -} -.icon-question:before { - content: "\e05d"; -} -.icon-pie-chart:before { - content: "\e05e"; -} -.icon-pencil:before { - content: "\e05f"; -} -.icon-note:before { - content: "\e060"; -} -.icon-music-tone-alt:before { - content: "\e061"; -} -.icon-music-tone:before { - content: "\e062"; -} -.icon-microphone:before { - content: "\e063"; -} -.icon-loop:before { - content: "\e064"; -} -.icon-logout:before { - content: "\e065"; -} -.icon-login:before { - content: "\e066"; -} -.icon-list:before { - content: "\e067"; -} -.icon-like:before { - content: "\e068"; -} -.icon-home:before { - content: "\e069"; -} -.icon-grid:before { - content: "\e06a"; -} -.icon-graph:before { - content: "\e06b"; -} -.icon-equalizer:before { - content: "\e06c"; -} -.icon-dislike:before { - content: "\e06d"; -} -.icon-cursor:before { - content: "\e06e"; -} -.icon-control-start:before { - content: "\e06f"; -} -.icon-control-rewind:before { - content: "\e070"; -} -.icon-control-play:before { - content: "\e071"; -} -.icon-control-pause:before { - content: "\e072"; -} -.icon-control-forward:before { - content: "\e073"; -} -.icon-control-end:before { - content: "\e074"; -} -.icon-calendar:before { - content: "\e075"; -} -.icon-bulb:before { - content: "\e076"; -} -.icon-bar-chart:before { - content: "\e077"; -} -.icon-arrow-up:before { - content: "\e078"; -} -.icon-arrow-right:before { - content: "\e079"; -} -.icon-arrow-left:before { - content: "\e07a"; -} -.icon-arrow-down:before { - content: "\e07b"; -} -.icon-ban:before { - content: "\e07c"; -} -.icon-bubble:before { - content: "\e07d"; -} -.icon-camcorder:before { - content: "\e07e"; -} -.icon-camera:before { - content: "\e07f"; -} -.icon-check:before { - content: "\e080"; -} -.icon-clock:before { - content: "\e081"; -} -.icon-close:before { - content: "\e082"; -} -.icon-cloud-download:before { - content: "\e083"; -} -.icon-cloud-upload:before { - content: "\e084"; -} -.icon-doc:before { - content: "\e085"; -} -.icon-envelope:before { - content: "\e086"; -} -.icon-eye:before { - content: "\e087"; -} -.icon-flag:before { - content: "\e088"; -} -.icon-folder:before { - content: "\e089"; -} -.icon-heart:before { - content: "\e08a"; -} -.icon-info:before { - content: "\e08b"; -} -.icon-key:before { - content: "\e08c"; -} -.icon-link:before { - content: "\e08d"; -} -.icon-lock:before { - content: "\e08e"; -} -.icon-lock-open:before { - content: "\e08f"; -} -.icon-magnifier:before { - content: "\e090"; -} -.icon-magnifier-add:before { - content: "\e091"; -} -.icon-magnifier-remove:before { - content: "\e092"; -} -.icon-paper-clip:before { - content: "\e093"; -} -.icon-paper-plane:before { - content: "\e094"; -} -.icon-plus:before { - content: "\e095"; -} -.icon-pointer:before { - content: "\e096"; -} -.icon-power:before { - content: "\e097"; -} -.icon-refresh:before { - content: "\e098"; -} -.icon-reload:before { - content: "\e099"; -} -.icon-settings:before { - content: "\e09a"; -} -.icon-star:before { - content: "\e09b"; -} -.icon-symbol-female:before { - content: "\e09c"; -} -.icon-symbol-male:before { - content: "\e09d"; -} -.icon-target:before { - content: "\e09e"; -} -.icon-volume-1:before { - content: "\e09f"; -} -.icon-volume-2:before { - content: "\e0a0"; -} -.icon-volume-off:before { - content: "\e0a1"; -} -.icon-users:before { - content: "\e001"; -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/8c7424a1/zeppelin-web/app/styles/typography.css ---------------------------------------------------------------------- diff --git a/zeppelin-web/app/styles/typography.css b/zeppelin-web/app/styles/typography.css deleted file mode 100644 index 5050f19..0000000 --- a/zeppelin-web/app/styles/typography.css +++ /dev/null @@ -1,46 +0,0 @@ -/* - * 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. - */ - -/** concept from http://www.google.com/design/spec/style/typography.html#typography-standard-styles */ - - -h1, h2, h3, h4, h5, h6 { - font-family: 'RobotoDraft', sans-serif; - color: black; - text-rendering: optimizeLegibility; -} -h1 { - font-size: 2.25em; -} -h2 { - font-size: 2em; -} -h3 { - font-size: 1.75em; -} -h4 { - font-size: 1.5em; -} -h5 { - font-size: 1.25em; -} -h6 { - font-size: 1em; -} - -.btnText { - text-transform: uppercase; - font-size: 12px; - text-decoration: none!important; -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/8c7424a1/zeppelin-web/app/views/interpreter.html ---------------------------------------------------------------------- diff --git a/zeppelin-web/app/views/interpreter.html b/zeppelin-web/app/views/interpreter.html deleted file mode 100644 index 2bd3fb3..0000000 --- a/zeppelin-web/app/views/interpreter.html +++ /dev/null @@ -1,195 +0,0 @@ -<!-- -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="interpreterHead"> - <div class="header"> - <div class="row"> - <div class="col-md-12"> - <h3 class="new_h3" style="float:left"> - Interpreters - </h3> - <span class="btn btn-default fa fa-plus" - ng-click="showAddNewSetting = !showAddNewSetting" - style="float:right;margin-top:10px;"> - Create - </span> - </div> - </div> - <div class="row"> - <div class="col-md-12"> - Manage interpreters settings. You can create create / remove settings. Note can bind/unbind these interpreter settings. - </div> - </div> - </div> - <div> - <div class="row"> - <div class="col-md-12"> - <div class="interpreterSettingAdd" - ng-show="showAddNewSetting"> - <hr /> - <h4>Create new interpreter</h4> - - <div class="form-group" - style="width:200px"> - <b>Name</b> - <input id="newInterpreterSettingName" - input pu-elastic-input - pu-elastic-input-minwidth="180px" - ng-model="newInterpreterSetting.name"> - </input> - </div> - - <b>Interpreter</b> - <div class="form-group" - style="width:180px"> - <select class="form-control input-sm" - ng-model="newInterpreterSetting.group" - ng-change="newInterpreterGroupChange()"> - <option ng-repeat="(groupName, interpreterGroup) in availableInterpreters" value="{{groupName}}">{{groupName}}</option> - </select> - </div> - - <b>Properties</b> - <table class="table table-striped properties"> - <tr> - <th>name</th> - <th>value</th> - <th>description</th> - <th>action</th> - </tr> - <tr ng-repeat="(key, value) in newInterpreterSetting.properties"> - <td>{{key}}</td> - <td><textarea msd-elastic - ng-model="value.value"></textarea></td> - <td>{{value.description}}</td> - <td> - <div class="btn btn-default btn-sm fa fa-remove" - ng-click="removeInterpreterProperty(key)"> - </div> - </td> - </tr> - - <tr> - <td> - <input pu-elastic-input - pu-elastic-input-minwidth="180px" - ng-model="newInterpreterSetting.propertyKey"></input> - </td> - <td><textarea msd-elastic ng-model="newInterpreterSetting.propertyValue"></textarea></td> - <td> - </td> - <td> - <div class="btn btn-default btn-sm fa fa-plus" - ng-click="addNewInterpreterProperty()"> - </div> - </td> - </tr> - </table> - - <span class="btn btn-primary" - ng-click="addNewInterpreterSetting()"> - Save - </span> - <span class="btn btn-default" - ng-click="showAddNewSetting=false"> - Cancel - </span> - </div> - </div> - </div> - </div> -</div> - -<div class="box width-full home" - ng-repeat="setting in interpreterSettings"> - <div> - <div class="row interpreter"> - <div class="col-md-12"> - <h3 class="interpreter-title">{{setting.name}} - <small> - <span ng-repeat="interpreter in setting.interpreters" - title="{{interpreter.class}}"> - <span ng-show="!$first">, </span> - %{{interpreter.name}} - </span> - </small> - </h3> - <span style="float:right"> - <button class="btn btn-default btn-xs" - ng-click="valueform.$show(); - copyOriginInterpreterSettingProperties(setting.id)"> - <span class="fa fa-pencil"></span> edit</button> - <button class="btn btn-default btn-xs" - ng-click="restartInterpreterSetting(setting.id)"> - <span class="fa fa-refresh"></span> restart</button> - <button class="btn btn-default btn-xs" - ng-click="removeInterpreterSetting(setting.id)"> - <span class="fa fa-remove"></span> remove</button> - </span> - </div> - </div> - <br /> - <div class="row interpreter"> - <div class="col-md-12"> - <b>Properties</b> - <table class="table table-striped"> - <tr> - <th style="width:30%">name</th> - <th>value</th> - <th ng-if="valueform.$visible">action</th> - </tr> - <tr ng-repeat="(key, value) in setting.properties"> - <td>{{key}}</td> - <td> - <span editable-textarea="value.value" e-form="valueform" e-msd-elastic> - {{value.value | breakFilter}} - </span> - </td> - <td ng-if="valueform.$visible"> - <div class="btn btn-default btn-sm fa fa-remove" - ng-click="removeInterpreterProperty(key, setting.id)"> - </div> - </td> - </tr> - <tr ng-if="valueform.$visible"> - <td> - <input ng-model="setting.propertyKey" - pu-elastic-input - pu-elastic-input-minwidth="180px"> - </input> - </td> - <td> - <textarea msd-elastic ng-model="setting.propertyValue"></textarea> - </td> - <td> - <div class="btn btn-default btn-sm fa fa-plus" - ng-click="addNewInterpreterProperty(setting.id)"> - </div> - </td> - </tr> - </table> - <form editable-form name="valueform" onaftersave="updateInterpreterSetting(setting.id)" ng-show="valueform.$visible"> - <button type="submit" class="btn btn-primary" - ng-disabled="valueform.$waiting"> - Save - </button> - <button type="button" class="btn btn-default" - ng-disabled="valueform.$waiting" - ng-click="valueform.$cancel(); resetInterpreterSetting(setting.id)"> - Cancel - </button> - </form> - </div> - </div> - </div> -</div> http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/8c7424a1/zeppelin-web/app/views/main.html ---------------------------------------------------------------------- diff --git a/zeppelin-web/app/views/main.html b/zeppelin-web/app/views/main.html deleted file mode 100644 index c6e8755..0000000 --- a/zeppelin-web/app/views/main.html +++ /dev/null @@ -1,51 +0,0 @@ -<!-- -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="box width-full home"> - <div class="zeppelin"> - <div class="zeppelin2"></div> - </div> - <div style="margin-top: -380px;"> - <h1 class="box-heading" id="welcome"> - Welcome to Zeppelin! - </h1> - Zeppelin is web-based notebook that enables interactive data analytics.<br>You can make beautiful data-driven, interactive, collaborative document with SQL, code and even more!<br> - - <div class="row"> - <div class="col-md-4"> - <h4>Notebook</h4> - - <div ng-controller="NavCtrl"> - <h5><a href="javascript:void(0);" ng-click="createNewNote()" style="text-decoration: none;"><i style="font-size: 15px;" class="icon-notebook"></i> Create new note</a></h5> - <ul style="list-style-type: none;"> - <li ng-repeat="note in notes track by $index"><i style="font-size: 10px;" class="icon-doc"></i> - <a style="text-decoration: none;" href="#/notebook/{{note.id}}">{{note.name || 'Note ' + note.id}}</a> - </li> - </ul> - </div> - </div> - <div class="col-md-6"> - <h4>Help</h4> - Get started with <a style="text-decoration: none;" href="http://zeppelin.incubator.apache.org/docs/index.html" target="_blank">Zeppelin documentation</a><br> - - <h4>Community</h4> - Please feel free to help us to improve Zeppelin, <br> - Any contribution are welcome!<br><br> - <a style="text-decoration: none;" href="http://zeppelin.incubator.apache.org/community.html" target="_blank"><i style="font-size: 15px;" class="fa fa-users"></i> Mailing list</a><br> - <a style="text-decoration: none;" href="https://issues.apache.org/jira/browse/ZEPPELIN" target="_blank"><i style="font-size: 15px;" class="fa fa-bug"></i> Issues tracking</a><br> - <a style="text-decoration: none;" href="https://github.com/apache/incubator-zeppelin" target="_blank"><i style="font-size: 20px;" class="fa fa-github"></i> Github</a> - </div> - </div> - </div> - <br/><br/><br/> -</div> http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/8c7424a1/zeppelin-web/app/views/modal-shortcut.html ---------------------------------------------------------------------- diff --git a/zeppelin-web/app/views/modal-shortcut.html b/zeppelin-web/app/views/modal-shortcut.html deleted file mode 100644 index 1fdf9ea..0000000 --- a/zeppelin-web/app/views/modal-shortcut.html +++ /dev/null @@ -1,130 +0,0 @@ -<!-- -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="modal fade" id="shortcutModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> - <div class="modal-dialog"> - <div class="modal-content"> - <div class="modal-header"> - <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button> - <h4 class="modal-title" id="myModalLabel">Keyboard shortcuts</h4> - </div> - <div class="modal-body"> - - <h4>Control in Note</h4> - - <div class="row"> - <div class="col-md-4"> - <div class="keys"> - <kbd class="kbd-dark">Shift</kbd> + <kbd class="kbd-dark">Enter</kbd> - </div> - </div> - <div class="col-md-8"> - Run the note - </div> - </div> - - <div class="row"> - <div class="col-md-4"> - <div class="keys"> - <kbd class="kbd-dark">Ctrl</kbd> + <kbd class="kbd-dark">p</kbd> - </div> - </div> - <div class="col-md-8"> - Move cursor Up - </div> - </div> - - <div class="row"> - <div class="col-md-4"> - <div class="keys"> - <kbd class="kbd-dark">Ctrl</kbd> + <kbd class="kbd-dark">n</kbd> - </div> - </div> - <div class="col-md-8"> - Move cursor Down - </div> - </div> - - - <h4>Control in Note Editor</h4> - - <div class="row"> - <div class="col-md-4"> - <div class="keys"> - <kbd class="kbd-dark">Ctrl</kbd> + <kbd class="kbd-dark">k</kbd> - </div> - </div> - <div class="col-md-8"> - Cut the line - </div> - </div> - - <div class="row"> - <div class="col-md-4"> - <div class="keys"> - <kbd class="kbd-dark">Ctrl</kbd> + <kbd class="kbd-dark">y</kbd> - </div> - </div> - <div class="col-md-8"> - Paste the line - </div> - </div> - - <div class="row"> - <div class="col-md-4"> - <div class="keys"> - <kbd class="kbd-dark">Ctrl</kbd> + <kbd class="kbd-dark">s</kbd> - </div> - </div> - <div class="col-md-8"> - Search inside the code - </div> - </div> - - <div class="row"> - <div class="col-md-4"> - <div class="keys"> - <kbd class="kbd-dark">Ctrl</kbd> + <kbd class="kbd-dark">a</kbd> - </div> - </div> - <div class="col-md-8"> - Move cursor to the beginning - </div> - </div> - - <div class="row"> - <div class="col-md-4"> - <div class="keys"> - <kbd class="kbd-dark">Ctrl</kbd> + <kbd class="kbd-dark">e</kbd> - </div> - </div> - <div class="col-md-8"> - Move cursor at the end - </div> - </div> - - <div class="row"> - <div class="col-md-4"> - <div class="keys"> - <kbd class="kbd-dark">Ctrl</kbd> + <kbd class="kbd-dark">N</kbd> - </div> - </div> - <div class="col-md-8"> - Move cursor Down - </div> - </div> - </div> - </div> - </div> -</div> http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/8c7424a1/zeppelin-web/app/views/notebooks.html ---------------------------------------------------------------------- diff --git a/zeppelin-web/app/views/notebooks.html b/zeppelin-web/app/views/notebooks.html deleted file mode 100644 index f3294a1..0000000 --- a/zeppelin-web/app/views/notebooks.html +++ /dev/null @@ -1,170 +0,0 @@ -<!-- -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. ---> -<!-- Here the controller <NotebookCtrl> is not needed because explicitly set in the app.js (route) --> -<div> - <div class="noteAction" ng-show="note.id && !paragraphUrl"> - <h3 class="new_h3"> - <input type="text" class="form-control2" placeholder="{{note.name || 'Note ' + note.id}}" style="width:200px;" - ng-show="showEditor" ng-model="note.name" ng-enter="sendNewName()" ng-delete="showEditor = false" autofocus/> - <p class="form-control-static2" ng-click="showEditor = true" ng-show="!showEditor">{{note.name || 'Note ' + note.id}}</p> - <span class="labelBtn btn-group"> - <button type="button" - class="btn btn-default btn-xs" - ng-click="runNote()" - ng-if="!isNoteRunning()" - tooltip-placement="top" tooltip="Run all the note"> - <i class="icon-control-play"></i> - </button> - - <button type="button" - class="btn btn-default btn-xs" - ng-click="toggleAllEditor()" - ng-hide="viewOnly" - tooltip-placement="top" tooltip="Show/hide the code"> - <i ng-class="editorToggled ? 'fa icon-size-actual' : 'fa icon-size-fullscreen'"></i></button> - - <button type="button" - class="btn btn-default btn-xs" - ng-click="toggleAllTable()" - ng-hide="viewOnly" - tooltip-placement="top" tooltip="Show/hide the output"> - <i ng-class="tableToggled ? 'fa icon-notebook' : 'fa icon-book-open'"></i></button> - - <button type="button" - class="btn btn-default btn-xs" - ng-click="removeNote(note.id)" - ng-hide="viewOnly" - tooltip-placement="top" tooltip="Remove the notebook"> - <i class="icon-trash"></i></button> - </span> - - <span ng-hide="viewOnly"> - <div class="labelBtn btn-group"> - <div class="btn btn-default btn-xs dropdown-toggle" - type="button" - data-toggle="dropdown" - ng-class="{ 'btn-info' : note.config.cron, 'btn-danger' : note.info.cron, 'btn-default' : !note.config.cron}"> - <span class="fa fa-clock-o"></span> {{getCronOptionNameFromValue(note.config.cron)}} - </div> - <ul class="dropdown-menu" role="menu" style="width:300px"> - <li> - <div style="padding:10px 20px 0 20px;font-weight:normal;word-wrap:break-word"> - Run note with cron scheduler. - Either choose from<br/>preset or write your own <a href="http://www.quartz-scheduler.org/documentation/quartz-1.x/tutorials/crontrigger" target=_blank>cron expression</a>. - <br/><br/> - <span>- Preset</span> - <a ng-repeat="cr in cronOption" - type="button" - ng-click="setCronScheduler(cr.value)" - style="cursor:pointer" - dropdown-input>{{cr.name}}</a> - <br/><br/> - <span>- Cron expression</span> - <input type="text" - ng-model="note.config.cron" - ng-change="setCronScheduler(note.config.cron)" - dropdown-input> - </input> - <p ng-show="note.info.cron" - style="color:red"> - {{note.info.cron}} - </p> - </div> - </li> - </ul> - </div> - </span> - - <div class="pull-right" - style="margin-top:15px; margin-right:15px; font-size:15px;"> - <span style="position:relative; top:3px; margin-right:4px; cursor:pointer" - data-toggle="modal" - data-target="#shortcutModal" - tooltip-placement="top" tooltip="List of shortcut"> - <i class="icon-question"></i> - </span> - <span style="position:relative; top:2px; margin-right:4px; cursor:pointer;" - ng-click="toggleSetting()" - tooltip-placement="top" tooltip="Interpreter binding"> - <i class="fa fa-cog" - ng-style="{color: showSetting ? '#3071A9' : 'black' }"></i> - </span> - - <span class="btn-group"> - <button type="button" - class="btn btn-default btn-xs dropdown-toggle" - data-toggle="dropdown"> - {{note.config.looknfeel}} <span class="caret"></span> - </button> - <ul class="dropdown-menu pull-right" role="menu"> - <li ng-repeat="looknfeel in looknfeelOption"> - <a style="cursor:pointer" - ng-click="setLookAndFeel(looknfeel)">{{looknfeel}}</a> - </li> - </ul> - </span> - </div> - </h3> - </div> - - <!-- settings --> - <div ng-show="showSetting" - class="setting"> - <div> - <h4>Settings</h4> - </div> - <hr /> - <div> - <h5>Interpreter binding</h5> - <p> - Bind interpreter for this note. - Click to Bind/Unbind interpreter. - Drag and drop to reorder interpreters. <br /> - The first interpreter on the list becomes default. To create/remove interpreters, go to <a href="/#/interpreter">Interpreter</a> menu. - </p> - - <div class="interpreterSettings" - as-sortable="interpreterSelectionListeners" data-ng-model="interpreterBindings"> - <div data-ng-repeat="item in interpreterBindings" as-sortable-item> - <div as-sortable-item-handle - ng-click="item.selected = !item.selected" - class="btn" - ng-class="{'btn-info': item.selected, 'btn-default': !item.selected}"><font style="font-size:16px">{{item.name}}</font> <small><span ng-repeat="intp in item.interpreters"><span ng-show="!$first">, </span>%{{intp.name}}</span></small></div> - </div> - </div> - </div> - <br /> - <div> - <button class="btn btn-primary" ng-click="saveSetting()">Save</button> - <button class="btn btn-default" ng-click="closeSetting()">Cancel</button> - </div> - </div> - - <div class="note-jump"></div> - - <!-- Include the paragraphs according to the note --> - <div id="{{currentParagraph.id}}_paragraphColumn_main" - ng-repeat="currentParagraph in note.paragraphs" - ng-controller="ParagraphCtrl" - ng-Init="init(currentParagraph)" - ng-class="columnWidthClass(currentParagraph.config.colWidth)" - class="paragraph-col"> - <div id="{{currentParagraph.id}}_paragraphColumn" - ng-include src="'views/paragraph.html'" - ng-class="{'paragraph-space box paragraph-margin': !asIframe, 'focused': paragraphFocused}" - ng-hide="currentParagraph.config.tableHide && viewOnly"> - </div> - </div> - <div style="clear:both;height:10px"></div> -</div> http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/8c7424a1/zeppelin-web/app/views/paragraph.html ---------------------------------------------------------------------- diff --git a/zeppelin-web/app/views/paragraph.html b/zeppelin-web/app/views/paragraph.html deleted file mode 100644 index ef4daaa..0000000 --- a/zeppelin-web/app/views/paragraph.html +++ /dev/null @@ -1,449 +0,0 @@ -<!-- -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="{{paragraph.id}}_container" - ng-class="{'paragraph outlineOnFocus': !asIframe, 'paragraphAsIframe': asIframe}"> - - <div ng-show="paragraph.config.title" - id="{{paragraph.id}}_title" - class="title"> - <input type="text" - placeholder="Edit title" - ng-model="paragraph.title" - ng-show="showTitleEditor" - ng-delete="showTitleEditor = false" - ng-enter="setTitle(); showTitleEditor = false"/> - <div ng-click="showTitleEditor = !asIframe && !viewOnly" - ng-show="!showTitleEditor" - ng-bind-html="paragraph.title || 'Untitled'"> - </div> - </div> - - <div> - <div ng-show="!paragraph.config.editorHide"> - <div id="{{paragraph.id}}_editor" - style="opacity: 1;" - class="editor" - ui-ace="{ - onLoad : aceLoaded, - onChange: aceChanged, - require : ['ace/ext/language_tools'] - }" - ng-model="paragraph.text" - ng-class="{'disable': paragraph.status == 'RUNNING' || paragraph.status == 'PENDING' }"> - </div> - </div> - - <div id="{{paragraph.id}}_runControl" class="runControl"> - <div ng-if="(getProgress()<=0 || getProgress()>=100) && (paragraph.status=='RUNNING' )"> - <div id="{{paragraph.id}}_progress" - class="progress"> - <div class="progress-bar progress-bar-striped active" role="progressbar" style="width:100%;"></div> - <span class="sr-only"></span> - </div> - </div> - <div ng-if="getProgress()>0 && getProgress()<100 && paragraph.status=='RUNNING'"> - <div id="{{paragraph.id}}_progress" - class="progress"> - <div class="progress-bar" role="progressbar" style="width:{{getProgress()}}%;"></div> - <span class="sr-only">{{getProgress()}}%</span> - </div> - </div> - </div> - - <form id="{{paragraph.id}}_form" role="form" - ng-show="!paragraph.config.tableHide && !asIframe" - class="form-horizontal"> - <div class="form-group" - ng-repeat="formulaire in paragraph.settings.forms" - ng-Init="loadForm(formulaire, paragraph.settings.params)"> - <label class="col-sm-1 control-label input-sm" ng-class="{'disable': paragraph.status == 'RUNNING' || paragraph.status == 'PENDING' }">{{formulaire.name}}</label> - <div class="col-sm-3"> - <input class="form-control input-sm" - ng-if="!paragraph.settings.forms[formulaire.name].options" - ng-enter="runParagraph(getEditorValue())" - ng-model="paragraph.settings.params[formulaire.name]" - ng-class="{'disable': paragraph.status == 'RUNNING' || paragraph.status == 'PENDING' }" - name="{{formulaire.name}}"> - </input> - - <select class="form-control input-sm" - ng-if="paragraph.settings.forms[formulaire.name].options" - ng-change="runParagraph(getEditorValue())" - ng-model="paragraph.settings.params[formulaire.name]" - ng-class="{'disable': paragraph.status == 'RUNNING' || paragraph.status == 'PENDING' }" - name="{{formulaire.name}}" - ng-options="option.value as (option.displayName||option.value) for option in paragraph.settings.forms[formulaire.name].options" - > -<!-- - <option - ng-repeat="option in paragraph.settings.forms[formulaire.name].options" - value="{{option.value}}" - >{{option.displayName || option.value}} - </option> ---> - </select> - </div> - </div> - </form> - - <!-- Rendering --> - <div class='tableDisplay' ng-show="!paragraph.config.tableHide"> - <div id="{{paragraph.id}}_switch" - ng-if="paragraph.result.type == 'TABLE' && !asIframe && !viewOnly" - class="btn-group" - style='margin-bottom: 10px;'> - <button type="button" class="btn btn-default btn-sm" - ng-class="{'active': isGraphMode('table')}" - ng-click="setGraphMode('table', true)" ><i class="fa fa-table"></i> - </button> - <button type="button" class="btn btn-default btn-sm" - ng-class="{'active': isGraphMode('multiBarChart')}" - ng-click="setGraphMode('multiBarChart', true)"><i class="fa fa-bar-chart"></i> - </button> - <button type="button" class="btn btn-default btn-sm" - ng-class="{'active': isGraphMode('pieChart')}" - ng-click="setGraphMode('pieChart', true)"><i class="fa fa-pie-chart"></i> - </button> - <button type="button" class="btn btn-default btn-sm" - ng-class="{'active': isGraphMode('stackedAreaChart')}" - ng-click="setGraphMode('stackedAreaChart', true)"><i class="fa fa-area-chart"></i> - </button> - <button type="button" class="btn btn-default btn-sm" - ng-class="{'active': isGraphMode('lineChart')}" - ng-click="setGraphMode('lineChart', true)"><i class="fa fa-line-chart"></i> - </button> - <button type="button" class="btn btn-default btn-sm" - ng-class="{'active': isGraphMode('scatterChart')}" - ng-click="setGraphMode('scatterChart', true)"><i class="cf cf-scatter-chart"></i> - </button> - </div> - <span ng-if="getResultType()=='TABLE' && getGraphMode()!='table' && !asIframe && !viewOnly" - style="margin-left:10px; cursor:pointer; display: inline-block; vertical-align:top; position: relative; line-height:30px;"> - <a class="btnText" ng-if="paragraph.config.graph.optionOpen" - ng-click="toggleGraphOption()"> - settings <span class="fa fa-caret-up"></span> - </a> - <a class="btnText" ng-if="!paragraph.config.graph.optionOpen" - ng-click="toggleGraphOption()" > - settings <span class="fa fa-caret-down"></span> - </a> - </span> - - <div class="option lightBold" style="overflow: visible;" - ng-if="getResultType()=='TABLE' && getGraphMode()!='table' - && paragraph.config.graph.optionOpen && !asIframe && !viewOnly"> - All fields: - <div class="allFields row"> - <ul class="noDot"> - <li class="liVertical" ng-repeat="col in paragraph.result.columnNames"> - <div class="btn btn-default btn-xs" - data-drag="true" - data-jqyoui-options="{revert: 'invalid', helper: 'clone'}" - ng-model="paragraph.result.columnNames" - jqyoui-draggable="{index: {{$index}}, placeholder: 'keep'}"> - {{col.name | limitTo: 30}}{{col.name.length > 30 ? '...' : ''}} - </div> - </li> - </ul> - </div> - - <div class="row" ng-if="getGraphMode()!='scatterChart'"> - <div class="col-md-4"> - <span class="columns lightBold"> - Keys - <ul data-drop="true" - ng-model="paragraph.config.graph.keys" - jqyoui-droppable="{multiple:true, onDrop:'onGraphOptionChange()'}" - class="list-unstyled"> - <li ng-repeat="item in paragraph.config.graph.keys"> - <button class="btn btn-primary btn-xs"> - {{item.name}} <span class="fa fa-close" ng-click="removeGraphOptionKeys($index)"></span> - </button> - </li> - </ul> - </span> - </div> - <div class="col-md-4"> - <span class="columns lightBold"> - Groups - <ul data-drop="true" - ng-model="paragraph.config.graph.groups" - jqyoui-droppable="{multiple:true, onDrop:'onGraphOptionChange()'}" - class="list-unstyled"> - <li ng-repeat="item in paragraph.config.graph.groups"> - <button class="btn btn-success btn-xs"> - {{item.name}} <span class="fa fa-close" ng-click="removeGraphOptionGroups($index)"></span> - </button> - </li> - </ul> - </span> - </div> - <div class="col-md-4"> - <span class="columns lightBold"> - Values - <ul data-drop="true" - ng-model="paragraph.config.graph.values" - jqyoui-droppable="{multiple:true, onDrop:'onGraphOptionChange()'}" - class="list-unstyled"> - <li ng-repeat="item in paragraph.config.graph.values"> - <div class="btn-group"> - <div class="btn btn-info btn-xs dropdown-toggle" - type="button" - data-toggle="dropdown"> - {{item.name | limitTo: 30}}{{item.name.length > 30 ? '...' : ''}} - <font style="color:#EEEEEE;"><span class="lightBold" style="text-transform: uppercase;">{{item.aggr}}</span></font> - <span class="fa fa-close" ng-click="removeGraphOptionValues($index)"></span> - </div> - <ul class="dropdown-menu" role="menu"> - <li ng-click="setGraphOptionValueAggr($index, 'sum')"><a>sum</a></li> - <li ng-click="setGraphOptionValueAggr($index, 'count')"><a>count</a></li> - <li ng-click="setGraphOptionValueAggr($index, 'avg')"><a>avg</a></li> - <li ng-click="setGraphOptionValueAggr($index, 'min')"><a>min</a></li> - <li ng-click="setGraphOptionValueAggr($index, 'max')"><a>max</a></li> - </ul> - </div> - </li> - </ul> - </span> - </div> - </div> - - <div class="row" ng-if="getGraphMode()=='scatterChart'"> - <div class="col-md-3"> - <span class="columns lightBold"> - xAxis - <ul data-drop="true" - ng-model="paragraph.config.graph.scatter.xAxis" - jqyoui-droppable="{onDrop:'onGraphOptionChange()'}" - class="list-unstyled" - style="height:36px"> - <li ng-if="paragraph.config.graph.scatter.xAxis"> - <button class="btn btn-primary btn-xs"> - {{paragraph.config.graph.scatter.xAxis.name}} <span class="fa fa-close" ng-click="removeScatterOptionXaxis($index)"></span> - </button> - </li> - </ul> - </span> - </div> - <div class="col-md-3"> - <span class="columns lightBold"> - yAxis - <ul data-drop="true" - ng-model="paragraph.config.graph.scatter.yAxis" - jqyoui-droppable="{onDrop:'onGraphOptionChange()'}" - class="list-unstyled" - style="height:36px"> - <li ng-if="paragraph.config.graph.scatter.yAxis"> - <button class="btn btn-success btn-xs"> - {{paragraph.config.graph.scatter.yAxis.name}} <span class="fa fa-close" ng-click="removeScatterOptionYaxis($index)"></span> - </button> - </li> - </ul> - </span> - </div> - <div class="col-md-3"> - <span class="columns lightBold"> - group - <ul data-drop="true" - ng-model="paragraph.config.graph.scatter.group" - jqyoui-droppable="{onDrop:'onGraphOptionChange()'}" - class="list-unstyled" - style="height:36px"> - <li ng-if="paragraph.config.graph.scatter.group"> - <button class="btn btn-info btn-xs"> - {{paragraph.config.graph.scatter.group.name}} <span class="fa fa-close" ng-click="removeScatterOptionGroup($index)"></span> - </button> - </li> - </ul> - </span> - </div> - <div class="col-md-3"> - <span class="columns lightBold"> - size - <a tabindex="0" class="fa fa-info-circle" role="button" popover-placement="top" - popover-trigger="focus" - popover-html-unsafe="<li>Size option is valid only when you drop numeric field here.</li> - <li>When data in each axis are discrete, 'number of values in corresponding coordinate' will be used as size.</li> - <li>Zeppelin consider values as discrete when the values contain string value or the number of distinct values are bigger than 5% of total number of values.</li> - <li>Size field button turns to grey when the option you chose is not valid.</li>"></a> - <ul data-drop="true" - ng-model="paragraph.config.graph.scatter.size" - jqyoui-droppable="{onDrop:'onGraphOptionChange()'}" - class="list-unstyled" - style="height:36px"> - <li ng-if="paragraph.config.graph.scatter.size"> - <button class="btn btn-xs" style="color:white" ng-class="{'btn-warning': isValidSizeOption(paragraph.config.graph.scatter, paragraph.result.rows)}"> - {{paragraph.config.graph.scatter.size.name}} <span class="fa fa-close" ng-click="removeScatterOptionSize($index)"></span> - </button> - </li> - </ul> - </span> - </div> - </div> - - </div> - - - <div id="p{{paragraph.id}}_graph" - class="graphContainer" - ng-class="{'noOverflow': getGraphMode()=='table'}" - ng-if="getResultType()=='TABLE'" - allowresize="{{!asIframe && !viewOnly}}" - resizable on-resize="setGraphHeight();"> - - <div ng-if="getGraphMode()=='table'" - id="p{{paragraph.id}}_table" - class="table"> - </div> - - <div ng-if="getGraphMode()=='multiBarChart'" - id="p{{paragraph.id}}_multiBarChart"> - <svg></svg> - </div> - - <div ng-if="getGraphMode()=='pieChart'" - id="p{{paragraph.id}}_pieChart"> - <svg></svg> - </div> - - <div ng-if="getGraphMode()=='stackedAreaChart'" - id="p{{paragraph.id}}_stackedAreaChart"> - <svg></svg> - </div> - - <div ng-if="getGraphMode()=='lineChart'" - id="p{{paragraph.id}}_lineChart"> - <svg></svg> - </div> - - <div ng-if="getGraphMode()=='scatterChart'" - id="p{{paragraph.id}}_scatterChart"> - <svg></svg> - </div> - </div> - - <div id="{{paragraph.id}}_comment" - class="text" - ng-if="getResultType()=='TABLE' && paragraph.result.comment" - ng-Init="loadResultType(paragraph.result)" - ng-bind-html="paragraph.result.comment"> - </div> - - <div id="{{paragraph.id}}_text" - class="text" - ng-if="paragraph.result.type == 'TEXT'" - ng-Init="loadResultType(paragraph.result)" - ng-bind="paragraph.result.msg"> - </div> - - <div id="p{{paragraph.id}}_html" - ng-if="paragraph.result.type == 'HTML'" - ng-Init="loadResultType(paragraph.result)"> - </div> - - <div id="p{{paragraph.id}}_angular" - ng-if="paragraph.result.type == 'ANGULAR'" - ng-Init="loadResultType(paragraph.result)"> - </div> - - <img id="{{paragraph.id}}_img" - ng-if="paragraph.result.type == 'IMG'" - ng-Init="loadResultType(paragraph.result)" - ng-src="{{getBase64ImageSrc(paragraph.result.msg)}}"> - </img> - - <div id="{{paragraph.id}}_error" - class="error" - ng-if="paragraph.status == 'ERROR'" - ng-bind="paragraph.errorMessage"> - </div> - - <div id="{{paragraph.id}}_executionTime" class="executionTime" ng-bind-html="getExecutionTime()"> - </div> - </div> - </div> - <div id="{{paragraph.id}}_control" class="control" ng-show="!asIframe"> - - <span> - {{paragraph.status}} - </span> - - <span ng-if="paragraph.status=='RUNNING'"> - {{getProgress()}}% - </span> - - <!-- Run / Cancel button --> - <span class="icon-control-play" style="cursor:pointer;color:#3071A9" tooltip-placement="top" tooltip="Run this paragraph" - ng-click="runParagraph(getEditorValue())" - ng-show="paragraph.status!='RUNNING' && paragraph.status!='PENDING'"></span> - <span class="icon-control-pause" style="cursor:pointer;color:#CD5C5C" tooltip-placement="top" tooltip="Cancel" - ng-click="cancelParagraph()" - ng-show="paragraph.status=='RUNNING' || paragraph.status=='PENDING'"></span> - - <span class="{{paragraph.config.editorHide ? 'icon-size-fullscreen' : 'icon-size-actual'}}" style="cursor:pointer;" tooltip-placement="top" tooltip="{{(paragraph.config.editorHide ? 'Show' : 'Hide') + ' editor'}}" - ng-click="toggleEditor()"></span> - <span class="{{paragraph.config.tableHide ? 'icon-notebook' : 'icon-book-open'}}" style="cursor:pointer;" tooltip-placement="top" tooltip="{{(paragraph.config.tableHide ? 'Show' : 'Hide') + ' output'}}" - ng-click="toggleOutput()"></span> - - <span class="dropdown navbar-right"> - <span class="icon-settings" style="cursor:pointer" - data-toggle="dropdown" - type="button"> - </span> - <ul class="dropdown-menu" role="menu" style="width:200px;"> - <li> - <a class="fa fa-arrows-h dropdown"> Width - <form style="display:inline; margin-left:5px;"> - <select ng-model="paragraph.config.colWidth" - class="selectpicker" - ng-change="changeColWidth()" - ng-options="col for col in colWidthOption"></select> - </form> - </a> - </li> - <li> - <a class="icon-arrow-up" style="cursor:pointer" - ng-click="moveUp()"> Move Up</a> - </li> - <li> - <a class="icon-arrow-down" style="cursor:pointer" - ng-click="moveDown()"> Move Down</a> - </li> - <li> - <a class="icon-plus" style="cursor:pointer" - ng-click="insertNew()"> Insert New</a> - </li> - <li> - <!-- paragraph handler --> - <a class="fa fa-font" style="cursor:pointer" - ng-click="hideTitle()" - ng-show="paragraph.config.title"> Hide title</a> - <a class="fa fa-font" style="cursor:pointer" - ng-click="showTitle()" - ng-show="!paragraph.config.title"> Show title</a> - </li> - - <li><a class="icon-share-alt" style="cursor:pointer" - ng-click="goToSingleParagraph()"> Link this paragraph</a> - </li> - <li> - <!-- remove paragraph --> - <a class="fa fa-times" style="cursor:pointer" - ng-click="removeParagraph()"> Remove</a> - </li> - </ul> - </span> - </div> -</div> http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/8c7424a1/zeppelin-web/app/views/popover-html-unsafe-popup.html ---------------------------------------------------------------------- diff --git a/zeppelin-web/app/views/popover-html-unsafe-popup.html b/zeppelin-web/app/views/popover-html-unsafe-popup.html deleted file mode 100644 index f537aee..0000000 --- a/zeppelin-web/app/views/popover-html-unsafe-popup.html +++ /dev/null @@ -1,21 +0,0 @@ -<div class="popover {{placement}}" ng-class="{ in: isOpen(), fade: animation() }"> -<!-- -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="arrow"></div> - - <div class="popover-inner"> - <h3 class="popover-title" ng-bind="title" ng-show="title"></h3> - <div class="popover-content" bind-html-unsafe="content"></div> - </div> -</div> http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/8c7424a1/zeppelin-web/bower.json ---------------------------------------------------------------------- diff --git a/zeppelin-web/bower.json b/zeppelin-web/bower.json index 3945983..57ea00d 100644 --- a/zeppelin-web/bower.json +++ b/zeppelin-web/bower.json @@ -12,7 +12,7 @@ "angular-touch": "1.3.8", "angular-route": "1.3.8", "angular-bootstrap": "~0.11.0", - "angular-websocket": "~0.0.5", + "angular-websocket": "~1.0.13", "ace-builds": "1.1.8", "angular-ui-ace": "0.1.1", "jquery.scrollTo": "~1.4.13", @@ -22,29 +22,37 @@ "ng-sortable": "~1.1.9", "angular-elastic": "~2.4.2", "angular-elastic-input": "~2.0.1", - "angular-xeditable" : "0.1.8", - "highlightjs": "~8.4.0" + "angular-xeditable": "0.1.8", + "highlightjs": "~8.4.0", + "lodash": "~3.9.3" }, "devDependencies": { "angular-mocks": "1.3.8", "angular-scenario": "1.3.8" }, - "appPath": "app", + "appPath": "src", + "resolutions": { + "perfect-scrollbar": "~0.5.4" + }, "overrides": { "ace-builds": { - "main": ["src-noconflict/ace.js", - "src-noconflict/mode-scala.js", - "src-noconflict/mode-sql.js", - "src-noconflict/mode-markdown.js", - "src-noconflict/keybinding-emacs.js", - "src-noconflict/ext-language_tools.js", - "src-noconflict/theme-github.js"], + "main": [ + "src-noconflict/ace.js", + "src-noconflict/mode-scala.js", + "src-noconflict/mode-sql.js", + "src-noconflict/mode-markdown.js", + "src-noconflict/keybinding-emacs.js", + "src-noconflict/ext-language_tools.js", + "src-noconflict/theme-github.js" + ], "version": "1.1.8", "name": "ace-builds" }, "highlightjs": { - "main": ["highlight.pack.js", - "styles/github.css"], + "main": [ + "highlight.pack.js", + "styles/github.css" + ], "version": "8.4.0", "name": "highlightjs" } http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/8c7424a1/zeppelin-web/package.json ---------------------------------------------------------------------- diff --git a/zeppelin-web/package.json b/zeppelin-web/package.json index 670ab7f..e984e88 100644 --- a/zeppelin-web/package.json +++ b/zeppelin-web/package.json @@ -1,7 +1,10 @@ { "name": "zeppelin-web", "version": "0.0.0", - "dependencies": {}, + "dependencies": { + "grunt-angular-templates": "^0.5.7", + "grunt-dom-munger": "^3.4.0" + }, "devDependencies": { "bower": "", "grunt": "^0.4.1", http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/8c7424a1/zeppelin-web/pom.xml ---------------------------------------------------------------------- diff --git a/zeppelin-web/pom.xml b/zeppelin-web/pom.xml index f4549ad..316fae7 100644 --- a/zeppelin-web/pom.xml +++ b/zeppelin-web/pom.xml @@ -34,6 +34,14 @@ <build> <plugins> <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-war-plugin</artifactId> + <configuration> + <warSourceDirectory>dist</warSourceDirectory> + <webXml>dist\WEB-INF\web.xml</webXml> + </configuration> + </plugin> + <plugin> <groupId>org.apache.rat</groupId> <artifactId>apache-rat-plugin</artifactId> <version>0.11</version> @@ -50,22 +58,21 @@ <exclude>**/.settings/*</exclude> <exclude>**/.classpath</exclude> <exclude>**/.project</exclude> - <exclude>**/target/**</exclude> + <exclude>**/target/**</exclude> <exclude>node/**</exclude> <exclude>node_modules/**</exclude> <exclude>bower_components/**</exclude> <exclude>test/**</exclude> - <exclude>src/main/webapp/**</exclude> - <exclude>app/.buildignore</exclude> - <exclude>app/fonts/fontawesome*</exclude> - <exclude>app/fonts/font-awesome*</exclude> - <exclude>app/styles/font-awesome*</exclude> - <exclude>app/fonts/Simple-Line*</exclude> - <exclude>app/fonts/simple-line*</exclude> - <exclude>app/styles/simple-line*</exclude> + <exclude>dist/**</exclude> + <exclude>src/.buildignore</exclude> + <exclude>src/fonts/fontawesome*</exclude> + <exclude>src/fonts/font-awesome*</exclude> + <exclude>src/styles/font-awesome*</exclude> + <exclude>src/fonts/Simple-Line*</exclude> + <exclude>src/fonts/simple-line*</exclude> <exclude>bower.json</exclude> <exclude>package.json</exclude> - <exclude>README.md</exclude> + <exclude>*.md</exclude> </excludes> </configuration> </plugin> @@ -93,7 +100,7 @@ <goal>npm</goal> </goals> </execution> - + <execution> <id>bower install</id> <goals> http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/8c7424a1/zeppelin-web/src/.buildignore ---------------------------------------------------------------------- diff --git a/zeppelin-web/src/.buildignore b/zeppelin-web/src/.buildignore new file mode 100644 index 0000000..fc98b8e --- /dev/null +++ b/zeppelin-web/src/.buildignore @@ -0,0 +1 @@ +*.coffee \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/8c7424a1/zeppelin-web/src/404.html ---------------------------------------------------------------------- diff --git a/zeppelin-web/src/404.html b/zeppelin-web/src/404.html new file mode 100644 index 0000000..9b1fb4c --- /dev/null +++ b/zeppelin-web/src/404.html @@ -0,0 +1,172 @@ +<!-- +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 http-equiv="X-UA-Compatible" content="IE=edge"> + <meta charset="utf-8"> + <title>Page Not Found :(</title> + <style> + ::-moz-selection { + background: #b3d4fc; + text-shadow: none; + } + + ::selection { + background: #b3d4fc; + text-shadow: none; + } + + html { + padding: 30px 10px; + font-size: 20px; + line-height: 1.4; + color: #737373; + background: #f0f0f0; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; + } + + html, + input { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + } + + body { + max-width: 500px; + _width: 500px; + padding: 30px 20px 50px; + border: 1px solid #b3b3b3; + border-radius: 4px; + margin: 0 auto; + box-shadow: 0 1px 10px #a7a7a7, inset 0 1px 0 #fff; + background: #fcfcfc; + } + + h1 { + margin: 0 10px; + font-size: 50px; + text-align: center; + } + + h1 span { + color: #bbb; + } + + h3 { + margin: 1.5em 0 0.5em; + } + + p { + margin: 1em 0; + } + + ul { + padding: 0 0 0 40px; + margin: 1em 0; + } + + .container { + max-width: 380px; + _width: 380px; + margin: 0 auto; + } + + /* google search */ + + #goog-fixurl ul { + list-style: none; + padding: 0; + margin: 0; + } + + #goog-fixurl form { + margin: 0; + } + + #goog-wm-qt, + #goog-wm-sb { + border: 1px solid #bbb; + font-size: 16px; + line-height: normal; + vertical-align: top; + color: #444; + border-radius: 2px; + } + + #goog-wm-qt { + width: 220px; + height: 20px; + padding: 5px; + margin: 5px 10px 0 0; + box-shadow: inset 0 1px 1px #ccc; + } + + #goog-wm-sb { + display: inline-block; + height: 32px; + padding: 0 10px; + margin: 5px 0 0; + white-space: nowrap; + cursor: pointer; + background-color: #f5f5f5; + background-image: -webkit-linear-gradient(rgba(255,255,255,0), #f1f1f1); + background-image: -moz-linear-gradient(rgba(255,255,255,0), #f1f1f1); + background-image: -ms-linear-gradient(rgba(255,255,255,0), #f1f1f1); + background-image: -o-linear-gradient(rgba(255,255,255,0), #f1f1f1); + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + *overflow: visible; + *display: inline; + *zoom: 1; + } + + #goog-wm-sb:hover, + #goog-wm-sb:focus { + border-color: #aaa; + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); + background-color: #f8f8f8; + } + + #goog-wm-qt:hover, + #goog-wm-qt:focus { + border-color: #105cb6; + outline: 0; + color: #222; + } + + input::-moz-focus-inner { + padding: 0; + border: 0; + } + </style> + </head> + <body> + <div class="container"> + <h1>Not found <span>:(</span></h1> + <p>Sorry, but the page you were trying to view does not exist.</p> + <p>It looks like this was the result of either:</p> + <ul> + <li>a mistyped address</li> + <li>an out-of-date link</li> + </ul> + <script> + var GOOG_FIXURL_LANG = (navigator.language || '').slice(0,2),GOOG_FIXURL_SITE = location.host; + </script> + <script src="//linkhelp.clients.google.com/tbproxy/lh/wm/fixurl.js"></script> + </div> + </body> +</html>
