From 59884c775c9d06e2195401a09e08650a5cf37b20 Mon Sep 17 00:00:00 2001 From: YuanHu Date: Tue, 27 Mar 2018 17:58:42 +0800 Subject: Display Extend Activities on WF Designer UI. Display Extend Activities on WF Designer UI. Use Extend Activities to Design Workflow and Save Issue-ID: SDC-1130,SDC-1131 Change-Id: Iea62eb0edafb2270deaac89b458015e78d961cd0 Signed-off-by: YuanHu --- sdc-workflow-designer-ui/.angular-cli.json | 120 +- sdc-workflow-designer-ui/.editorconfig | 2 +- sdc-workflow-designer-ui/README.md | 59 +- sdc-workflow-designer-ui/package-lock.json | 1630 +++++++++++++---- sdc-workflow-designer-ui/package.json | 29 +- .../src/app/app.component.html | 23 +- sdc-workflow-designer-ui/src/app/app.component.ts | 32 +- sdc-workflow-designer-ui/src/app/app.module.ts | 53 +- .../components/container/container.component.html | 6 +- .../components/container/container.component.ts | 11 +- .../editable-property.component.html | 27 +- .../editable-property.component.ts | 113 +- .../global-notice/global-notice.component.ts | 2 +- .../src/app/components/menus/menus.component.html | 55 +- .../src/app/components/menus/menus.component.ts | 106 +- .../rest-config-detail.component.html | 19 +- .../rest-config-detail.component.ts | 4 +- .../rest-config-list.component.html | 17 +- .../rest-config-list/rest-config-list.component.ts | 8 +- .../menus/rest-config/rest-config.component.html | 17 +- .../menus/rest-config/rest-config.component.ts | 2 +- .../menus/workflows/workflows.component.html | 41 - .../menus/workflows/workflows.component.ts | 55 - .../node-parameters/node-parameters.component.css | 0 .../node-parameters/node-parameters.component.html | 21 - .../node-parameters/node-parameters.component.ts | 94 - .../parameter-tree/parameter-tree.component.css | 0 .../parameter-tree/parameter-tree.component.html | 23 - .../parameter-tree/parameter-tree.component.ts | 168 -- .../src/app/components/node/node.component.html | 79 +- .../src/app/components/node/node.component.ts | 35 +- .../components/parameter/parameter.component.html | 60 +- .../components/parameter/parameter.component.ts | 209 ++- .../error-event/error-event.component.html | 2 +- .../property/error-event/error-event.component.ts | 4 +- .../intermediate-catch-event.component.html | 105 +- .../intermediate-catch-event.component.ts | 138 +- .../node-template/node-template.component.html | 4 +- .../node-template/node-template.component.ts | 19 +- .../components/property/properties.component.html | 23 +- .../components/property/properties.component.ts | 47 +- .../node-parameters/node-parameters.component.html | 23 + .../node-parameters/node-parameters.component.ts | 109 ++ .../parameter-tree/parameter-tree.component.css | 0 .../parameter-tree/parameter-tree.component.html | 36 + .../parameter-tree/parameter-tree.component.ts | 176 ++ .../rest-parameters/rest-parameters.component.html | 67 + .../rest-parameters.component.spec.ts | 36 + .../rest-parameters/rest-parameters.component.ts | 367 ++++ .../property/rest-task/rest-task.component.html | 19 +- .../property/rest-task/rest-task.component.ts | 180 +- .../script-task/script-task.component.html | 10 +- .../property/script-task/script-task.component.ts | 35 +- .../service-task/service-task.component.html | 39 + .../service-task/service-task.component.spec.ts | 36 + .../service-task/service-task.component.ts | 97 + .../start-event/start-event.component.html | 37 +- .../property/start-event/start-event.component.ts | 42 +- .../sequence-flow/sequence-flow.component.html | 6 +- .../sequence-flow/sequence-flow.component.ts | 20 +- .../toolbar-node/toolbar-node.component.html | 28 + .../toolbar/toolbar-node/toolbar-node.component.ts | 128 ++ .../app/components/toolbar/toolbar.component.html | 71 +- .../app/components/toolbar/toolbar.component.ts | 25 +- sdc-workflow-designer-ui/src/app/model/model.ts | 16 + .../src/app/model/notice-type.enum.ts | 11 + .../src/app/model/plan-model.ts | 9 +- .../src/app/model/rest-config.ts | 34 +- sdc-workflow-designer-ui/src/app/model/swagger.ts | 16 +- .../src/app/model/value-object.ts | 15 + .../src/app/model/value-source.enum.ts | 5 +- .../src/app/model/value-type.enum.ts | 9 +- .../src/app/model/workflow/node-type.enum.ts | 6 +- .../src/app/model/workflow/parameter.ts | 5 +- .../src/app/model/workflow/rest-task.ts | 12 +- .../src/app/model/workflow/script-task.ts | 2 +- .../src/app/model/workflow/service-task.ts | 19 + .../src/app/model/workflow/workflow-node.ts | 2 + .../src/app/services/auth.service.spec.ts | 26 + .../src/app/services/auth.service.ts | 65 + .../src/app/services/broadcast.service.ts | 52 +- .../src/app/services/data/backend.service.ts | 100 - .../src/app/services/data/data.service.ts | 79 - .../app/services/data/in-memory-data.service.ts | 71 - .../src/app/services/data/mockdata.ts | 4 - .../src/app/services/data/sdc.service.ts | 86 - .../src/app/services/display-info.service.ts | 27 + .../src/app/services/interface.service.spec.ts | 26 + .../src/app/services/interface.service.ts | 47 + .../src/app/services/jsplumb.service.ts | 66 +- .../src/app/services/model.service.ts | 246 ++- .../src/app/services/node-type.service.ts | 68 + .../src/app/services/rest.service.ts | 341 ++-- .../src/app/services/setting.service.spec.ts | 11 + .../src/app/services/setting.service.ts | 16 +- .../app/services/swagger-tree-converter.service.ts | 39 +- .../src/app/services/tosca.service.spec.ts | 26 + .../src/app/services/tosca.service.ts | 153 ++ .../src/app/services/workflow.service.ts | 79 - sdc-workflow-designer-ui/src/favicon.ico | Bin 5430 -> 0 bytes sdc-workflow-designer-ui/src/ngict-component.css | 1908 -------------------- 101 files changed, 4637 insertions(+), 4109 deletions(-) delete mode 100644 sdc-workflow-designer-ui/src/app/components/menus/workflows/workflows.component.html delete mode 100644 sdc-workflow-designer-ui/src/app/components/menus/workflows/workflows.component.ts delete mode 100644 sdc-workflow-designer-ui/src/app/components/node-parameters/node-parameters.component.css delete mode 100644 sdc-workflow-designer-ui/src/app/components/node-parameters/node-parameters.component.html delete mode 100644 sdc-workflow-designer-ui/src/app/components/node-parameters/node-parameters.component.ts delete mode 100644 sdc-workflow-designer-ui/src/app/components/node-parameters/parameter-tree/parameter-tree.component.css delete mode 100644 sdc-workflow-designer-ui/src/app/components/node-parameters/parameter-tree/parameter-tree.component.html delete mode 100644 sdc-workflow-designer-ui/src/app/components/node-parameters/parameter-tree/parameter-tree.component.ts create mode 100644 sdc-workflow-designer-ui/src/app/components/property/rest-task/node-parameters/node-parameters.component.html create mode 100644 sdc-workflow-designer-ui/src/app/components/property/rest-task/node-parameters/node-parameters.component.ts create mode 100644 sdc-workflow-designer-ui/src/app/components/property/rest-task/node-parameters/parameter-tree/parameter-tree.component.css create mode 100644 sdc-workflow-designer-ui/src/app/components/property/rest-task/node-parameters/parameter-tree/parameter-tree.component.html create mode 100644 sdc-workflow-designer-ui/src/app/components/property/rest-task/node-parameters/parameter-tree/parameter-tree.component.ts create mode 100644 sdc-workflow-designer-ui/src/app/components/property/rest-task/rest-parameters/rest-parameters.component.html create mode 100644 sdc-workflow-designer-ui/src/app/components/property/rest-task/rest-parameters/rest-parameters.component.spec.ts create mode 100644 sdc-workflow-designer-ui/src/app/components/property/rest-task/rest-parameters/rest-parameters.component.ts create mode 100644 sdc-workflow-designer-ui/src/app/components/property/service-task/service-task.component.html create mode 100644 sdc-workflow-designer-ui/src/app/components/property/service-task/service-task.component.spec.ts create mode 100644 sdc-workflow-designer-ui/src/app/components/property/service-task/service-task.component.ts create mode 100644 sdc-workflow-designer-ui/src/app/components/toolbar/toolbar-node/toolbar-node.component.html create mode 100644 sdc-workflow-designer-ui/src/app/components/toolbar/toolbar-node/toolbar-node.component.ts create mode 100644 sdc-workflow-designer-ui/src/app/model/model.ts create mode 100644 sdc-workflow-designer-ui/src/app/model/value-object.ts create mode 100644 sdc-workflow-designer-ui/src/app/model/workflow/service-task.ts create mode 100644 sdc-workflow-designer-ui/src/app/services/auth.service.spec.ts create mode 100644 sdc-workflow-designer-ui/src/app/services/auth.service.ts delete mode 100644 sdc-workflow-designer-ui/src/app/services/data/backend.service.ts delete mode 100644 sdc-workflow-designer-ui/src/app/services/data/data.service.ts delete mode 100644 sdc-workflow-designer-ui/src/app/services/data/in-memory-data.service.ts delete mode 100644 sdc-workflow-designer-ui/src/app/services/data/mockdata.ts delete mode 100644 sdc-workflow-designer-ui/src/app/services/data/sdc.service.ts create mode 100644 sdc-workflow-designer-ui/src/app/services/display-info.service.ts create mode 100644 sdc-workflow-designer-ui/src/app/services/interface.service.spec.ts create mode 100644 sdc-workflow-designer-ui/src/app/services/interface.service.ts create mode 100644 sdc-workflow-designer-ui/src/app/services/node-type.service.ts create mode 100644 sdc-workflow-designer-ui/src/app/services/tosca.service.spec.ts create mode 100644 sdc-workflow-designer-ui/src/app/services/tosca.service.ts delete mode 100644 sdc-workflow-designer-ui/src/app/services/workflow.service.ts delete mode 100644 sdc-workflow-designer-ui/src/favicon.ico delete mode 100644 sdc-workflow-designer-ui/src/ngict-component.css (limited to 'sdc-workflow-designer-ui') diff --git a/sdc-workflow-designer-ui/.angular-cli.json b/sdc-workflow-designer-ui/.angular-cli.json index 453d3612..a4cf34ee 100644 --- a/sdc-workflow-designer-ui/.angular-cli.json +++ b/sdc-workflow-designer-ui/.angular-cli.json @@ -1,65 +1,65 @@ { - "$schema": "./node_modules/@angular/cli/lib/config/schema.json", - "project": { - "name": "workflowmodeler" - }, - "apps": [ - { - "root": "src", - "outDir": "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": "app", - "styles": [ - "../node_modules/bootstrap/dist/css/bootstrap.min.css", - "../node_modules/font-awesome/css/font-awesome.min.css", - "../node_modules/primeng/resources/primeng.min.css", - "../node_modules/primeng/resources/themes/bootstrap/theme.css", - "ngict-component.css", - "styles.css" - ], - "scripts": [], - "environmentSource": "environments/environment.ts", - "environments": { - "dev": "environments/environment.ts", - "prod": "environments/environment.prod.ts" - } - } - ], - "e2e": { - "protractor": { - "config": "./protractor.conf.js" - } + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "project": { + "name": "workflow-modeler" + }, + "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": "wfm", + "styles": [ + "../node_modules/bootstrap/dist/css/bootstrap.css", + "../node_modules/font-awesome/css/font-awesome.css", + "../node_modules/primeng/resources/primeng.min.css", + "../node_modules/primeng/resources/themes/bootstrap/theme.css", + "app/paletx/assets/css/style.css", + "app/paletx/assets/themes/default/theme.css", + "styles.css" + ], + "scripts": [], + "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/**" }, - "lint": [ - { - "project": "src/tsconfig.app.json", - "exclude": "**/node_modules/**" - }, - { - "project": "src/tsconfig.spec.json", - "exclude": "**/node_modules/**" - }, - { - "project": "e2e/tsconfig.e2e.json", - "exclude": "**/node_modules/**" - } - ], - "test": { - "karma": { - "config": "./karma.conf.js" - } + { + "project": "src/tsconfig.spec.json", + "exclude": "**/node_modules/**" }, - "defaults": { - "styleExt": "css", - "component": {} + { + "project": "e2e/tsconfig.e2e.json", + "exclude": "**/node_modules/**" + } + ], + "test": { + "karma": { + "config": "./karma.conf.js" } + }, + "defaults": { + "styleExt": "css", + "component": {} + } } diff --git a/sdc-workflow-designer-ui/.editorconfig b/sdc-workflow-designer-ui/.editorconfig index 9b735217..6e87a003 100644 --- a/sdc-workflow-designer-ui/.editorconfig +++ b/sdc-workflow-designer-ui/.editorconfig @@ -4,7 +4,7 @@ root = true [*] charset = utf-8 indent_style = space -indent_size = 4 +indent_size = 2 insert_final_newline = true trim_trailing_whitespace = true diff --git a/sdc-workflow-designer-ui/README.md b/sdc-workflow-designer-ui/README.md index 03f57b77..88859be5 100644 --- a/sdc-workflow-designer-ui/README.md +++ b/sdc-workflow-designer-ui/README.md @@ -1,28 +1,57 @@ -# Workflow designer -This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 1.3.1. +# Workflow Modeler -## Development server +This project is an implementation of a workflow modeler for creating and maintaining [TOSCA] compatible management plans. -Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files. +It is based on the thesis [Ein Modellierungswerkzeug für BPMN4TOSCA] by Thomas Michelbach. -## Code scaffolding +## Installation -Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`. + Fetch dependencies using `npm install` -## Build +## Run -Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `-prod` flag for a production build. +Execute `npm start`. +Open with correct HTTP GET params: -## Running unit tests +repositoryURL (e.g. http://dev.winery.opentosca.org/winery/) +namespace (e.g. http://www.example.org/ServiceTemplates) +id (e.g. PlanDemonstration) +plan (e.g. Test) -Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io). +You can also directly embed it into Winery. +Ensure that `winery.properties` contains following line. -## Running end-to-end tests +``` +bpmn4toscamodelerBaseURI=http://localhost:9527/ +``` -Run `ng e2e` to execute the end-to-end tests via [Protractor](http://www.protractortest.org/). -Before running the tests make sure you are serving the app via `ng serve`. +## License +Copyright (c) 2017 ZTE Corporation. -## Further help +All rights reserved. This program and the accompanying materials +are made available under the terms of the [Eclipse Public License v1.0] +and the [Apache License v2.0] which both accompany this distribution, +and are available at http://www.eclipse.org/legal/epl-v10.html +and http://www.apache.org/licenses/LICENSE-2.0. -To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md). +Please check the [EPL FAQ](https://eclipse.org/legal/eplfaq.php#DUALLIC) for implications. + + [Apache License v2.0]: http://www.apache.org/licenses/LICENSE-2.0.html + [Eclipse Public License v1.0]: http://www.eclipse.org/legal/epl-v10.html + + +## Literature + +### About TOSCA +* Binz, T., Breiter, G., Leymann, F., Spatzier, T.: Portable Cloud Services Using TOSCA. IEEE Internet Computing 16(03), 80--85 (May 2012). [DOI:10.1109/MIC.2012.43] +* Topology and Orchestration Specification for Cloud Applications Version 1.0. 25 November 2013. OASIS Standard. http://docs.oasis-open.org/tosca/TOSCA/v1.0/os/TOSCA-v1.0-os.html +* OASIS: Topology and Orchestration Specification for Cloud Applications (TOSCA) Primer Version 1.0 (2013) + +See http://www.opentosca.org/#publications for a list of publications in the OpenTOSCA ecosystem. + + [Apache License v2.0]: http://www.apache.org/licenses/LICENSE-2.0.html + [DOI:10.1109/MIC.2012.43]: http://dx.doi.org/10.1109/MIC.2012.43 + [Eclipse Public License v1.0]: http://www.eclipse.org/legal/epl-v10.html + [Ein Modellierungswerkzeug für BPMN4TOSCA]: http://elib.uni-stuttgart.de/opus/volltexte/2015/9943/ + [TOSCA]: https://www.oasis-open.org/committees/tosca/ diff --git a/sdc-workflow-designer-ui/package-lock.json b/sdc-workflow-designer-ui/package-lock.json index a7015452..5c4a9cb0 100644 --- a/sdc-workflow-designer-ui/package-lock.json +++ b/sdc-workflow-designer-ui/package-lock.json @@ -1,18 +1,43 @@ { - "name": "workflow-designer", + "name": "workflow-modeler", "version": "1.0.0", "lockfileVersion": 1, "requires": true, "dependencies": { - "@angular-devkit/build-optimizer": { - "version": "0.0.13", - "resolved": "http://registry.npm.taobao.org/@angular-devkit/build-optimizer/download/@angular-devkit/build-optimizer-0.0.13.tgz", - "integrity": "sha1-zzl692q+iZqpCdSnNRBmlMofCM8=", + "@angular-devkit/core": { + "version": "0.0.20", + "resolved": "http://registry.npm.taobao.org/@angular-devkit/core/download/@angular-devkit/core-0.0.20.tgz", + "integrity": "sha1-KtNt0hD8zQ4VbQHGSZCCrUzYwq8=", "dev": true, "requires": { - "loader-utils": "1.1.0", - "source-map": "0.5.6", - "typescript": "2.3.4" + "source-map": "0.5.6" + } + }, + "@angular-devkit/schematics": { + "version": "0.0.52", + "resolved": "http://registry.npm.taobao.org/@angular-devkit/schematics/download/@angular-devkit/schematics-0.0.52.tgz", + "integrity": "sha1-y9L0J3i1DWQiolT/rsBa1O88tsA=", + "dev": true, + "requires": { + "@ngtools/json-schema": "1.1.0", + "rxjs": "5.5.7" + }, + "dependencies": { + "rxjs": { + "version": "5.5.7", + "resolved": "http://registry.npm.taobao.org/rxjs/download/rxjs-5.5.7.tgz", + "integrity": "sha1-r7PRZCsGmy+/IDkD1lAdGstM2ic=", + "dev": true, + "requires": { + "symbol-observable": "1.0.1" + } + }, + "symbol-observable": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/symbol-observable/download/symbol-observable-1.0.1.tgz", + "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=", + "dev": true + } } }, "@angular/animations": { @@ -32,24 +57,25 @@ } }, "@angular/cli": { - "version": "1.3.1", - "resolved": "http://registry.npm.taobao.org/@angular/cli/download/@angular/cli-1.3.1.tgz", - "integrity": "sha1-K8Kf1wkCTdOXExtM8a3BUCbmUF8=", + "version": "1.4.3", + "resolved": "http://registry.npm.taobao.org/@angular/cli/download/@angular/cli-1.4.3.tgz", + "integrity": "sha1-g4nU7q3+NKux0W5Tg2QWqPhDD7M=", "dev": true, "requires": { - "@angular-devkit/build-optimizer": "0.0.13", + "@angular-devkit/build-optimizer": "0.0.42", + "@angular-devkit/schematics": "0.0.52", "@ngtools/json-schema": "1.1.0", - "@ngtools/webpack": "1.6.1", + "@ngtools/webpack": "1.7.1", + "@schematics/angular": "0.0.49", "autoprefixer": "6.7.7", "chalk": "2.1.0", "circular-dependency-plugin": "3.0.0", "common-tags": "1.4.0", + "copy-webpack-plugin": "4.5.1", "core-object": "3.1.4", "css-loader": "0.28.5", "cssnano": "3.10.0", "denodeify": "1.2.1", - "diff": "3.3.0", - "ember-cli-normalize-entity-name": "1.0.0", "ember-cli-string-utils": "1.1.0", "exports-loader": "0.6.4", "extract-text-webpack-plugin": "3.0.0", @@ -60,17 +86,13 @@ "heimdalljs": "0.2.5", "heimdalljs-logger": "0.1.9", "html-webpack-plugin": "2.30.1", - "inflection": "1.12.0", - "inquirer": "3.2.2", - "isbinaryfile": "3.0.2", "istanbul-instrumenter-loader": "2.0.0", "karma-source-map-support": "1.2.0", "less": "2.7.2", "less-loader": "4.0.5", - "license-webpack-plugin": "0.5.1", + "license-webpack-plugin": "1.3.1", "lodash": "4.17.4", "memory-fs": "0.4.1", - "minimatch": "3.0.4", "node-modules-path": "1.0.1", "node-sass": "4.5.3", "nopt": "4.0.1", @@ -80,10 +102,8 @@ "postcss-url": "5.1.2", "raw-loader": "0.5.1", "resolve": "1.4.0", - "rsvp": "3.6.2", "rxjs": "5.4.3", "sass-loader": "6.0.6", - "script-loader": "0.7.0", "semver": "5.4.1", "silent-error": "1.1.0", "source-map-loader": "0.2.1", @@ -91,14 +111,428 @@ "style-loader": "0.13.2", "stylus": "0.54.5", "stylus-loader": "3.0.1", - "temp": "0.8.3", - "typescript": "2.3.4", + "typescript": "2.4.2", "url-loader": "0.5.9", - "walk-sync": "0.3.2", + "webpack": "3.5.6", + "webpack-concat-plugin": "1.4.0", "webpack-dev-middleware": "1.12.0", - "webpack-dev-server": "2.5.1", + "webpack-dev-server": "2.7.1", "webpack-merge": "4.1.0", "zone.js": "0.8.16" + }, + "dependencies": { + "@angular-devkit/build-optimizer": { + "version": "0.0.42", + "resolved": "http://registry.npm.taobao.org/@angular-devkit/build-optimizer/download/@angular-devkit/build-optimizer-0.0.42.tgz", + "integrity": "sha1-QCsN2kiD25HiOBw93FWIhAiniU4=", + "dev": true, + "requires": { + "loader-utils": "1.1.0", + "source-map": "0.5.6", + "typescript": "2.6.2", + "webpack-sources": "1.0.1" + }, + "dependencies": { + "typescript": { + "version": "2.6.2", + "resolved": "http://registry.npm.taobao.org/typescript/download/typescript-2.6.2.tgz", + "integrity": "sha1-PFtv1/beCRQmkCfwPAlGdY92c6Q=", + "dev": true + } + } + }, + "@ngtools/webpack": { + "version": "1.7.1", + "resolved": "http://registry.npm.taobao.org/@ngtools/webpack/download/@ngtools/webpack-1.7.1.tgz", + "integrity": "sha1-OD3daJhFz0L8dVl19kQPdVNfUBY=", + "dev": true, + "requires": { + "enhanced-resolve": "3.4.1", + "loader-utils": "1.1.0", + "magic-string": "0.22.4", + "source-map": "0.5.6" + } + }, + "camelcase": { + "version": "4.1.0", + "resolved": "http://registry.npm.taobao.org/camelcase/download/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "faye-websocket": { + "version": "0.11.1", + "resolved": "http://registry.npm.taobao.org/faye-websocket/download/faye-websocket-0.11.1.tgz", + "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=", + "dev": true, + "requires": { + "websocket-driver": "0.6.5" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "http://registry.npm.taobao.org/find-up/download/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "2.0.0" + } + }, + "has-flag": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/has-flag/download/has-flag-2.0.0.tgz", + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "license-webpack-plugin": { + "version": "1.3.1", + "resolved": "http://registry.npm.taobao.org/license-webpack-plugin/download/license-webpack-plugin-1.3.1.tgz", + "integrity": "sha1-aIt2RyGI71l5GLfK4+7H3C+loOg=", + "dev": true, + "requires": { + "ejs": "2.5.8" + } + }, + "load-json-file": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/load-json-file/download/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "strip-bom": "3.0.0" + } + }, + "os-locale": { + "version": "2.1.0", + "resolved": "http://registry.npm.taobao.org/os-locale/download/os-locale-2.1.0.tgz", + "integrity": "sha1-QrwpAKa1uL0XN2yOiCtlr8zyS/I=", + "dev": true, + "requires": { + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" + } + }, + "path-type": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/path-type/download/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "dev": true, + "requires": { + "pify": "2.3.0" + } + }, + "read-pkg": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/read-pkg/download/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "dev": true, + "requires": { + "load-json-file": "2.0.0", + "normalize-package-data": "2.4.0", + "path-type": "2.0.0" + } + }, + "read-pkg-up": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "dev": true, + "requires": { + "find-up": "2.1.0", + "read-pkg": "2.0.0" + } + }, + "sockjs-client": { + "version": "1.1.4", + "resolved": "http://registry.npm.taobao.org/sockjs-client/download/sockjs-client-1.1.4.tgz", + "integrity": "sha1-W6vjhrd15M8U51IJEUUmVAFsixI=", + "dev": true, + "requires": { + "debug": "2.6.8", + "eventsource": "0.1.6", + "faye-websocket": "0.11.1", + "inherits": "2.0.3", + "json3": "3.3.2", + "url-parse": "1.1.9" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "http://registry.npm.taobao.org/strip-bom/download/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "supports-color": { + "version": "4.5.0", + "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true, + "requires": { + "has-flag": "2.0.0" + } + }, + "webpack": { + "version": "3.5.6", + "resolved": "http://registry.npm.taobao.org/webpack/download/webpack-3.5.6.tgz", + "integrity": "sha1-pJL7bB7X9XOBb5DgDI+7WiDMXDY=", + "dev": true, + "requires": { + "acorn": "5.1.1", + "acorn-dynamic-import": "2.0.2", + "ajv": "5.2.2", + "ajv-keywords": "2.1.0", + "async": "2.5.0", + "enhanced-resolve": "3.4.1", + "escope": "3.6.0", + "interpret": "1.0.3", + "json-loader": "0.5.7", + "json5": "0.5.1", + "loader-runner": "2.3.0", + "loader-utils": "1.1.0", + "memory-fs": "0.4.1", + "mkdirp": "0.5.1", + "node-libs-browser": "2.0.0", + "source-map": "0.5.6", + "supports-color": "4.5.0", + "tapable": "0.2.8", + "uglifyjs-webpack-plugin": "0.4.6", + "watchpack": "1.4.0", + "webpack-sources": "1.0.1", + "yargs": "8.0.2" + } + }, + "webpack-dev-server": { + "version": "2.7.1", + "resolved": "http://registry.npm.taobao.org/webpack-dev-server/download/webpack-dev-server-2.7.1.tgz", + "integrity": "sha1-IVgPWgjNBlxxFEz29hw0W8pZqLg=", + "dev": true, + "requires": { + "ansi-html": "0.0.7", + "bonjour": "3.5.0", + "chokidar": "1.7.0", + "compression": "1.7.0", + "connect-history-api-fallback": "1.3.0", + "del": "3.0.0", + "express": "4.15.4", + "html-entities": "1.2.1", + "http-proxy-middleware": "0.17.4", + "internal-ip": "1.2.0", + "ip": "1.1.5", + "loglevel": "1.6.1", + "opn": "4.0.2", + "portfinder": "1.0.13", + "selfsigned": "1.10.1", + "serve-index": "1.9.0", + "sockjs": "0.3.18", + "sockjs-client": "1.1.4", + "spdy": "3.4.7", + "strip-ansi": "3.0.1", + "supports-color": "3.2.3", + "webpack-dev-middleware": "1.12.0", + "yargs": "6.6.0" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "http://registry.npm.taobao.org/camelcase/download/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + }, + "find-up": { + "version": "1.1.2", + "resolved": "http://registry.npm.taobao.org/find-up/download/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "http://registry.npm.taobao.org/load-json-file/download/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" + } + }, + "opn": { + "version": "4.0.2", + "resolved": "http://registry.npm.taobao.org/opn/download/opn-4.0.2.tgz", + "integrity": "sha1-erwi5kTf9jsKltWrfyeQwPAavJU=", + "dev": true, + "requires": { + "object-assign": "4.1.1", + "pinkie-promise": "2.0.1" + } + }, + "os-locale": { + "version": "1.4.0", + "resolved": "http://registry.npm.taobao.org/os-locale/download/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dev": true, + "requires": { + "lcid": "1.0.0" + } + }, + "path-type": { + "version": "1.1.0", + "resolved": "http://registry.npm.taobao.org/path-type/download/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "http://registry.npm.taobao.org/read-pkg/download/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "1.1.2", + "read-pkg": "1.1.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "http://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/strip-bom/download/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "0.2.1" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + }, + "which-module": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/which-module/download/which-module-1.0.0.tgz", + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", + "dev": true + }, + "yargs": { + "version": "6.6.0", + "resolved": "http://registry.npm.taobao.org/yargs/download/yargs-6.6.0.tgz", + "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", + "dev": true, + "requires": { + "camelcase": "3.0.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.2", + "os-locale": "1.4.0", + "read-pkg-up": "1.0.1", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "1.0.2", + "which-module": "1.0.0", + "y18n": "3.2.1", + "yargs-parser": "4.2.1" + } + }, + "yargs-parser": { + "version": "4.2.1", + "resolved": "http://registry.npm.taobao.org/yargs-parser/download/yargs-parser-4.2.1.tgz", + "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", + "dev": true, + "requires": { + "camelcase": "3.0.0" + } + } + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/which-module/download/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "yargs": { + "version": "8.0.2", + "resolved": "http://registry.npm.taobao.org/yargs/download/yargs-8.0.2.tgz", + "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", + "dev": true, + "requires": { + "camelcase": "4.1.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.2", + "os-locale": "2.1.0", + "read-pkg-up": "2.0.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "7.0.0" + } + }, + "yargs-parser": { + "version": "7.0.0", + "resolved": "http://registry.npm.taobao.org/yargs-parser/download/yargs-parser-7.0.0.tgz", + "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", + "dev": true, + "requires": { + "camelcase": "4.1.0" + } + } } }, "@angular/common": { @@ -213,27 +647,25 @@ "integrity": "sha1-w6DFRNYjkqzCgTpCyKDcb1j4aSI=", "dev": true }, - "@ngtools/webpack": { - "version": "1.6.1", - "resolved": "http://registry.npm.taobao.org/@ngtools/webpack/download/@ngtools/webpack-1.6.1.tgz", - "integrity": "sha1-JH+neTep3yOnzEmf7jBbywV0Wxg=", - "dev": true, - "requires": { - "loader-utils": "1.1.0", - "magic-string": "0.22.4", - "source-map": "0.5.6" - } - }, "@ngx-translate/core": { - "version": "7.2.2", - "resolved": "http://registry.npm.taobao.org/@ngx-translate/core/download/@ngx-translate/core-7.2.2.tgz", - "integrity": "sha1-5wBp1e+Og36jNuaJB3N4b177XeU=" + "version": "8.0.0", + "resolved": "http://registry.npm.taobao.org/@ngx-translate/core/download/@ngx-translate/core-8.0.0.tgz", + "integrity": "sha1-dR/WtRLYDzp0jS3o38lt/vopr+A=" }, "@ngx-translate/http-loader": { "version": "1.1.0", "resolved": "http://registry.npm.taobao.org/@ngx-translate/http-loader/download/@ngx-translate/http-loader-1.1.0.tgz", "integrity": "sha1-opMmDOpvYXhKb/nFWklz6pd43OI=" }, + "@schematics/angular": { + "version": "0.0.49", + "resolved": "http://registry.npm.taobao.org/@schematics/angular/download/@schematics/angular-0.0.49.tgz", + "integrity": "sha1-wAylc3VtannuUYsF6rX+bntz80E=", + "dev": true, + "requires": { + "@angular-devkit/core": "0.0.20" + } + }, "@types/jasmine": { "version": "2.5.53", "resolved": "http://registry.npm.taobao.org/@types/jasmine/download/@types/jasmine-2.5.53.tgz", @@ -377,17 +809,6 @@ "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", "dev": true }, - "angular-in-memory-web-api": { - "version": "0.3.2", - "resolved": "http://10.75.8.148/repository/npm-pub/angular-in-memory-web-api/-/angular-in-memory-web-api-0.3.2.tgz", - "integrity": "sha1-iDbZ4lNNN7co88taHK9v4ef7vs0=" - }, - "ansi-escapes": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/ansi-escapes/download/ansi-escapes-2.0.0.tgz", - "integrity": "sha1-W65SvkJIeN2Xg+iRDj/Cki6DyBs=", - "dev": true - }, "ansi-html": { "version": "0.0.7", "resolved": "http://registry.npm.taobao.org/ansi-html/download/ansi-html-0.0.7.tgz", @@ -1094,6 +1515,12 @@ } } }, + "buffer-from": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/buffer-from/download/buffer-from-1.0.0.tgz", + "integrity": "sha1-TLiDLSNhJYmwQG6eKVbBfwb99TE=", + "dev": true + }, "buffer-indexof": { "version": "1.1.0", "resolved": "http://registry.npm.taobao.org/buffer-indexof/download/buffer-indexof-1.1.0.tgz", @@ -1124,6 +1551,50 @@ "integrity": "sha1-TJQj6i0lLCcMQbK97+/5u2tiwGo=", "dev": true }, + "cacache": { + "version": "10.0.4", + "resolved": "http://registry.npm.taobao.org/cacache/download/cacache-10.0.4.tgz", + "integrity": "sha1-ZFI2eZnv+dQYiu/ZoU6dfGomNGA=", + "dev": true, + "requires": { + "bluebird": "3.5.1", + "chownr": "1.0.1", + "glob": "7.1.2", + "graceful-fs": "4.1.11", + "lru-cache": "4.1.1", + "mississippi": "2.0.0", + "mkdirp": "0.5.1", + "move-concurrently": "1.0.1", + "promise-inflight": "1.0.1", + "rimraf": "2.6.2", + "ssri": "5.3.0", + "unique-filename": "1.1.0", + "y18n": "4.0.0" + }, + "dependencies": { + "bluebird": { + "version": "3.5.1", + "resolved": "http://registry.npm.taobao.org/bluebird/download/bluebird-3.5.1.tgz", + "integrity": "sha1-2VUfnemPH82h5oPRfukaBgLuLrk=", + "dev": true + }, + "rimraf": { + "version": "2.6.2", + "resolved": "http://registry.npm.taobao.org/rimraf/download/rimraf-2.6.2.tgz", + "integrity": "sha1-LtgVDSShbqhlHm1u8PR8QVjOejY=", + "dev": true, + "requires": { + "glob": "7.1.2" + } + }, + "y18n": { + "version": "4.0.0", + "resolved": "http://registry.npm.taobao.org/y18n/download/y18n-4.0.0.tgz", + "integrity": "sha1-le+U+F7MgdAHwmThkKEg8KPIVms=", + "dev": true + } + } + }, "callsite": { "version": "1.0.0", "resolved": "http://registry.npm.taobao.org/callsite/download/callsite-1.0.0.tgz", @@ -1235,6 +1706,12 @@ } } }, + "charenc": { + "version": "0.0.2", + "resolved": "http://registry.npm.taobao.org/charenc/download/charenc-0.0.2.tgz", + "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=", + "dev": true + }, "chokidar": { "version": "1.7.0", "resolved": "http://registry.npm.taobao.org/chokidar/download/chokidar-1.7.0.tgz", @@ -1251,6 +1728,12 @@ "readdirp": "2.1.0" } }, + "chownr": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/chownr/download/chownr-1.0.1.tgz", + "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=", + "dev": true + }, "cipher-base": { "version": "1.0.4", "resolved": "http://registry.npm.taobao.org/cipher-base/download/cipher-base-1.0.4.tgz", @@ -1306,21 +1789,6 @@ "source-map": "0.5.6" } }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "http://registry.npm.taobao.org/cli-cursor/download/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "dev": true, - "requires": { - "restore-cursor": "2.0.0" - } - }, - "cli-width": { - "version": "2.1.0", - "resolved": "http://registry.npm.taobao.org/cli-width/download/cli-width-2.1.0.tgz", - "integrity": "sha1-sjTKIJsp72b8UY2bmNWEewDt8Ao=", - "dev": true - }, "cliui": { "version": "3.2.0", "resolved": "http://registry.npm.taobao.org/cliui/download/cliui-3.2.0.tgz", @@ -1492,6 +1960,12 @@ "babel-runtime": "6.26.0" } }, + "commondir": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/commondir/download/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, "component-bind": { "version": "1.0.0", "resolved": "http://registry.npm.taobao.org/component-bind/download/component-bind-1.0.0.tgz", @@ -1540,6 +2014,56 @@ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, + "concat-stream": { + "version": "1.6.2", + "resolved": "http://registry.npm.taobao.org/concat-stream/download/concat-stream-1.6.2.tgz", + "integrity": "sha1-kEvfGUzTEi/Gdcd/xKw9T/D9GjQ=", + "dev": true, + "requires": { + "buffer-from": "1.0.0", + "inherits": "2.0.3", + "readable-stream": "2.3.5", + "typedarray": "0.0.6" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.0.tgz", + "integrity": "sha1-o31zL0JxtKsa0HDTVQjoKQeI/6o=", + "dev": true + }, + "readable-stream": { + "version": "2.3.5", + "resolved": "http://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.5.tgz", + "integrity": "sha1-tPhQA6k4y7bsvOKhJPsQEr0ag40=", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.1", + "string_decoder": "1.0.3", + "util-deprecate": "1.0.2" + } + }, + "string_decoder": { + "version": "1.0.3", + "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.0.3.tgz", + "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=", + "dev": true, + "requires": { + "safe-buffer": "5.1.1" + } + } + } + }, "connect": { "version": "3.6.3", "resolved": "http://registry.npm.taobao.org/connect/download/connect-3.6.3.tgz", @@ -1609,6 +2133,73 @@ "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", "dev": true }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "http://registry.npm.taobao.org/copy-concurrently/download/copy-concurrently-1.0.5.tgz", + "integrity": "sha1-kilzmMrjSTf8r9bsgTnBgFHwteA=", + "dev": true, + "requires": { + "aproba": "1.1.2", + "fs-write-stream-atomic": "1.0.10", + "iferr": "0.1.5", + "mkdirp": "0.5.1", + "rimraf": "2.6.1", + "run-queue": "1.0.3" + } + }, + "copy-webpack-plugin": { + "version": "4.5.1", + "resolved": "http://registry.npm.taobao.org/copy-webpack-plugin/download/copy-webpack-plugin-4.5.1.tgz", + "integrity": "sha1-/E9o9K3YN8xeE9ERsgcVeTIl0pw=", + "dev": true, + "requires": { + "cacache": "10.0.4", + "find-cache-dir": "1.0.0", + "globby": "7.1.1", + "is-glob": "4.0.0", + "loader-utils": "1.1.0", + "minimatch": "3.0.4", + "p-limit": "1.1.0", + "serialize-javascript": "1.4.0" + }, + "dependencies": { + "globby": { + "version": "7.1.1", + "resolved": "http://registry.npm.taobao.org/globby/download/globby-7.1.1.tgz", + "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", + "dev": true, + "requires": { + "array-union": "1.0.2", + "dir-glob": "2.0.0", + "glob": "7.1.2", + "ignore": "3.3.7", + "pify": "3.0.0", + "slash": "1.0.0" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "http://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-glob": { + "version": "4.0.0", + "resolved": "http://registry.npm.taobao.org/is-glob/download/is-glob-4.0.0.tgz", + "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "dev": true, + "requires": { + "is-extglob": "2.1.1" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "http://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, "core-js": { "version": "2.5.0", "resolved": "http://registry.npm.taobao.org/core-js/download/core-js-2.5.0.tgz", @@ -1699,6 +2290,12 @@ "which": "1.3.0" } }, + "crypt": { + "version": "0.0.2", + "resolved": "http://registry.npm.taobao.org/crypt/download/crypt-0.0.2.tgz", + "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=", + "dev": true + }, "cryptiles": { "version": "2.0.5", "resolved": "http://registry.npm.taobao.org/cryptiles/download/cryptiles-2.0.5.tgz", @@ -1869,6 +2466,12 @@ "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=", "dev": true }, + "cyclist": { + "version": "0.2.2", + "resolved": "http://registry.npm.taobao.org/cyclist/download/cyclist-0.2.2.tgz", + "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=", + "dev": true + }, "d": { "version": "1.0.0", "resolved": "http://registry.npm.taobao.org/d/download/d-1.0.0.tgz", @@ -2042,6 +2645,33 @@ "randombytes": "2.0.5" } }, + "dir-glob": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/dir-glob/download/dir-glob-2.0.0.tgz", + "integrity": "sha1-CyBdK2rvmCOMooZZioIE0p0KADQ=", + "dev": true, + "requires": { + "arrify": "1.0.1", + "path-type": "3.0.0" + }, + "dependencies": { + "path-type": { + "version": "3.0.0", + "resolved": "http://registry.npm.taobao.org/path-type/download/path-type-3.0.0.tgz", + "integrity": "sha1-zvMdyOCho7sNEFwM2Xzzv0f0428=", + "dev": true, + "requires": { + "pify": "3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "http://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, "directory-encoder": { "version": "0.7.2", "resolved": "http://registry.npm.taobao.org/directory-encoder/download/directory-encoder-0.7.2.tgz", @@ -2179,6 +2809,56 @@ "domelementtype": "1.3.0" } }, + "duplexify": { + "version": "3.5.4", + "resolved": "http://registry.npm.taobao.org/duplexify/download/duplexify-3.5.4.tgz", + "integrity": "sha1-S7RsF5bqvr7sTKmi5muAjLej2LQ=", + "dev": true, + "requires": { + "end-of-stream": "1.4.1", + "inherits": "2.0.3", + "readable-stream": "2.3.5", + "stream-shift": "1.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.0.tgz", + "integrity": "sha1-o31zL0JxtKsa0HDTVQjoKQeI/6o=", + "dev": true + }, + "readable-stream": { + "version": "2.3.5", + "resolved": "http://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.5.tgz", + "integrity": "sha1-tPhQA6k4y7bsvOKhJPsQEr0ag40=", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.1", + "string_decoder": "1.0.3", + "util-deprecate": "1.0.2" + } + }, + "string_decoder": { + "version": "1.0.3", + "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.0.3.tgz", + "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=", + "dev": true, + "requires": { + "safe-buffer": "5.1.1" + } + } + } + }, "ecc-jsbn": { "version": "0.1.1", "resolved": "http://registry.npm.taobao.org/ecc-jsbn/download/ecc-jsbn-0.1.1.tgz", @@ -2195,6 +2875,12 @@ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", "dev": true }, + "ejs": { + "version": "2.5.8", + "resolved": "http://registry.npm.taobao.org/ejs/download/ejs-2.5.8.tgz", + "integrity": "sha1-KraVRhnyJeYZO3rF98OcSP7+Q4A=", + "dev": true + }, "electron-to-chromium": { "version": "1.3.18", "resolved": "http://registry.npm.taobao.org/electron-to-chromium/download/electron-to-chromium-1.3.18.tgz", @@ -2216,15 +2902,6 @@ "minimalistic-crypto-utils": "1.0.1" } }, - "ember-cli-normalize-entity-name": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/ember-cli-normalize-entity-name/download/ember-cli-normalize-entity-name-1.0.0.tgz", - "integrity": "sha1-CxT3vLxZmqEXtf3cgeT9A8S61bc=", - "dev": true, - "requires": { - "silent-error": "1.1.0" - } - }, "ember-cli-string-utils": { "version": "1.1.0", "resolved": "http://registry.npm.taobao.org/ember-cli-string-utils/download/ember-cli-string-utils-1.1.0.tgz", @@ -2243,6 +2920,15 @@ "integrity": "sha1-eePVhlU0aQn+bw9Fpd5oEDspTSA=", "dev": true }, + "end-of-stream": { + "version": "1.4.1", + "resolved": "http://registry.npm.taobao.org/end-of-stream/download/end-of-stream-1.4.1.tgz", + "integrity": "sha1-7SljTRm6ukY7bOa4CjchPqtx7EM=", + "dev": true, + "requires": { + "once": "1.4.0" + } + }, "engine.io": { "version": "1.8.3", "resolved": "http://registry.npm.taobao.org/engine.io/download/engine.io-1.8.3.tgz", @@ -2343,12 +3029,6 @@ "tapable": "0.2.8" } }, - "ensure-posix-path": { - "version": "1.0.2", - "resolved": "http://registry.npm.taobao.org/ensure-posix-path/download/ensure-posix-path-1.0.2.tgz", - "integrity": "sha1-pls+QtC3HPxYXrd0+ZQ8jZuRsMI=", - "dev": true - }, "ent": { "version": "2.2.0", "resolved": "http://registry.npm.taobao.org/ent/download/ent-2.2.0.tgz", @@ -2709,17 +3389,6 @@ "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", "dev": true }, - "external-editor": { - "version": "2.0.4", - "resolved": "http://registry.npm.taobao.org/external-editor/download/external-editor-2.0.4.tgz", - "integrity": "sha1-HtkZnanL/i7y96MbL96LDRI2iXI=", - "dev": true, - "requires": { - "iconv-lite": "0.4.18", - "jschardet": "1.5.1", - "tmp": "0.0.31" - } - }, "extglob": { "version": "0.3.2", "resolved": "http://registry.npm.taobao.org/extglob/download/extglob-0.3.2.tgz", @@ -2768,15 +3437,6 @@ "websocket-driver": "0.6.5" } }, - "figures": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/figures/download/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", - "dev": true, - "requires": { - "escape-string-regexp": "1.0.5" - } - }, "file-loader": { "version": "0.10.1", "resolved": "http://registry.npm.taobao.org/file-loader/download/file-loader-0.10.1.tgz", @@ -2847,6 +3507,17 @@ "unpipe": "1.0.0" } }, + "find-cache-dir": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-1.0.0.tgz", + "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", + "dev": true, + "requires": { + "commondir": "1.0.1", + "make-dir": "1.2.0", + "pkg-dir": "2.0.0" + } + }, "find-up": { "version": "1.1.2", "resolved": "http://registry.npm.taobao.org/find-up/download/find-up-1.1.2.tgz", @@ -2863,6 +3534,54 @@ "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=", "dev": true }, + "flush-write-stream": { + "version": "1.0.3", + "resolved": "http://registry.npm.taobao.org/flush-write-stream/download/flush-write-stream-1.0.3.tgz", + "integrity": "sha1-xdWG7zivYJdlC0m8QbVfq7GfNb0=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.5" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.0.tgz", + "integrity": "sha1-o31zL0JxtKsa0HDTVQjoKQeI/6o=", + "dev": true + }, + "readable-stream": { + "version": "2.3.5", + "resolved": "http://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.5.tgz", + "integrity": "sha1-tPhQA6k4y7bsvOKhJPsQEr0ag40=", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.1", + "string_decoder": "1.0.3", + "util-deprecate": "1.0.2" + } + }, + "string_decoder": { + "version": "1.0.3", + "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.0.3.tgz", + "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=", + "dev": true, + "requires": { + "safe-buffer": "5.1.1" + } + } + } + }, "font-awesome": { "version": "4.7.0", "resolved": "http://10.75.8.148/repository/npm-pub/font-awesome/-/font-awesome-4.7.0.tgz", @@ -2912,6 +3631,54 @@ "integrity": "sha1-9HTKXmqSRtb9jglTz6m5yAWvp44=", "dev": true }, + "from2": { + "version": "2.3.0", + "resolved": "http://registry.npm.taobao.org/from2/download/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.5" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.0.tgz", + "integrity": "sha1-o31zL0JxtKsa0HDTVQjoKQeI/6o=", + "dev": true + }, + "readable-stream": { + "version": "2.3.5", + "resolved": "http://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.5.tgz", + "integrity": "sha1-tPhQA6k4y7bsvOKhJPsQEr0ag40=", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.1", + "string_decoder": "1.0.3", + "util-deprecate": "1.0.2" + } + }, + "string_decoder": { + "version": "1.0.3", + "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.0.3.tgz", + "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=", + "dev": true, + "requires": { + "safe-buffer": "5.1.1" + } + } + } + }, "fs-access": { "version": "1.0.1", "resolved": "http://registry.npm.taobao.org/fs-access/download/fs-access-1.0.1.tgz", @@ -2932,6 +3699,18 @@ "universalify": "0.1.1" } }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "http://registry.npm.taobao.org/fs-write-stream-atomic/download/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "iferr": "0.1.5", + "imurmurhash": "0.1.4", + "readable-stream": "1.0.34" + } + }, "fs.realpath": { "version": "1.0.0", "resolved": "http://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz", @@ -3524,12 +4303,6 @@ "extend": "3.0.1" } }, - "iconv-lite": { - "version": "0.4.18", - "resolved": "http://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.18.tgz", - "integrity": "sha1-I9hlaxaq5nQqwpcy6o8DNqR4nPI=", - "dev": true - }, "icss-replace-symbols": { "version": "1.1.0", "resolved": "http://registry.npm.taobao.org/icss-replace-symbols/download/icss-replace-symbols-1.1.0.tgz", @@ -3579,6 +4352,18 @@ "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=", "dev": true }, + "iferr": { + "version": "0.1.5", + "resolved": "http://registry.npm.taobao.org/iferr/download/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true + }, + "ignore": { + "version": "3.3.7", + "resolved": "http://registry.npm.taobao.org/ignore/download/ignore-3.3.7.tgz", + "integrity": "sha1-YSKJv7PCIOGGpYEYYY1b6MG6sCE=", + "dev": true + }, "image-size": { "version": "0.5.5", "resolved": "http://registry.npm.taobao.org/image-size/download/image-size-0.5.5.tgz", @@ -3595,6 +4380,12 @@ "xmldom": "0.1.27" } }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "http://registry.npm.taobao.org/imurmurhash/download/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, "in-publish": { "version": "2.0.0", "resolved": "http://registry.npm.taobao.org/in-publish/download/in-publish-2.0.0.tgz", @@ -3623,12 +4414,6 @@ "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", "dev": true }, - "inflection": { - "version": "1.12.0", - "resolved": "http://registry.npm.taobao.org/inflection/download/inflection-1.12.0.tgz", - "integrity": "sha1-ogCTVlbW9fa8TcdQLhrstwMihBY=", - "dev": true - }, "inflight": { "version": "1.0.6", "resolved": "http://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz", @@ -3651,45 +4436,6 @@ "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=", "dev": true }, - "inquirer": { - "version": "3.2.2", - "resolved": "http://registry.npm.taobao.org/inquirer/download/inquirer-3.2.2.tgz", - "integrity": "sha1-wqrt4VB8xU2CaBhzd0LWIb7y6CM=", - "dev": true, - "requires": { - "ansi-escapes": "2.0.0", - "chalk": "2.1.0", - "cli-cursor": "2.1.0", - "cli-width": "2.1.0", - "external-editor": "2.0.4", - "figures": "2.0.0", - "lodash": "4.17.4", - "mute-stream": "0.0.7", - "run-async": "2.3.0", - "rx-lite": "4.0.8", - "rx-lite-aggregates": "4.0.8", - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "through": "2.3.8" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "3.0.0" - } - } - } - }, "internal-ip": { "version": "1.2.0", "resolved": "http://registry.npm.taobao.org/internal-ip/download/internal-ip-1.2.0.tgz", @@ -3885,12 +4631,6 @@ "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", "dev": true }, - "is-promise": { - "version": "2.1.0", - "resolved": "http://registry.npm.taobao.org/is-promise/download/is-promise-2.1.0.tgz", - "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", - "dev": true - }, "is-stream": { "version": "1.1.0", "resolved": "http://registry.npm.taobao.org/is-stream/download/is-stream-1.1.0.tgz", @@ -4243,12 +4983,6 @@ "dev": true, "optional": true }, - "jschardet": { - "version": "1.5.1", - "resolved": "http://registry.npm.taobao.org/jschardet/download/jschardet-1.5.1.tgz", - "integrity": "sha1-xRn2KfhrOlvtuliojTETCe7Al/k=", - "dev": true - }, "jsesc": { "version": "0.5.0", "resolved": "http://registry.npm.taobao.org/jsesc/download/jsesc-0.5.0.tgz", @@ -4316,9 +5050,9 @@ "dev": true }, "jsplumb": { - "version": "2.5.0", - "resolved": "http://registry.npm.taobao.org/jsplumb/download/jsplumb-2.5.0.tgz", - "integrity": "sha1-5gLBaEKKcYiYr6Kmm8lmldlhjiQ=" + "version": "2.5.1", + "resolved": "http://registry.npm.taobao.org/jsplumb/download/jsplumb-2.5.1.tgz", + "integrity": "sha1-PMVAJJhdzJHSeUOARSJkH/qu3L4=" }, "jsprim": { "version": "1.4.1", @@ -4505,15 +5239,6 @@ } } }, - "license-webpack-plugin": { - "version": "0.5.1", - "resolved": "http://registry.npm.taobao.org/license-webpack-plugin/download/license-webpack-plugin-0.5.1.tgz", - "integrity": "sha1-aNivEDSGqcTrzt237V071h84O+Q=", - "dev": true, - "requires": { - "object-assign": "4.1.1" - } - }, "load-json-file": { "version": "1.1.0", "resolved": "http://registry.npm.taobao.org/load-json-file/download/load-json-file-1.1.0.tgz", @@ -4630,6 +5355,12 @@ } } }, + "loglevel": { + "version": "1.6.1", + "resolved": "http://registry.npm.taobao.org/loglevel/download/loglevel-1.6.1.tgz", + "integrity": "sha1-4PyVEztu8nbNyIh82vJKpvFW+Po=", + "dev": true + }, "longest": { "version": "1.0.1", "resolved": "http://registry.npm.taobao.org/longest/download/longest-1.0.1.tgz", @@ -4686,6 +5417,23 @@ "vlq": "0.2.2" } }, + "make-dir": { + "version": "1.2.0", + "resolved": "http://registry.npm.taobao.org/make-dir/download/make-dir-1.2.0.tgz", + "integrity": "sha1-bWpJ7q1KrilsU7vzoaAIvWyJRps=", + "dev": true, + "requires": { + "pify": "3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "http://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, "make-error": { "version": "1.3.0", "resolved": "http://registry.npm.taobao.org/make-error/download/make-error-1.3.0.tgz", @@ -4698,21 +5446,23 @@ "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", "dev": true }, - "matcher-collection": { - "version": "1.0.4", - "resolved": "http://registry.npm.taobao.org/matcher-collection/download/matcher-collection-1.0.4.tgz", - "integrity": "sha1-L2auCGmZbynkPQtiyD3R1D5YF1U=", - "dev": true, - "requires": { - "minimatch": "3.0.4" - } - }, "math-expression-evaluator": { "version": "1.2.17", "resolved": "http://registry.npm.taobao.org/math-expression-evaluator/download/math-expression-evaluator-1.2.17.tgz", "integrity": "sha1-3oGf282E3M2PrlnGrreWFbnSZqw=", "dev": true }, + "md5": { + "version": "2.2.1", + "resolved": "http://registry.npm.taobao.org/md5/download/md5-2.2.1.tgz", + "integrity": "sha1-U6s41f48iJG6RlMp6iP6wFQBJvk=", + "dev": true, + "requires": { + "charenc": "0.0.2", + "crypt": "0.0.2", + "is-buffer": "1.1.5" + } + }, "media-typer": { "version": "0.3.0", "resolved": "http://registry.npm.taobao.org/media-typer/download/media-typer-0.3.0.tgz", @@ -4893,6 +5643,24 @@ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", "dev": true }, + "mississippi": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/mississippi/download/mississippi-2.0.0.tgz", + "integrity": "sha1-NEKlCPr8KFAEhv7qmUCWduTuWm8=", + "dev": true, + "requires": { + "concat-stream": "1.6.2", + "duplexify": "3.5.4", + "end-of-stream": "1.4.1", + "flush-write-stream": "1.0.3", + "from2": "2.3.0", + "parallel-transform": "1.1.0", + "pump": "2.0.1", + "pumpify": "1.4.0", + "stream-each": "1.2.2", + "through2": "2.0.3" + } + }, "mixin-object": { "version": "2.0.1", "resolved": "http://registry.npm.taobao.org/mixin-object/download/mixin-object-2.0.1.tgz", @@ -4920,6 +5688,20 @@ "minimist": "0.0.8" } }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/move-concurrently/download/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dev": true, + "requires": { + "aproba": "1.1.2", + "copy-concurrently": "1.0.5", + "fs-write-stream-atomic": "1.0.10", + "mkdirp": "0.5.1", + "rimraf": "2.6.1", + "run-queue": "1.0.3" + } + }, "ms": { "version": "2.0.0", "resolved": "http://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz", @@ -4942,12 +5724,6 @@ "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", "dev": true }, - "mute-stream": { - "version": "0.0.7", - "resolved": "http://registry.npm.taobao.org/mute-stream/download/mute-stream-0.0.7.tgz", - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", - "dev": true - }, "nan": { "version": "2.6.2", "resolved": "http://registry.npm.taobao.org/nan/download/nan-2.6.2.tgz", @@ -4976,9 +5752,9 @@ "integrity": "sha1-Ce0G2Qj187sj+CGg+0UumhfXZls=" }, "ngx-tree-select": { - "version": "0.11.1", - "resolved": "http://10.75.8.148/repository/npm-pub/ngx-tree-select/-/ngx-tree-select-0.11.1.tgz", - "integrity": "sha1-r2hQgxyUPZDznDotDvIpYh7DH5M=" + "version": "0.13.3", + "resolved": "http://registry.npm.taobao.org/ngx-tree-select/download/ngx-tree-select-0.13.3.tgz", + "integrity": "sha1-OZp+fOF8JwYJdIhxmNMUZy3h4Rw=" }, "no-case": { "version": "2.3.1", @@ -5323,15 +6099,6 @@ "wrappy": "1.0.2" } }, - "onetime": { - "version": "2.0.1", - "resolved": "http://registry.npm.taobao.org/onetime/download/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "dev": true, - "requires": { - "mimic-fn": "1.1.0" - } - }, "opn": { "version": "5.1.0", "resolved": "http://registry.npm.taobao.org/opn/download/opn-5.1.0.tgz", @@ -5394,6 +6161,7 @@ "resolved": "http://registry.npm.taobao.org/os-locale/download/os-locale-1.4.0.tgz", "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", "dev": true, + "optional": true, "requires": { "lcid": "1.0.0" } @@ -5447,6 +6215,55 @@ "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=", "dev": true }, + "parallel-transform": { + "version": "1.1.0", + "resolved": "http://registry.npm.taobao.org/parallel-transform/download/parallel-transform-1.1.0.tgz", + "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=", + "dev": true, + "requires": { + "cyclist": "0.2.2", + "inherits": "2.0.3", + "readable-stream": "2.3.5" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.0.tgz", + "integrity": "sha1-o31zL0JxtKsa0HDTVQjoKQeI/6o=", + "dev": true + }, + "readable-stream": { + "version": "2.3.5", + "resolved": "http://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.5.tgz", + "integrity": "sha1-tPhQA6k4y7bsvOKhJPsQEr0ag40=", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.1", + "string_decoder": "1.0.3", + "util-deprecate": "1.0.2" + } + }, + "string_decoder": { + "version": "1.0.3", + "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.0.3.tgz", + "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=", + "dev": true, + "requires": { + "safe-buffer": "5.1.1" + } + } + } + }, "param-case": { "version": "2.1.1", "resolved": "http://registry.npm.taobao.org/param-case/download/param-case-2.1.1.tgz", @@ -5619,6 +6436,26 @@ "pinkie": "2.0.4" } }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/pkg-dir/download/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "requires": { + "find-up": "2.1.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "http://registry.npm.taobao.org/find-up/download/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "2.0.0" + } + } + } + }, "portfinder": { "version": "1.0.13", "resolved": "http://registry.npm.taobao.org/portfinder/download/portfinder-1.0.13.tgz", @@ -6190,9 +7027,9 @@ } }, "primeng": { - "version": "4.2.0-rc.1", - "resolved": "http://10.75.8.148/repository/npm-pub/primeng/-/primeng-4.2.0-rc.1.tgz", - "integrity": "sha1-Vzo8fvKbx6v3ywconsOa6xpTE28=" + "version": "4.3.0", + "resolved": "http://registry.npm.taobao.org/primeng/download/primeng-4.3.0.tgz", + "integrity": "sha1-aH7NHhoVjPDodC78fam5M4zUcMM=" }, "process": { "version": "0.11.10", @@ -6216,6 +7053,12 @@ "asap": "2.0.6" } }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/promise-inflight/download/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true + }, "protractor": { "version": "5.1.2", "resolved": "http://registry.npm.taobao.org/protractor/download/protractor-5.1.2.tgz", @@ -6367,6 +7210,27 @@ "randombytes": "2.0.5" } }, + "pump": { + "version": "2.0.1", + "resolved": "http://registry.npm.taobao.org/pump/download/pump-2.0.1.tgz", + "integrity": "sha1-Ejma3W5M91Jtlzy8i1zi4pCLOQk=", + "dev": true, + "requires": { + "end-of-stream": "1.4.1", + "once": "1.4.0" + } + }, + "pumpify": { + "version": "1.4.0", + "resolved": "http://registry.npm.taobao.org/pumpify/download/pumpify-1.4.0.tgz", + "integrity": "sha1-gLfF334kFT0D8OesigWl0Gi9B/s=", + "dev": true, + "requires": { + "duplexify": "3.5.4", + "inherits": "2.0.3", + "pump": "2.0.1" + } + }, "punycode": { "version": "1.4.1", "resolved": "http://registry.npm.taobao.org/punycode/download/punycode-1.4.1.tgz", @@ -6784,16 +7648,6 @@ "path-parse": "1.0.5" } }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/restore-cursor/download/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "dev": true, - "requires": { - "onetime": "2.0.1", - "signal-exit": "3.0.2" - } - }, "right-align": { "version": "0.1.3", "resolved": "http://registry.npm.taobao.org/right-align/download/right-align-0.1.3.tgz", @@ -6822,34 +7676,13 @@ "inherits": "2.0.3" } }, - "rsvp": { - "version": "3.6.2", - "resolved": "http://registry.npm.taobao.org/rsvp/download/rsvp-3.6.2.tgz", - "integrity": "sha1-LpZJFZmpbN4bUV1WdKj3qRRSkmo=", - "dev": true - }, - "run-async": { - "version": "2.3.0", - "resolved": "http://registry.npm.taobao.org/run-async/download/run-async-2.3.0.tgz", - "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", - "dev": true, - "requires": { - "is-promise": "2.1.0" - } - }, - "rx-lite": { - "version": "4.0.8", - "resolved": "http://registry.npm.taobao.org/rx-lite/download/rx-lite-4.0.8.tgz", - "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=", - "dev": true - }, - "rx-lite-aggregates": { - "version": "4.0.8", - "resolved": "http://registry.npm.taobao.org/rx-lite-aggregates/download/rx-lite-aggregates-4.0.8.tgz", - "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", + "run-queue": { + "version": "1.0.3", + "resolved": "http://registry.npm.taobao.org/run-queue/download/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", "dev": true, "requires": { - "rx-lite": "4.0.8" + "aproba": "1.1.2" } }, "rxjs": { @@ -6924,15 +7757,6 @@ "ajv": "5.2.2" } }, - "script-loader": { - "version": "0.7.0", - "resolved": "http://registry.npm.taobao.org/script-loader/download/script-loader-0.7.0.tgz", - "integrity": "sha1-aF3H5waeDe56kmdPDrxbD1W6pew=", - "dev": true, - "requires": { - "raw-loader": "0.5.1" - } - }, "scss-tokenizer": { "version": "0.2.3", "resolved": "http://registry.npm.taobao.org/scss-tokenizer/download/scss-tokenizer-0.2.3.tgz", @@ -7038,6 +7862,12 @@ } } }, + "serialize-javascript": { + "version": "1.4.0", + "resolved": "http://registry.npm.taobao.org/serialize-javascript/download/serialize-javascript-1.4.0.tgz", + "integrity": "sha1-fJWFFNtqwkQ6irwGLcn3iGp/YAU=", + "dev": true + }, "serve-index": { "version": "1.9.0", "resolved": "http://registry.npm.taobao.org/serve-index/download/serve-index-1.9.0.tgz", @@ -7151,6 +7981,12 @@ "debug": "2.6.8" } }, + "slash": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/slash/download/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true + }, "sntp": { "version": "1.0.9", "resolved": "http://registry.npm.taobao.org/sntp/download/sntp-1.0.9.tgz", @@ -7314,31 +8150,6 @@ } } }, - "sockjs-client": { - "version": "1.1.2", - "resolved": "http://registry.npm.taobao.org/sockjs-client/download/sockjs-client-1.1.2.tgz", - "integrity": "sha1-8CEqhVDkyUaMjM6u79LjSTwDOtU=", - "dev": true, - "requires": { - "debug": "2.6.8", - "eventsource": "0.1.6", - "faye-websocket": "0.11.1", - "inherits": "2.0.3", - "json3": "3.3.2", - "url-parse": "1.1.9" - }, - "dependencies": { - "faye-websocket": { - "version": "0.11.1", - "resolved": "http://registry.npm.taobao.org/faye-websocket/download/faye-websocket-0.11.1.tgz", - "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=", - "dev": true, - "requires": { - "websocket-driver": "0.6.5" - } - } - } - }, "sort-keys": { "version": "1.1.2", "resolved": "http://registry.npm.taobao.org/sort-keys/download/sort-keys-1.1.2.tgz", @@ -7521,6 +8332,15 @@ } } }, + "ssri": { + "version": "5.3.0", + "resolved": "http://registry.npm.taobao.org/ssri/download/ssri-5.3.0.tgz", + "integrity": "sha1-ujhyycbTOgcEp9cf8EXl7EiZnQY=", + "dev": true, + "requires": { + "safe-buffer": "5.1.1" + } + }, "statuses": { "version": "1.3.1", "resolved": "http://registry.npm.taobao.org/statuses/download/statuses-1.3.1.tgz", @@ -7614,6 +8434,16 @@ } } }, + "stream-each": { + "version": "1.2.2", + "resolved": "http://registry.npm.taobao.org/stream-each/download/stream-each-1.2.2.tgz", + "integrity": "sha1-joxGP5HaiZF3h2WHP+TZYNj2Fr0=", + "dev": true, + "requires": { + "end-of-stream": "1.4.1", + "stream-shift": "1.0.0" + } + }, "stream-http": { "version": "2.7.2", "resolved": "http://registry.npm.taobao.org/stream-http/download/stream-http-2.7.2.tgz", @@ -7659,6 +8489,12 @@ } } }, + "stream-shift": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/stream-shift/download/stream-shift-1.0.0.tgz", + "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", + "dev": true + }, "strict-uri-encode": { "version": "1.1.0", "resolved": "http://registry.npm.taobao.org/strict-uri-encode/download/strict-uri-encode-1.1.0.tgz", @@ -7855,24 +8691,6 @@ "inherits": "2.0.3" } }, - "temp": { - "version": "0.8.3", - "resolved": "http://registry.npm.taobao.org/temp/download/temp-0.8.3.tgz", - "integrity": "sha1-4Ma8TSa5AxJEEOT+2BEDAU38H1k=", - "dev": true, - "requires": { - "os-tmpdir": "1.0.2", - "rimraf": "2.2.8" - }, - "dependencies": { - "rimraf": { - "version": "2.2.8", - "resolved": "http://registry.npm.taobao.org/rimraf/download/rimraf-2.2.8.tgz", - "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=", - "dev": true - } - } - }, "tether": { "version": "1.4.0", "resolved": "http://10.75.8.148/repository/npm-pub/tether/-/tether-1.4.0.tgz", @@ -7884,6 +8702,54 @@ "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", "dev": true }, + "through2": { + "version": "2.0.3", + "resolved": "http://registry.npm.taobao.org/through2/download/through2-2.0.3.tgz", + "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", + "dev": true, + "requires": { + "readable-stream": "2.3.5", + "xtend": "4.0.1" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.0.tgz", + "integrity": "sha1-o31zL0JxtKsa0HDTVQjoKQeI/6o=", + "dev": true + }, + "readable-stream": { + "version": "2.3.5", + "resolved": "http://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.5.tgz", + "integrity": "sha1-tPhQA6k4y7bsvOKhJPsQEr0ag40=", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.1", + "string_decoder": "1.0.3", + "util-deprecate": "1.0.2" + } + }, + "string_decoder": { + "version": "1.0.3", + "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.0.3.tgz", + "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=", + "dev": true, + "requires": { + "safe-buffer": "5.1.1" + } + } + } + }, "thunky": { "version": "0.1.0", "resolved": "http://registry.npm.taobao.org/thunky/download/thunky-0.1.0.tgz", @@ -8098,10 +8964,16 @@ "mime-types": "2.1.16" } }, + "typedarray": { + "version": "0.0.6", + "resolved": "http://registry.npm.taobao.org/typedarray/download/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, "typescript": { - "version": "2.3.4", - "resolved": "http://registry.npm.taobao.org/typescript/download/typescript-2.3.4.tgz", - "integrity": "sha1-PTgyGCgjHkNPKHUUlZw3qCtin0I=", + "version": "2.4.2", + "resolved": "http://registry.npm.taobao.org/typescript/download/typescript-2.4.2.tgz", + "integrity": "sha1-+DlfhdRZJ2BnyYiqQYN6j4KHCEQ=", "dev": true }, "uglify-js": { @@ -8207,6 +9079,24 @@ "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", "dev": true }, + "unique-filename": { + "version": "1.1.0", + "resolved": "http://registry.npm.taobao.org/unique-filename/download/unique-filename-1.1.0.tgz", + "integrity": "sha1-0F8v5AMlYIcfMOk8vnNe6iAVFPM=", + "dev": true, + "requires": { + "unique-slug": "2.0.0" + } + }, + "unique-slug": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/unique-slug/download/unique-slug-2.0.0.tgz", + "integrity": "sha1-22Z258fMBimHj/GWCXx4hVrp9Ks=", + "dev": true, + "requires": { + "imurmurhash": "0.1.4" + } + }, "universalify": { "version": "0.1.1", "resolved": "http://registry.npm.taobao.org/universalify/download/universalify-0.1.1.tgz", @@ -8407,16 +9297,6 @@ "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=", "dev": true }, - "walk-sync": { - "version": "0.3.2", - "resolved": "http://registry.npm.taobao.org/walk-sync/download/walk-sync-0.3.2.tgz", - "integrity": "sha1-SCcoCvxC0OA1NnxKTjHurA0Tb3U=", - "dev": true, - "requires": { - "ensure-posix-path": "1.0.2", - "matcher-collection": "1.0.4" - } - }, "watchpack": { "version": "1.4.0", "resolved": "http://registry.npm.taobao.org/watchpack/download/watchpack-1.4.0.tgz", @@ -8647,116 +9527,77 @@ } } }, - "webpack-dev-middleware": { - "version": "1.12.0", - "resolved": "http://registry.npm.taobao.org/webpack-dev-middleware/download/webpack-dev-middleware-1.12.0.tgz", - "integrity": "sha1-007++y7dp+HTtdvgcolRMhllFwk=", - "dev": true, - "requires": { - "memory-fs": "0.4.1", - "mime": "1.3.6", - "path-is-absolute": "1.0.1", - "range-parser": "1.2.0", - "time-stamp": "2.0.0" - } - }, - "webpack-dev-server": { - "version": "2.5.1", - "resolved": "http://registry.npm.taobao.org/webpack-dev-server/download/webpack-dev-server-2.5.1.tgz", - "integrity": "sha1-oC5yaoe7YD211xq7fW0mSb8Qx2k=", + "webpack-concat-plugin": { + "version": "1.4.0", + "resolved": "http://registry.npm.taobao.org/webpack-concat-plugin/download/webpack-concat-plugin-1.4.0.tgz", + "integrity": "sha1-pus/AILQPHnY7i8VGMf0jkTuEsU=", "dev": true, "requires": { - "ansi-html": "0.0.7", - "bonjour": "3.5.0", - "chokidar": "1.7.0", - "compression": "1.7.0", - "connect-history-api-fallback": "1.3.0", - "del": "3.0.0", - "express": "4.15.4", - "html-entities": "1.2.1", - "http-proxy-middleware": "0.17.4", - "internal-ip": "1.2.0", - "opn": "4.0.2", - "portfinder": "1.0.13", - "selfsigned": "1.10.1", - "serve-index": "1.9.0", - "sockjs": "0.3.18", - "sockjs-client": "1.1.2", - "spdy": "3.4.7", - "strip-ansi": "3.0.1", - "supports-color": "3.2.3", - "webpack-dev-middleware": "1.12.0", - "yargs": "6.6.0" + "md5": "2.2.1", + "uglify-js": "2.8.29" }, "dependencies": { "camelcase": { - "version": "3.0.0", - "resolved": "http://registry.npm.taobao.org/camelcase/download/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "version": "1.2.1", + "resolved": "http://registry.npm.taobao.org/camelcase/download/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", "dev": true }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "cliui": { + "version": "2.1.0", + "resolved": "http://registry.npm.taobao.org/cliui/download/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", "dev": true, "requires": { - "number-is-nan": "1.0.1" + "center-align": "0.1.3", + "right-align": "0.1.3", + "wordwrap": "0.0.2" } }, - "opn": { - "version": "4.0.2", - "resolved": "http://registry.npm.taobao.org/opn/download/opn-4.0.2.tgz", - "integrity": "sha1-erwi5kTf9jsKltWrfyeQwPAavJU=", + "uglify-js": { + "version": "2.8.29", + "resolved": "http://registry.npm.taobao.org/uglify-js/download/uglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", "dev": true, "requires": { - "object-assign": "4.1.1", - "pinkie-promise": "2.0.1" + "source-map": "0.5.6", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" } }, - "string-width": { - "version": "1.0.2", - "resolved": "http://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } + "wordwrap": { + "version": "0.0.2", + "resolved": "http://registry.npm.taobao.org/wordwrap/download/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "dev": true }, "yargs": { - "version": "6.6.0", - "resolved": "http://registry.npm.taobao.org/yargs/download/yargs-6.6.0.tgz", - "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", + "version": "3.10.0", + "resolved": "http://registry.npm.taobao.org/yargs/download/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", "dev": true, "requires": { - "camelcase": "3.0.0", - "cliui": "3.2.0", + "camelcase": "1.2.1", + "cliui": "2.1.0", "decamelize": "1.2.0", - "get-caller-file": "1.0.2", - "os-locale": "1.4.0", - "read-pkg-up": "1.0.1", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "1.0.2", - "which-module": "1.0.0", - "y18n": "3.2.1", - "yargs-parser": "4.2.1" - } - }, - "yargs-parser": { - "version": "4.2.1", - "resolved": "http://registry.npm.taobao.org/yargs-parser/download/yargs-parser-4.2.1.tgz", - "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", - "dev": true, - "requires": { - "camelcase": "3.0.0" + "window-size": "0.1.0" } } } }, + "webpack-dev-middleware": { + "version": "1.12.0", + "resolved": "http://registry.npm.taobao.org/webpack-dev-middleware/download/webpack-dev-middleware-1.12.0.tgz", + "integrity": "sha1-007++y7dp+HTtdvgcolRMhllFwk=", + "dev": true, + "requires": { + "memory-fs": "0.4.1", + "mime": "1.3.6", + "path-is-absolute": "1.0.1", + "range-parser": "1.2.0", + "time-stamp": "2.0.0" + } + }, "webpack-merge": { "version": "4.1.0", "resolved": "http://registry.npm.taobao.org/webpack-merge/download/webpack-merge-4.1.0.tgz", @@ -8816,7 +9657,8 @@ "version": "1.0.0", "resolved": "http://registry.npm.taobao.org/which-module/download/which-module-1.0.0.tgz", "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", - "dev": true + "dev": true, + "optional": true }, "wide-align": { "version": "1.1.2", diff --git a/sdc-workflow-designer-ui/package.json b/sdc-workflow-designer-ui/package.json index 3cd612ec..b160f9e0 100644 --- a/sdc-workflow-designer-ui/package.json +++ b/sdc-workflow-designer-ui/package.json @@ -1,11 +1,21 @@ { - "name": "workflow-designer", + "name": "workflow-modeler", "version": "1.0.0", "license": "MIT", + "licenses": [ + { + "type": "Apache-2.0", + "url": "http://www.apache.org/licenses/LICENSE-2.0.html" + }, + { + "type": "Eclipse Public License-1.0", + "url": "http://www.eclipse.org/legal/epl-v10.html" + } + ], "scripts": { "ng": "ng", - "start": "ng serve", - "build": "ng build", + "start": "ng serve --host localhost --disable-host-check true", + "build": "ng build --prod --sm=true", "test": "ng test", "lint": "ng lint", "e2e": "ng e2e" @@ -23,24 +33,23 @@ "@angular/platform-browser": "^4.2.4", "@angular/platform-browser-dynamic": "^4.2.4", "@angular/router": "^4.2.4", - "@ngx-translate/core": "^7.2.0", + "@ngx-translate/core": "^8.0.0", "@ngx-translate/http-loader": "^1.0.2", - "angular-in-memory-web-api": "^0.3.2", "bootstrap": "4.0.0-alpha.6", "core-js": "^2.4.1", "date-fns": "^1.29.0", "font-awesome": "^4.7.0", "jquery": "^3.2.1", "jquery-ui": "^1.12.1", - "jsplumb": "2.5.0", + "jsplumb": "2.5.1", "ngx-bootstrap": "^1.9.1", - "ngx-tree-select": "^0.11.1", - "primeng": "^4.2.0-rc.1", + "ngx-tree-select": "^0.13.3", + "primeng": "^4.2.0", "rxjs": "^5.4.2", "zone.js": "^0.8.14" }, "devDependencies": { - "@angular/cli": "1.3.1", + "@angular/cli": "1.4.3", "@angular/compiler-cli": "^4.2.4", "@angular/language-service": "^4.2.4", "@types/jasmine": "~2.5.53", @@ -58,7 +67,7 @@ "protractor": "~5.1.2", "ts-node": "~3.2.0", "tslint": "~5.3.2", - "typescript": "~2.3.3", + "typescript": "~2.4.2", "webpack": "3.5.6" } } diff --git a/sdc-workflow-designer-ui/src/app/app.component.html b/sdc-workflow-designer-ui/src/app/app.component.html index 93788ec5..d629bbd9 100644 --- a/sdc-workflow-designer-ui/src/app/app.component.html +++ b/sdc-workflow-designer-ui/src/app/app.component.html @@ -11,15 +11,20 @@ * ZTE - initial API and implementation and/or initial documentation */ --> -
- -
- - -
- +
+ {{ 'WORKFLOW.UNAUTHORIZED' | translate }}
+
+
+ +
+ + +
+ +
-
-
+
+
+
\ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/app.component.ts b/sdc-workflow-designer-ui/src/app/app.component.ts index 54972b72..15796977 100644 --- a/sdc-workflow-designer-ui/src/app/app.component.ts +++ b/sdc-workflow-designer-ui/src/app/app.component.ts @@ -10,9 +10,13 @@ * ZTE - initial API and implementation and/or initial documentation */ -import { Component } from '@angular/core'; +import { Component, OnInit } from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; import { BroadcastService } from './services/broadcast.service'; +import { LOCATION_INITIALIZED } from '@angular/common'; +import { AuthService } from './services/auth.service'; +import { RestService } from './services/rest.service'; +import { ToscaService } from './services/tosca.service'; /** * main component @@ -22,9 +26,15 @@ import { BroadcastService } from './services/broadcast.service'; templateUrl: './app.component.html', styleUrls: ['./app.component.css'] }) -export class AppComponent { +export class AppComponent implements OnInit { + public isAuthorized = false; + public toscaLoaded = false; + public restLoaded = false; + public typeLoaded = true; - constructor(translate: TranslateService, private broadcastService: BroadcastService) { + constructor(translate: TranslateService, private authService: AuthService, + private broadcastService: BroadcastService, toscaService: ToscaService, + restService: RestService) { // Init the I18n function. // this language will be used as a fallback when a translation isn't found in the current language translate.setDefaultLang('en'); @@ -43,4 +53,20 @@ export class AppComponent { } translate.use(browserLang); } + + public ngOnInit() { + // this.broadcastService.openRight$.subscribe(hasRight => { + // this.isAuthorized = hasRight; + // }); + this.isAuthorized = true; + this.broadcastService.updateModelToscaConfig$.subscribe(tosca => { + this.toscaLoaded = true; + }); + this.broadcastService.updateModelRestConfig$.subscribe(swagger => { + this.restLoaded = true; + }); + this.broadcastService.updateNodeTypeConfig$.subscribe(type => { + this.typeLoaded = true; + }); + } } diff --git a/sdc-workflow-designer-ui/src/app/app.module.ts b/sdc-workflow-designer-ui/src/app/app.module.ts index 88ccbc1e..66ea97cd 100644 --- a/sdc-workflow-designer-ui/src/app/app.module.ts +++ b/sdc-workflow-designer-ui/src/app/app.module.ts @@ -9,10 +9,11 @@ * Contributors: * ZTE - initial API and implementation and/or initial documentation */ -import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; + import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { RouterModule } from '@angular/router'; +import {BrowserAnimationsModule} from "@angular/platform-browser/animations"; import { AccordionModule } from 'ngx-bootstrap/accordion'; import { AlertModule, ModalModule } from 'ngx-bootstrap/index'; import { NgxTreeSelectModule } from 'ngx-tree-select'; @@ -23,8 +24,8 @@ import { TranslateHttpLoader } from '@ngx-translate/http-loader'; import { AppComponent } from './app.component'; import { ContainerComponent } from './components/container/container.component'; import { EditablePropertyComponent } from './components/editable-property/editable-property.component'; -import { NodeParametersComponent } from './components/node-parameters/node-parameters.component'; -import { ParameterTreeComponent } from './components/node-parameters/parameter-tree/parameter-tree.component'; +import { NodeParametersComponent } from './components/property/rest-task/node-parameters/node-parameters.component'; +import { ParameterTreeComponent } from './components/property/rest-task/node-parameters/parameter-tree/parameter-tree.component'; import { NodeComponent } from './components/node/node.component'; import { ParameterComponent } from './components/parameter/parameter.component'; import { IntermediateCatchEventComponent } from './components/property/intermediate-catch-event/intermediate-catch-event.component'; @@ -41,25 +42,32 @@ import { ToolbarComponent } from './components/toolbar/toolbar.component'; import { ResizableDirective } from './directive/resizable/resizable.directive'; +import { AuthService } from './services/auth.service'; import { BroadcastService } from './services/broadcast.service'; -import { DataService } from './services/data/data.service'; +import { InterfaceService } from './services/interface.service'; import { JsPlumbService } from './services/jsplumb.service'; import { ModelService } from './services/model.service'; import { NoticeService } from './services/notice.service'; import { RestService } from './services/rest.service'; import { SwaggerTreeConverterService } from './services/swagger-tree-converter.service'; import { SettingService } from './services/setting.service'; +import { ToscaService } from './services/tosca.service'; import { SharedModule } from './shared/shared.module'; import { HttpService } from './util/http.service'; import { GlobalNoticeComponent } from './components/global-notice/global-notice.component'; import { MenusComponent } from './components/menus/menus.component'; import { ScriptTaskComponent } from "./components/property/script-task/script-task.component"; -import { WorkflowsComponent } from './components/menus/workflows/workflows.component'; -import { WorkflowService } from './services/workflow.service'; -import { InMemoryWebApiModule } from 'angular-in-memory-web-api'; -import { InMemoryDataService } from './services/data/in-memory-data.service'; -import { HttpModule } from '@angular/http'; +import { ToolbarNodeComponent } from "./components/toolbar/toolbar-node/toolbar-node.component"; +import { NodeTypeService } from "./services/node-type.service"; +import { DisplayInfoService } from "./services/display-info.service"; +import { ServiceTaskComponent } from './components/property/service-task/service-task.component'; +import { RestParametersComponent } from './components/property/rest-task/rest-parameters/rest-parameters.component'; +import {WfmInputModule} from "./shared/input/wfm-text-input.module"; +import { PlxTextInputModule } from "./paletx/plx-text-input/index"; +import { PlxTooltipModule } from "./paletx/plx-tooltip/plx-tooltip.module"; +import { PlxModalModule } from "./paletx/plx-modal/modal.module"; +import { PlxDatePickerModule } from "./paletx/plx-datepicker/picker.module"; // AoT requires an exported function for factories export function HttpLoaderFactory(http: HttpClient) { @@ -85,14 +93,17 @@ export function HttpLoaderFactory(http: HttpClient) { ScriptTaskComponent, StartEventComponent, ToolbarComponent, + ToolbarNodeComponent, RestConfigDetailComponent, RestConfigListComponent, ResizableDirective, GlobalNoticeComponent, MenusComponent, - WorkflowsComponent, + ServiceTaskComponent, + RestParametersComponent ], providers: [ + AuthService, BroadcastService, HttpService, JsPlumbService, @@ -100,28 +111,33 @@ export function HttpLoaderFactory(http: HttpClient) { NoticeService, RestService, SwaggerTreeConverterService, - DataService, + InterfaceService, SettingService, - WorkflowService + ToscaService, + NodeTypeService, + DisplayInfoService ], imports: [ AccordionModule.forRoot(), AlertModule.forRoot(), - BrowserAnimationsModule, BrowserModule, - HttpModule, - InMemoryWebApiModule.forRoot(InMemoryDataService), + BrowserAnimationsModule, ModalModule.forRoot(), RouterModule.forRoot([]), SharedModule, + PlxTextInputModule, + PlxTooltipModule, + PlxModalModule.forRoot(), + PlxDatePickerModule, NgxTreeSelectModule.forRoot({ allowFilter: true, - filterPlaceholder: 'Type your filter here...', + // filterPlaceholder: 'Type your filter here...', maxVisibleItemCount: 5, idField: 'id', textField: 'name', childrenField: 'children', - allowParentSelection: false + allowParentSelection: false, + expandMode: 'Selection' }), HttpClientModule, TranslateModule.forRoot({ @@ -130,7 +146,8 @@ export function HttpLoaderFactory(http: HttpClient) { useFactory: HttpLoaderFactory, deps: [HttpClient] } - }) + }), + WfmInputModule ], bootstrap: [ AppComponent, diff --git a/sdc-workflow-designer-ui/src/app/components/container/container.component.html b/sdc-workflow-designer-ui/src/app/components/container/container.component.html index c40fbcda..40cdf7fa 100644 --- a/sdc-workflow-designer-ui/src/app/components/container/container.component.html +++ b/sdc-workflow-designer-ui/src/app/components/container/container.component.html @@ -14,9 +14,9 @@
- +
- + - \ No newline at end of file + \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/components/container/container.component.ts b/sdc-workflow-designer-ui/src/app/components/container/container.component.ts index 63ea84d9..5f317cb8 100644 --- a/sdc-workflow-designer-ui/src/app/components/container/container.component.ts +++ b/sdc-workflow-designer-ui/src/app/components/container/container.component.ts @@ -16,7 +16,7 @@ import { SequenceFlow } from '../../model/workflow/sequence-flow'; import { WorkflowElement } from '../../model/workflow/workflow-element'; import { WorkflowNode } from '../../model/workflow/workflow-node'; import { BroadcastService } from '../../services/broadcast.service'; -import { DataService } from '../../services/data/data.service'; +import { InterfaceService } from '../../services/interface.service'; import { JsPlumbService } from '../../services/jsplumb.service'; import { ModelService } from '../../services/model.service'; @@ -25,7 +25,7 @@ import { ModelService } from '../../services/model.service'; * bpmn task nodes can be dropped into this canvas, and then the workflow can be edit */ @Component({ - selector: 'b4t-container', + selector: 'wfm-container', templateUrl: 'container.component.html', styleUrls: ['./container.component.css'] }) @@ -40,7 +40,7 @@ export class ContainerComponent implements AfterViewChecked, AfterViewInit, OnIn private needInitSequence = false; constructor(private broadcastService: BroadcastService, private jsPlumbService: JsPlumbService, - private dataService: DataService, public modelService: ModelService) { + private interfaceService: InterfaceService, public modelService: ModelService) { } @HostListener('window:keyup.delete', ['$event']) ondelete(event: KeyboardEvent) { @@ -74,10 +74,7 @@ export class ContainerComponent implements AfterViewChecked, AfterViewInit, OnIn public ngOnInit() { this.jsPlumbService.initJsPlumbInstance(this.modelService.rootNodeId); - this.broadcastService.backendServiceReady$.subscribe(() => { - this.dataService.initData(); - }); - this.broadcastService.planModel$.subscribe(() => { + this.broadcastService.initModel$.subscribe(() => { this.needInitSequence = true; }); this.broadcastService.showProperty$.subscribe(element=>{ diff --git a/sdc-workflow-designer-ui/src/app/components/editable-property/editable-property.component.html b/sdc-workflow-designer-ui/src/app/components/editable-property/editable-property.component.html index 3c804efb..eb59b3c4 100644 --- a/sdc-workflow-designer-ui/src/app/components/editable-property/editable-property.component.html +++ b/sdc-workflow-designer-ui/src/app/components/editable-property/editable-property.component.html @@ -1,5 +1,22 @@ - - \ No newline at end of file + +
+

+
{{value}}
+ +

+ + +
\ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/components/editable-property/editable-property.component.ts b/sdc-workflow-designer-ui/src/app/components/editable-property/editable-property.component.ts index ea965755..7f6ffbe2 100644 --- a/sdc-workflow-designer-ui/src/app/components/editable-property/editable-property.component.ts +++ b/sdc-workflow-designer-ui/src/app/components/editable-property/editable-property.component.ts @@ -10,44 +10,113 @@ * ZTE - initial API and implementation and/or initial documentation */ -import { Component, EventEmitter, Input, Output } from '@angular/core'; +import {Component, EventEmitter, Input, Output, ViewChild} from "@angular/core"; +import {TranslateService} from "@ngx-translate/core"; +import {isArray, isObject} from "util"; +import {ModelService} from "../../services/model.service"; +import {NoticeService} from "../../services/notice.service"; +import {NodeType} from "../../model/workflow/node-type.enum"; +import {ValueSource} from "../../model/value-source.enum"; +import {JsPlumbService} from "../../services/jsplumb.service"; +import {WorkflowNode} from "../../model/workflow/workflow-node"; /** * node or workflow-line name */ @Component({ - selector: 'b4t-editable-property', + selector: 'wfm-editable-property', templateUrl: 'editable-property.component.html', styleUrls: ['./editable-property.component.css'] }) export class EditablePropertyComponent { - @Input() public name: string; - @Output() public nameChange = new EventEmitter(); - - public showEdit = false; - public isEditing = false; - - public showEditComponent(isShow: boolean): void { - if(isShow){ - this.showEdit = isShow; - }else{ - if(!this.isEditing){ - this.showEdit = false; + @Input() public value: string; + @Output() public valueChange = new EventEmitter(); + @ViewChild('editInput') private editInput: any; + + public editValue = ''; + public editable = false; + + public preEdit(): void { + if (!this.editable) { + this.editable = true; + this.editValue = this.value; + } + } + + public afterEdit(): void { + if (this.editable) { + this.editable = false; + if (this.value === this.editValue) { + return; + } + + if (this.editInput.wfInput.valid) { + this.value = this.editValue; + this.valueChange.emit(this.value); + } else { + this.editValue = this.value; } } } - public startEdit(): void { - this.isEditing = true; + /*private validate(): boolean { + const nodes = this.modelService.getNodes(); + const existNode = nodes.find(node => node.id === this.editValue); + if (existNode) { + this.translate.get('WORKFLOW.MSG.NODE_ID_SAME', {value: existNode.id}).subscribe((res: string) => { + this.notice.error(res, 10000); + }); + return false; + } + return true; } - public stopEdit(): void { - this.isEditing = false; - this.showEdit = false; + private changeReferencedValue(): void { + const newNodeConnections = []; + const nodes = this.modelService.getNodes(); + nodes.forEach((node: any) => { + this.changeConnectionReferencedValue(node, this.value, this.editValue); + + if (node.type === NodeType[NodeType.restTask]) { + const parameters = node.parameters || []; + parameters.forEach(param => { + this.changeRestTaskReferencedValue(param, this.value, this.editValue); + }); + } + }); } - public change(newName: string) { - this.name = newName; - this.nameChange.emit(this.name); + private changeConnectionReferencedValue(node: WorkflowNode, oldValue: string, newValue: string): void { + node.connection.forEach(connection => { + if (connection.sourceRef === oldValue) { + connection.sourceRef = newValue; + } else if (connection.targetRef === oldValue) { + connection.targetRef = newValue; + } + }); } + + // 当restTaskē±»å˛‹ē„č‚ē‚¹ē„å±˛ę€§äø­valueSourceęÆPlanę—¶ļ¼valueē„值äøŗ引ē”Ø其他č‚ē‚¹id + // valueę ¼å¼¸äøŗ[restTask_2].[responseBody].[name]ļ¼å¸Æč½ę‰ę›´å¤å±‚ļ¼å½“ę—¶ē¬¬äø€äøŖ[]é‡é¯¢ē„值äøŗč¢«å¼•ē”Øč‚ē‚¹ē„id + private changeRestTaskReferencedValue(param: any, oldValue: string, newValue: string): void { + if (param.valueSource === ValueSource[ValueSource.Plan]) { + const value = param.value || ''; + const index = value.indexOf('].['); + if (index > -1) { + const nodeId = value.substring(1, index); + if (nodeId === oldValue) { + param.value = '[' + newValue + value.substring(index); + } + } + } else if (param.valueSource === ValueSource[ValueSource.Definition]) { + const value = param.value; + if (isArray(value)) { + value.forEach(subValue => { + this.changeRestTaskReferencedValue(subValue, oldValue, newValue); + }); + } else if (isObject(value)) { + this.changeRestTaskReferencedValue(value, oldValue, newValue); + } + } + }*/ } diff --git a/sdc-workflow-designer-ui/src/app/components/global-notice/global-notice.component.ts b/sdc-workflow-designer-ui/src/app/components/global-notice/global-notice.component.ts index 8ed4e252..35520683 100644 --- a/sdc-workflow-designer-ui/src/app/components/global-notice/global-notice.component.ts +++ b/sdc-workflow-designer-ui/src/app/components/global-notice/global-notice.component.ts @@ -17,7 +17,7 @@ import { NoticeType } from '../../model/notice-type.enum'; import { NoticeService } from '../../services/notice.service'; @Component({ - selector: 'global-notice', + selector: 'wfm-notice', templateUrl: './global-notice.component.html', styleUrls: ['./global-notice.component.css'] }) diff --git a/sdc-workflow-designer-ui/src/app/components/menus/menus.component.html b/sdc-workflow-designer-ui/src/app/components/menus/menus.component.html index ee758fea..9537bfd7 100644 --- a/sdc-workflow-designer-ui/src/app/components/menus/menus.component.html +++ b/sdc-workflow-designer-ui/src/app/components/menus/menus.component.html @@ -12,20 +12,43 @@ */ --> -
- +
+ + + +
-
- - - - -
- - + + + + diff --git a/sdc-workflow-designer-ui/src/app/components/menus/menus.component.ts b/sdc-workflow-designer-ui/src/app/components/menus/menus.component.ts index b58ec089..1c064f2c 100644 --- a/sdc-workflow-designer-ui/src/app/components/menus/menus.component.ts +++ b/sdc-workflow-designer-ui/src/app/components/menus/menus.component.ts @@ -11,72 +11,68 @@ */ import { Component, OnInit, ViewChild } from '@angular/core'; -import { WorkflowService } from '../../services/workflow.service'; -import { WorkflowsComponent } from "./workflows/workflows.component"; -import { BroadcastService } from "../../services/broadcast.service"; -import { PlanModel } from "../../model/plan-model"; +import { BroadcastService } from '../../services/broadcast.service'; +import { ModelService } from '../../services/model.service'; import { RestConfigComponent } from './rest-config/rest-config.component'; +import { AuthService } from '../../services/auth.service'; +import { InterfaceService } from '../../services/interface.service'; +import { ActivatedRoute } from '@angular/router/'; +import { PlxModal } from "../../paletx/plx-modal/modal"; @Component({ - selector: 'menus', - templateUrl: './menus.component.html', - styleUrls: ['./menus.component.css'] + selector: 'menus', + templateUrl: './menus.component.html', + styleUrls: ['./menus.component.css'] }) -export class MenusComponent { - @ViewChild(RestConfigComponent) public microserviceComponent: RestConfigComponent; - @ViewChild(WorkflowsComponent) public workflowsComponent: WorkflowsComponent; - public currentWorkflowId : string; - public workflows = []; +export class MenusComponent implements OnInit { + @ViewChild(RestConfigComponent) public restConfigComponent: RestConfigComponent; - constructor(private broadcastService: BroadcastService, private workflowService: WorkflowService) { - this.broadcastService.workflows.subscribe(wfs => { - this.workflows.splice(0, this.workflows.length); - if(wfs) { - wfs.forEach((value, key, map) => { - this.workflows.push({label: value.planName, command: () => { - this.workflowSelected(key, value.plan); - }}); - }); - } - }); - } + public name = ''; + public canSave = true; + public hasRight = false; - public save(): void { - this.workflowService.save(); - } + constructor(private activatedRoute: ActivatedRoute, private modelService: ModelService, + private broadcastService: BroadcastService, private authService: AuthService, + private plxModal: PlxModal) { } - public showMicroserviceModal(): void { - this.microserviceComponent.show(); - } + ngOnInit() { + this.activatedRoute.queryParams.subscribe(queryParams => { + let operation: string = queryParams.operation; + // default value is 'modify', which means save button is enabled. + this.canSave = null == operation || 'view' != operation.toLowerCase(); + }); + this.broadcastService.initModel.subscribe(planModel => { + this.name = planModel.name; + }); + this.broadcastService.saveRight$.subscribe(saveRight => { + this.hasRight = saveRight; + }); + // checkRights + this.authService.checkRights(); + } - public test() { - } + public save(): void { + this.modelService.save(); + } - public showWorkflows() { - this.workflowsComponent.show(); - } + public back(): void { + history.back(); + } - public workflowSelected(planId: string, planModel: PlanModel) { - - this.broadcastService.broadcast(this.broadcastService.planModel, planModel); - this.broadcastService.broadcast(this.broadcastService.planId, planId); + public checkBack(component: any): void { + if (this.modelService.isModify()) { + this.plxModal.open(component, { size: 'sm' }); + } else { + this.back(); } + } - public getCurrentPlanName() { - let planName = this.workflowService.getPlanName(this.currentWorkflowId); - return planName ? planName : 'Workflows' - } + public saveBack(): void { + this.modelService.save(this.back); + } + + public showRestConfigModal(): void { + this.restConfigComponent.show(); + } - public download() { - const filename = this.getCurrentPlanName() + '.json'; - const content = JSON.stringify(this.workflowService.planModel); - var eleLink = document.createElement('a'); - eleLink.download = filename; - eleLink.style.display = 'none'; - var blob = new Blob([content]); - eleLink.href = URL.createObjectURL(blob); - document.body.appendChild(eleLink); - eleLink.click(); - document.body.removeChild(eleLink); - } } diff --git a/sdc-workflow-designer-ui/src/app/components/menus/rest-config/rest-config-detail/rest-config-detail.component.html b/sdc-workflow-designer-ui/src/app/components/menus/rest-config/rest-config-detail/rest-config-detail.component.html index ea0d3c68..9550ed33 100644 --- a/sdc-workflow-designer-ui/src/app/components/menus/rest-config/rest-config-detail/rest-config-detail.component.html +++ b/sdc-workflow-designer-ui/src/app/components/menus/rest-config/rest-config-detail/rest-config-detail.component.html @@ -1,13 +1,26 @@ +
-
+ diff --git a/sdc-workflow-designer-ui/src/app/components/menus/rest-config/rest-config-detail/rest-config-detail.component.ts b/sdc-workflow-designer-ui/src/app/components/menus/rest-config/rest-config-detail/rest-config-detail.component.ts index d99a9a10..e4d43d8c 100644 --- a/sdc-workflow-designer-ui/src/app/components/menus/rest-config/rest-config-detail/rest-config-detail.component.ts +++ b/sdc-workflow-designer-ui/src/app/components/menus/rest-config/rest-config-detail/rest-config-detail.component.ts @@ -22,7 +22,7 @@ import { RestService } from '../../../../services/rest.service'; * The supported nodes can be dragged to container component. which will add a new node to the workflow. */ @Component({ - selector: 'b4t-rest-config-detail', + selector: 'wfm-rest-config-detail', templateUrl: 'rest-config-detail.component.html', }) export class RestConfigDetailComponent implements OnChanges { @@ -35,7 +35,7 @@ export class RestConfigDetailComponent implements OnChanges { public ngOnChanges() { if (this.restConfig == null) { - this.restConfig = new RestConfig('', '', '', '', ''); + this.restConfig = new RestConfig('', '', '', ''); } this.parseSwagger2String(); } diff --git a/sdc-workflow-designer-ui/src/app/components/menus/rest-config/rest-config-list/rest-config-list.component.html b/sdc-workflow-designer-ui/src/app/components/menus/rest-config/rest-config-list/rest-config-list.component.html index aa98bc80..f8d745c1 100644 --- a/sdc-workflow-designer-ui/src/app/components/menus/rest-config/rest-config-list/rest-config-list.component.html +++ b/sdc-workflow-designer-ui/src/app/components/menus/rest-config/rest-config-list/rest-config-list.component.html @@ -1,3 +1,16 @@ +
@@ -6,13 +19,13 @@
    -
  • {{restConfig.name}}
    -
  • + -->
diff --git a/sdc-workflow-designer-ui/src/app/components/menus/rest-config/rest-config-list/rest-config-list.component.ts b/sdc-workflow-designer-ui/src/app/components/menus/rest-config/rest-config-list/rest-config-list.component.ts index 43120e85..8a84c476 100644 --- a/sdc-workflow-designer-ui/src/app/components/menus/rest-config/rest-config-list/rest-config-list.component.ts +++ b/sdc-workflow-designer-ui/src/app/components/menus/rest-config/rest-config-list/rest-config-list.component.ts @@ -22,7 +22,7 @@ import { RestService } from '../../../../services/rest.service'; * The supported nodes can be dragged to container component. which will add a new node to the workflow. */ @Component({ - selector: 'b4t-rest-config-list', + selector: 'wfm-rest-config-list', templateUrl: 'rest-config-list.component.html', }) export class RestConfigListComponent { @@ -36,11 +36,9 @@ export class RestConfigListComponent { } public addRestConfig() { + // const restConfig = this.restService.addRestConfig(); - const restConfig = this.restService.newRestConfig(); - this.restService.addRestConfig(restConfig); - - this.onConfigSelected(restConfig); + // this.onConfigSelected(restConfig); } public deleteRestConfig(index: number) { diff --git a/sdc-workflow-designer-ui/src/app/components/menus/rest-config/rest-config.component.html b/sdc-workflow-designer-ui/src/app/components/menus/rest-config/rest-config.component.html index 9bd5bfc0..a858b0fe 100644 --- a/sdc-workflow-designer-ui/src/app/components/menus/rest-config/rest-config.component.html +++ b/sdc-workflow-designer-ui/src/app/components/menus/rest-config/rest-config.component.html @@ -1,3 +1,16 @@ +