Skip to content

Commit 6af0934

Browse files
hsuanxyzzjffdu
authored andcommitted
[ZEPPELIN-4321] Rework Zeppelin with Latest Angular
### What is this PR for? The old version of zeppelin was written with AngularJS, there exist many issues related to the zeppelin-web and could not resolve due to the low version of AngularJS. So we rework the zeppelin-web with the latest Angular (8.0). ### What type of PR is it? Feature ### Implementation progress #### Pages | Name | Route | Module | UI | | --- | ----- | ---------- | -- | | Home | `/` | HomeModule | Y | | Login | `/login` | LoginModule | Y | | Job Manager | `/jobmanager` | JobManagerModule | Y | | Interpreter Setting | `/interpreter` | InterpreterModule | Y | | Notebook | `/notebook/{id}` | NotebookModule | Y | | Notebook Repos | `/notebookRepos` | | | | Credential | `/credential` | | | | Helium | `/helium` | | WIP | | Configuration | `/configuration` | | | #### Notebook Features | Feature | Description | Status | | ------ | ---- | ---- | | Files System | Create/ Rename/ Import etc. | Y | | Toolbar Actions | The top toolbar actions | Y | #### Paragraph Features | Feature | Description | Status | | ------ | ---- | ---- | | Grid layout and resizable | | Y | | Code Editor | | Y | | Actions | The Corresponding actions of the drop-down menu in the setting button | Y | | Actions(hot-keys) | Support hot-keys for the actions | WIP | | Publishable | [publish paragraphs](http://zeppelin.apache.org/docs/0.8.0/usage/other_features/publishing_paragraphs.html) | | | Stream | | | #### Result Display | Type | Status | | ------ | ---- | | Dynamic Form | Y | | Text | Y | | Html | Y | | Table | Y | | Network | | #### Table Visualization | Type | State | | ------ | ---- | | Line Chart | Y | | Bard Chart | Y | | Pie Chart | Y | | Area Chart | Y | | Scatter Chart | Y | #### Helium Visualization | Type | Description | Status | | ------ | ---- | ---- | | Prototype | To verify the implementable prototype | Y | | Publish Dependencies | Just like [zeppelin-vis](https://github.com/apache/zeppelin/tree/master/zeppelin-web/src/app/visualization) | WIP | | Example Projects | | Y | | Development Documents | | WIP | ### What is the Jira issue? https://issues.apache.org/jira/browse/ZEPPELIN-4321 https://issues.apache.org/jira/browse/ZEPPELIN-4215 ### How should this be tested? #### Prerequisites - [Node.js](https://nodejs.org) version 10.9.0 or later or use [creationix/nvm](https://github.com/creationix/nvm). - NPM package manager (which is installed with Node.js by default). - [Angular CLI](https://angular.io/cli) version 8.3.0 or later. #### Install ```bash $ cd zeppelin-frontend $ npm install ``` Install dependencies in the project directory. ### Start Zeppelin server [Run Zeppelin server](https://zeppelin.apache.org/contribution/contributions.html#run-zeppelin-server-in-development-mode) on `http://localhost:8080`. If you are using a custom port instead of the default(http://localhost:8080) or other network address, you can create `.env` file in the project directory and set `SERVER_PROXY`. *.env* ``` SERVER_PROXY=http://localhost:8080 ``` ### Development server ```bash $ npm start ``` Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files. ### Build Run `npm build` to build the project. The build artifacts will be stored in the `dist/` directory. ### Screenshots (if appropriate) **Login** ![login](https://user-images.githubusercontent.com/22736418/67387927-62206580-f5ca-11e9-8268-e7036f32ea1c.png) **Home** ![image](https://user-images.githubusercontent.com/22736418/67388288-f4286e00-f5ca-11e9-9265-c9290830a5cd.png) ![image](https://user-images.githubusercontent.com/22736418/67388304-f8ed2200-f5ca-11e9-9368-09b00edd1d67.png) **Interpreter** ![zp-interpreter](https://user-images.githubusercontent.com/22736418/67388335-086c6b00-f5cb-11e9-9d03-add1054c3aeb.gif) **Job Manager** ![zp-jm](https://user-images.githubusercontent.com/22736418/67388392-21751c00-f5cb-11e9-8170-f311fd0dced4.gif) **Dynamic Form** ![zp-df](https://user-images.githubusercontent.com/22736418/67388447-3ce02700-f5cb-11e9-90dd-cee932fa685c.gif) **Frontend API(latest Angular)** ![zp-ng](https://user-images.githubusercontent.com/22736418/67388538-70bb4c80-f5cb-11e9-921d-6c34a4a99711.gif) ** Visualization** ![zp-vis](https://user-images.githubusercontent.com/22736418/67388602-8c265780-f5cb-11e9-9de9-e198878bee09.gif) ### Questions: * Does the licenses files need update? No * Is there breaking changes for older versions? Maybe * Does this needs documentation? YES Author: Hsuan Lee <[email protected]> Author: Wendell <[email protected]> Author: vthinkxie <[email protected]> Closes #3490 from hsuanxyz/frontend-next and squashes the following commits: cb673df [Hsuan Lee] chore: named TODOs 826b6d4 [Hsuan Lee] ci: add exclude item 10ea71e [Hsuan Lee] ci: fix ci config d48b8f9 [Hsuan Lee] chore: rename the dirname to zeppelin-web-angular ec4475c [Hsuan Lee] chore: update LICENSE and add pom.xml in zeppelin-frontend d0dc194 [Hsuan Lee] chore: add `package-lock.json` to version control 06efeda [Hsuan Lee] docs: update frontend README e7f10d2 [Hsuan Lee] chore: add license header in `*.(js|md)` 5649306 [Hsuan Lee] chore: add license header 8a07902 [Hsuan Lee] chore: update theme variables 10f7c78 [Hsuan Lee] chore: remove commit-lint 03ff8d5 [Hsuan Lee] fix: code editor language highlight f53ad54 [Hsuan Lee] docs: update frontend README 95bccaf [Wendell] feat: add code editor 4ea8b50 [Hsuan Lee] feat: add visualizations 3d02d0e [vthinkxie] chore: support basic features of zeppelin eafc519 [Hsuan Lee] feat: add base services 27c5bdf [Hsuan Lee] feat: add common projects 0c39614 [Hsuan Lee] zeppelin-frontend init commit
1 parent b200275 commit 6af0934

