diff --git a/.angular-cli.json b/.angular-cli.json new file mode 100644 index 000000000..874c9f376 --- /dev/null +++ b/.angular-cli.json @@ -0,0 +1,84 @@ +{ + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "project": { + "name": "delon" + }, + "apps": [{ + "root": "src", + "outDir": "dist", + "assets": [ + "assets" + ], + "index": "index.html", + "main": "main.ts", + "polyfills": "polyfills.ts", + "test": "test.ts", + "tsconfig": "tsconfig.app.json", + "testTsconfig": "tsconfig.spec.json", + "prefix": "app", + "styles": [ + "styles.less" + ], + "scripts": [ + "../node_modules/@antv/g2/dist/g2.min.js", + "../node_modules/@antv/data-set/dist/data-set.min.js", + "../node_modules/@antv/g2-plugin-slider/dist/g-2.0.0.min.js" + ], + "environmentSource": "environments/environment.ts", + "environments": { + "dev": "environments/environment.ts", + "prod": "environments/environment.prod.ts" + } + }, { + "name": "site", + "root": "site", + "outDir": "site/dist", + "assets": [ + "assets", + "favicon.ico" + ], + "index": "index.html", + "main": "main.ts", + "polyfills": "polyfills.ts", + "test": "test.ts", + "tsconfig": "tsconfig.app.json", + "testTsconfig": "tsconfig.spec.json", + "prefix": "", + "styles": [ + "styles.less" + ], + "scripts": [ + "../node_modules/@antv/g2/dist/g2.min.js", + "../node_modules/@antv/data-set/dist/data-set.min.js", + "../node_modules/@antv/g2-plugin-slider/dist/g-2.0.0.min.js" + ], + "environmentSource": "environments/environment.ts", + "environments": { + "dev": "environments/environment.ts", + "prod": "environments/environment.prod.ts" + } + }], + "e2e": { + "protractor": { + "config": "./protractor.conf.js" + } + }, + "lint": [{ + "project": "src/tsconfig.app.json", + "exclude": "**/node_modules/**" + }, + { + "project": "src/tsconfig.spec.json", + "exclude": "**/node_modules/**" + } + ], + "test": { + "karma": { + "config": "./karma.conf.js" + } + }, + "defaults": { + "styleExt": "less", + "component": {} + } +} diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 000000000..e270a00b8 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,11 @@ +# http://editorconfig.org + +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 4 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md new file mode 100644 index 000000000..ebfdb349a --- /dev/null +++ b/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,55 @@ + + +## Bug Report or Feature Request (mark with an `x`) +
+[ ] Bug report -> please search issues before submitting
+[ ] Feature request
+[ ] Documentation issue or request
+
+
+## Current behavior
+
+
+
+## Expected behavior
+
+
+
+## Minimal reproduction of the problem with instructions
+
+
+## What is the motivation / use case for changing the behavior?
+
+
+
+## Environment
+
+
+Angular version: X.Y.Z
+
+delon version: X.Y.Z
+
+Browser:
+- [ ] Chrome (desktop) version XX
+- [ ] Firefox version XX
+- [ ] Safari (desktop) version XX
+- [ ] IE version XX
+
+For Tooling issues:
+- Node version: XX
+- Platform:
+
+Others:
+
+
\ No newline at end of file
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
new file mode 100644
index 000000000..ae64edf70
--- /dev/null
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -0,0 +1,43 @@
+## PR Checklist
+Please check if your PR fulfills the following requirements:
+
+- [ ] The commit message follows our guidelines: https://github.com/cipchk/delon/blob/master/CONTRIBUTING.md#commit
+- [ ] Tests for the changes have been added (for bug fixes / features)
+- [ ] Docs have been added / updated (for bug fixes / features)
+
+
+## PR Type
+What kind of change does this PR introduce?
+
+
+```
+[ ] Bugfix
+[ ] Feature
+[ ] Code style update (formatting, local variables)
+[ ] Refactoring (no functional changes, no api changes)
+[ ] Build related changes
+[ ] CI related changes
+[ ] Documentation content changes
+[ ] Application (the showcase website) / infrastructure changes
+[ ] Other... Please describe:
+```
+
+## What is the current behavior?
+
+
+Issue Number: N/A
+
+
+## What is the new behavior?
+
+
+## Does this PR introduce a breaking change?
+```
+[ ] Yes
+[ ] No
+```
+
+
+
+
+## Other information
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000..8020a9399
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,9 @@
+node_modules
+npm-debug.log
+package-lock.json
+.tmp
+.ng_build
+.lib
+dist
+coverage
+site/app/routes/gen
diff --git a/.npmignore b/.npmignore
new file mode 100644
index 000000000..f227dc6d9
--- /dev/null
+++ b/.npmignore
@@ -0,0 +1,66 @@
+# Logs
+logs
+*.log
+
+# Runtime data
+pids
+*.pid
+*.seed
+
+# Directory for instrumented libs generated by jscoverage/JSCover
+lib-cov
+
+# Coverage directory used by tools like istanbul
+coverage
+
+# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
+.grunt
+
+# Compiled binary addons (http://nodejs.org/api/addons.html)
+build/Release
+
+# Dependency directory
+# Commenting this out is preferred by some people, see
+# https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git-
+node_modules
+
+# Users Environment Variables
+.lock-wscript
+.tsdrc
+
+#IntelliJ configuration files
+.idea
+
+dist
+dev
+site
+lib
+test
+tmp
+
+Thumbs.db
+.DS_Store
+
+*.ts
+!*.d.ts
+
+src/app/example*
+src/public
+typings
+*_spec.*
+CONTRIBUTING.md
+gulpfile.ts
+favicon.ico
+karma-shim.js
+karma.conf.js
+make.js
+protractor.conf.js
+test-main.js
+tsconfig.json
+tslint.json
+typedoc.json
+typings.json
+webpack.config.js
+*.yml
+.jshintrc
+.editorconfig
diff --git a/.stylelintrc b/.stylelintrc
new file mode 100644
index 000000000..fcfd1f656
--- /dev/null
+++ b/.stylelintrc
@@ -0,0 +1,30 @@
+{
+ "extends": "stylelint-config-standard",
+ "rules": {
+ "comment-empty-line-before": null,
+ "declaration-empty-line-before": null,
+ "function-comma-newline-after": null,
+ "function-name-case": null,
+ "function-parentheses-newline-inside": null,
+ "function-max-empty-lines": null,
+ "function-whitespace-after": null,
+ "indentation": null,
+ "number-leading-zero": null,
+ "number-no-trailing-zeros": null,
+ "rule-empty-line-before": null,
+ "selector-combinator-space-after": null,
+ "selector-list-comma-newline-after": null,
+ "selector-pseudo-element-colon-notation": null,
+ "unit-no-unknown": null,
+ "value-list-max-empty-lines": null,
+ "selector-type-no-unknown": null,
+ "selector-pseudo-element-no-unknown": [
+ true,
+ {
+ "ignorePseudoElements": [
+ "ng-deep"
+ ]
+ }
+ ]
+ }
+}
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 000000000..40aeaf2cc
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,16 @@
+sudo: false
+language: node_js
+node_js: "8"
+
+before_install:
+ - export CHROME_BIN=chromium-browser
+ - export DISPLAY=:99.0
+ - sh -e /etc/init.d/xvfb start
+ - rm -rf node_modules/delon
+
+script:
+ - npm run pretest
+ - npm run test-coverage
+
+after_success:
+ - ./node_modules/.bin/codecov
diff --git a/.vscode/launch.json b/.vscode/launch.json
new file mode 100644
index 000000000..275a237cd
--- /dev/null
+++ b/.vscode/launch.json
@@ -0,0 +1,17 @@
+{
+ // Use IntelliSense to learn about possible attributes.
+ // Hover to view descriptions of existing attributes.
+ // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
+ "version": "0.2.0",
+ "configurations": [
+ {
+ "type": "node",
+ "request": "launch",
+ "name": "Gulp task [site:build]",
+ "program": "${workspaceRoot}/node_modules/gulp/bin/gulp.js",
+ "args": [
+ "site:build"
+ ]
+ }
+ ]
+}
diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 000000000..3bed0ecb9
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,12 @@
+// Place your settings in this file to overwrite default and user settings.
+{
+ "javascript.implicitProjectConfig.checkJs": true,
+ "files.watcherExclude": {
+ "**/.git/objects/**": true,
+ "**/.git/subtree-cache/**": true,
+ "**/node_modules/*/**": true,
+ "**/dist/*/**": true,
+ "**/coverage/*/**": true,
+ "**/tools/*/**": true
+ }
+}
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 000000000..f6fdd6e54
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,200 @@
+# Contributing to delon
+
+We would love for you to contribute to delon and help make it even better than it is
+today! As a contributor, here are the guidelines we would like you to follow:
+
+ - [Issues and Bugs](#issue)
+ - [Feature Requests](#feature)
+ - [Submission Guidelines](#submit)
+ - [Coding Rules](#rules)
+ - [Commit Message Guidelines](#commit)
+
+## Found a Bug?
+If you find a bug in the source code, you can help us by
+[submitting an issue](#submit-issue) to our [GitHub Repository][github]. Even better, you can
+[submit a Pull Request](#submit-pr) with a fix.
+
+## Missing a Feature?
+You can *request* a new feature by [submitting an issue](#submit-issue) to our GitHub
+Repository. If you would like to *implement* a new feature, please submit an issue with
+a for your work first, to be sure that we can use it.
+Please consider what kind of change it is:
+
+* For a **Major Feature**, first open an issue and outline your proposal so that it can be
+discussed. This will also allow us to better coordinate our efforts, prevent duplication of work,
+and help you to craft the change so that it is successfully accepted into the project.
+* **Small Features** can be crafted and directly [submitted as a Pull Request](#submit-pr).
+
+## Submission Guidelines
+
+### Submitting an Issue
+
+Before you submit an issue, please search the issue tracker, maybe an issue for your problem already exists and the discussion might inform you of workarounds readily available.
+
+We want to fix all the issues as soon as possible, but before fixing a bug we need to reproduce and confirm it. In order to reproduce bugs we will systematically ask you to provide a minimal reproduction scenario using http://plnkr.co. Having a live, reproducible scenario gives us wealth of important information without going back & forth to you with additional questions like:
+
+- version of delon used
+- 3rd-party libraries and their versions
+- and most importantly - a use-case that fails
+
+A minimal reproduce scenario using http://plnkr.co/ allows us to quickly confirm a bug (or point out coding problem) as well as confirm that we are fixing the right problem. If plunker is not a suitable way to demonstrate the problem (for example for issues related to our npm packaging), please create a standalone git repository demonstrating the problem.
+
+We will be insisting on a minimal reproduce scenario in order to save maintainers time and ultimately be able to fix more bugs. Interestingly, from our experience users often find coding problems themselves while preparing a minimal plunk. We understand that sometimes it might be hard to extract essentials bits of code from a larger code-base but we really need to isolate the problem before we can fix it.
+
+Unfortunately we are not able to investigate / fix bugs without a minimal reproduction, so if we don't hear back from you we are going to close an issue that don't have enough info to be reproduced.
+
+You can file new issues by filling out our [new issue form](https://github.com/cipchk/delon/issues/new).
+
+
+### Submitting a Pull Request (PR)
+Before you submit your Pull Request (PR) consider the following guidelines:
+
+* Search [GitHub](https://github.com/cipchk/delon/pulls) for an open or closed PR
+ that relates to your submission. You don't want to duplicate effort.
+* Make your changes in a new git branch:
+
+ ```shell
+ git checkout -b my-fix-branch master
+ ```
+
+* Create your patch, **including appropriate test cases**.
+* Follow our [Coding Rules](#rules).
+* Run the full delon test suite , and ensure that all tests pass.
+* Commit your changes using a descriptive commit message that follows our
+ [commit message conventions](#commit). Adherence to these conventions
+ is necessary because release notes are automatically generated from these messages.
+
+ ```shell
+ git commit -a
+ ```
+ Note: the optional commit `-a` command line option will automatically "add" and "rm" edited files.
+
+* Push your branch to GitHub:
+
+ ```shell
+ git push origin my-fix-branch
+ ```
+
+* In GitHub, send a pull request to `delon:master`.
+* If we suggest changes then:
+ * Make the required updates.
+ * Re-run the delon test suites to ensure tests are still passing.
+ * Rebase your branch and force push to your GitHub repository (this will update your Pull Request):
+
+ ```shell
+ git rebase master -i
+ git push -f
+ ```
+
+That's it! Thank you for your contribution!
+
+#### After your pull request is merged
+
+After your pull request is merged, you can safely delete your branch and pull the changes
+from the main (upstream) repository:
+
+* Delete the remote branch on GitHub either through the GitHub web UI or your local shell as follows:
+
+ ```shell
+ git push origin --delete my-fix-branch
+ ```
+
+* Check out the master branch:
+
+ ```shell
+ git checkout master -f
+ ```
+
+* Delete the local branch:
+
+ ```shell
+ git branch -D my-fix-branch
+ ```
+
+* Update your master with the latest upstream version:
+
+ ```shell
+ git pull --ff upstream master
+ ```
+
+## Coding Rules
+To ensure consistency throughout the source code, keep these rules in mind as you are working:
+
+* All features or bug fixes **must be tested** by one or more specs (unit-tests).
+* All public API methods **must be documented**.
+
+## Commit Message Guidelines
+
+We have very precise rules over how our git commit messages can be formatted. This leads to **more
+readable messages** that are easy to follow when looking through the **project history**. But also,
+we use the git commit messages to **generate the delon change log**.
+
+### Commit Message Format
+Each commit message consists of a **header**, a **body** and a **footer**. The header has a special
+format that includes a **type**, a **scope** and a **subject**:
+
+```
+