File tree

344 files changed

+38558
-4
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

344 files changed

+38558
-4
lines changed

.travis.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,17 @@ matrix:
7979
packages:
8080
- google-chrome-stable
8181

82+
# Run tests (in zeppelin-web-angular)
83+
- os: linux
84+
sudo: false
85+
dist: xenial
86+
jdk: "openjdk8"
87+
env: CI="true" BUILD_FLAG="clean -DskipTests -DskipRat" TEST_FLAG="package -DskipRat" MODULES="-pl ${INTERPRETERS}" TEST_MODULES="-pl zeppelin-web-angular"
88+
addons:
89+
apt:
90+
packages:
91+
- google-chrome-stable
92+
8293
# Test core modules
8394
# Several tests were excluded from this configuration due to the following issues:
8495
# HeliumApplicationFactoryTest - https://issues.apache.org/jira/browse/ZEPPELIN-2470

LICENSE

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -236,16 +236,19 @@ The text of each license is also included at licenses/LICENSE-[project]-[version
236236
(The MIT License) jekyll-bootstrap 0.3.0 (https://github.com/plusjade/jekyll-bootstrap) - https://github.com/plusjade/jekyll-bootstrap
237237
(The MIT License) jekyll 1.3.0 (http://jekyllrb.com/) - https://github.com/jekyll/jekyll/blob/v1.3.0/LICENSE
238238
(The MIT License) ngInfiniteScroll 1.3.4 (https://github.com/sroze/ngInfiniteScroll) - https://github.com/sroze/ngInfiniteScroll/blob/master/LICENSE
239+
(The MIT License) @antv/G2 3.5 (https://github.com/antvis/g2) - https://github.com/antvis/g2/blob/master/LICENSE
240+
(The MIT License) Lodash (https://lodash.com) - https://github.com/lodash/lodash/blob/master/LICENSE
241+
(The MIT License) Monaco Editor (https://github.com/microsoft/monaco-editor) - https://github.com/microsoft/monaco-editor/blob/master/LICENSE.md
239242

240243
========================================================================
241244
MIT-style licenses
242245
========================================================================
243246
The following components are provided under the MIT-style license. See project link for details.
244247
The text of each license is also included at licenses/LICENSE-[project]-[version].txt.
245-
248+
246249
(MIT Style) jekyll-table-of-contents (https://github.com/ghiculescu/jekyll-table-of-contents) - https://github.com/ghiculescu/jekyll-table-of-contents/blob/master/LICENSE.txt
247250
(MIT Style) lunr.js (https://github.com/olivernn/lunr.js) - https://github.com/olivernn/lunr.js/blob/v0.7.1/LICENSE
248-
251+
249252
========================================================================
250253
Apache licenses
251254
========================================================================

pom.xml

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@
9696
<module>zeppelin-jupyter</module>
9797
<module>zeppelin-plugins</module>
9898
<module>zeppelin-distribution</module>
99+
<module>zeppelin-web-angular</module>
99100
</modules>
100101

101102
<properties>
@@ -109,8 +110,8 @@
109110
<scalacheck.version>1.12.5</scalacheck.version>
110111

111112
<!-- frontend maven plugin related versions-->
112-
<node.version>v8.9.3</node.version>
113-
<npm.version>5.5.1</npm.version>
113+
<node.version>v12.3.1</node.version>
114+
<npm.version>6.9.0</npm.version>
114115
<plugin.frontend.version>1.6</plugin.frontend.version>
115116

116117
<!-- common library versions -->
@@ -1032,6 +1033,16 @@
10321033
<exclude>**/e2e/**/**.spec.js</exclude>
10331034
<exclude>package-lock.json</exclude>
10341035

1036+
<!-- bundled from zeppelin-web-angular -->
1037+
<exclude>**/*.json</exclude>
1038+
<exclude>**/browserslist</exclude>
1039+
<exclude>**/.prettierrc</exclude>
1040+
<exclude>**/.prettierignore</exclude>
1041+
<exclude>**/.editorconfig</exclude>
1042+
<exclude>**/src/**/*.svg</exclude>
1043+
<exclude>**/.gitkeep</exclude>
1044+
1045+
10351046
<!-- from SQLLine 1.0.2, see ZEPPELIN-2135 -->
10361047
<exclude>**/src/main/java/org/apache/zeppelin/jdbc/SqlCompleter.java</exclude>
10371048

zeppelin-web-angular/.editorconfig

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Editor configuration, see https://editorconfig.org
2+
root = true
3+
4+
[*]
5+
charset=utf-8
6+
end_of_line=lf
7+
trim_trailing_whitespace=true
8+
insert_final_newline=false
9+
indent_style=space
10+
indent_size=2
11+
12+
13+
[*.md]
14+
max_line_length = off
15+
trim_trailing_whitespace = false

zeppelin-web-angular/.gitignore

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# See http://help.github.com/ignore-files/ for more about ignoring files.
2+
3+
# compiled output
4+
/dist
5+
/tmp
6+
/out-tsc
7+
8+
# dependencies
9+
/node_modules
10+
11+
# profiling files
12+
chrome-profiler-events.json
13+
speed-measure-plugin.json
14+
15+
# IDEs and editors
16+
/.idea
17+
.project
18+
.classpath
19+
.c9/
20+
*.launch
21+
.settings/
22+
*.sublime-workspace
23+
24+
# IDE - VSCode
25+
.vscode/*
26+
!.vscode/settings.json
27+
!.vscode/tasks.json
28+
!.vscode/launch.json
29+
!.vscode/extensions.json
30+
31+
# misc
32+
/.sass-cache
33+
/connect.lock
34+
/coverage
35+
/libpeerconnection.log
36+
npm-debug.log
37+
yarn-error.log
38+
testem.log
39+
/typings
40+
41+
# System Files
42+
.DS_Store
43+
Thumbs.db
44+
45+
#
46+
.env
47+
yarn.lock

zeppelin-web-angular/.prettierignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
**/*.md
2+
**/*.less
3+
**/*.svg

zeppelin-web-angular/.prettierrc

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"singleQuote": true,
3+
"printWidth": 120,
4+
"tabWidth": 2,
5+
"useTabs": false,
6+
"htmlWhitespaceSensitivity": "ignore",
7+
"overrides": [
8+
{
9+
"files": ".prettierrc",
10+
"options": {
11+
"parser": "json"
12+
}
13+
}
14+
]
15+
}

0 commit comments

Comments
 (0)