1 files added
13 files modified
| | |
| | | } |
| | | }, |
| | | "defaults": { |
| | | "schematics": { |
| | | "collection": "@delon/cli" |
| | | }, |
| | | "styleExt": "less", |
| | | "class": { |
| | | "spec": false |
| | |
| | | sudo: false |
| | | sudo: required |
| | | language: node_js |
| | | node_js: |
| | | - "8.5.0" |
| | |
| | | { |
| | | "name": "ng-alain", |
| | | "version": "0.6.0-rc.2", |
| | | "version": "0.6.6", |
| | | "description": "ng-zorro-antd admin panel front-end framework", |
| | | "author": "cipchk", |
| | | "homepage": "https://cipchk.github.io/ng-alain/", |
| | |
| | | "@angular/platform-browser": "^5.0.0", |
| | | "@angular/platform-browser-dynamic": "^5.0.0", |
| | | "@angular/router": "^5.0.0", |
| | | "@antv/data-set": "^0.8.3", |
| | | "@antv/g2": "^3.0.1", |
| | | "@antv/g2-plugin-slider": "^2.0.0", |
| | | "@delon/abc": "0.6.1", |
| | | "@delon/acl": "0.6.1", |
| | | "@delon/auth": "0.6.1", |
| | | "@delon/cache": "0.6.1", |
| | | "@delon/theme": "0.6.1", |
| | | "@antv/data-set": "^0.8.5", |
| | | "@antv/g2": "^3.0.5-beta.3", |
| | | "@antv/g2-plugin-slider": "^2.0.1", |
| | | "@delon/abc": "0.6.6", |
| | | "@delon/acl": "0.6.6", |
| | | "@delon/auth": "0.6.6", |
| | | "@delon/cache": "0.6.6", |
| | | "@delon/theme": "0.6.6", |
| | | "@ngx-translate/core": "^9.0.0", |
| | | "@ngx-translate/http-loader": "^2.0.0", |
| | | "@types/jquery": "^3.3.0", |
| | |
| | | "jquery": "^3.3.1", |
| | | "moment": "^2.19.3", |
| | | "ng-clipboard-antd": "^2.0.1", |
| | | "ng-tree-antd": "^2.0.0", |
| | | "ng-zorro-antd": "^0.6.5", |
| | | "ng-zorro-antd-extra": "^1.1.6", |
| | | "ng-tree-antd": "^2.2.2", |
| | | "ng-zorro-antd": "^0.6.15", |
| | | "ng-zorro-antd-extra": "^1.1.7", |
| | | "ng2-dnd": "^5.0.0", |
| | | "ng2-file-upload": "^1.2.1", |
| | | "ng2-img-cropper": "^0.9.0", |
| | | "ngx-color-picker": "^5.0.0", |
| | | "ngx-countdown": "^2.0.0", |
| | |
| | | "@angular/language-service": "^5.0.0", |
| | | "@angularclass/hmr": "^2.1.3", |
| | | "@angularclass/hmr-loader": "^3.0.4", |
| | | "@delon/cli": "^0.6.6", |
| | | "@types/jasmine": "~2.6.0", |
| | | "@types/jasminewd2": "~2.0.3", |
| | | "@types/jszip": "^3.1.2", |
| | |
| | | "stylelint-config-standard": "^17.0.0", |
| | | "ts-node": "~3.2.0", |
| | | "tslint": "~5.7.0", |
| | | "typescript": "~2.5.0", |
| | | "typescript": "~2.5.3", |
| | | "webpack-bundle-analyzer": "^2.9.0", |
| | | "xlsx": "^0.11.16" |
| | | }, |
| | |
| | | import { Component, HostBinding, OnInit } from '@angular/core'; |
| | | import { Router, NavigationEnd, NavigationStart } from '@angular/router'; |
| | | import { ThemesService, SettingsService, TitleService } from '@delon/theme'; |
| | | import { filter, map } from 'rxjs/operators'; |
| | | import { filter } from 'rxjs/operators'; |
| | | import * as $ from 'jquery'; |
| | | @Component({ |
| | | selector: 'app-root', |
| | |
| | | } |
| | | |
| | | ngOnInit() { |
| | | this.router.events.pipe( |
| | | filter(evt => evt instanceof NavigationEnd), |
| | | map(() => this.router.url) |
| | | ) |
| | | .subscribe(url => { |
| | | this.titleSrv.setTitleByUrl(url); |
| | | }); |
| | | this.router.events |
| | | .pipe(filter(evt => evt instanceof NavigationEnd)) |
| | | .subscribe(() => this.titleSrv.setTitle()); |
| | | this.router.events.pipe( |
| | | filter(evt => evt instanceof NavigationStart) |
| | | ) |
| | |
| | | private _default = 'zh-CN'; |
| | | |
| | | private _langs = [ |
| | | { code: 'zh-CN', text: '中文' }, |
| | | { code: 'en', text: 'English' } |
| | | { code: 'en', text: 'English' }, |
| | | { code: 'zh-CN', text: '中文' } |
| | | ]; |
| | | |
| | | constructor( |
| | |
| | | import { Injectable, Injector } from '@angular/core'; |
| | | import { Router } from '@angular/router'; |
| | | import { HttpInterceptor, HttpRequest, HttpHandler, |
| | | import { HttpInterceptor, HttpRequest, HttpHandler, HttpErrorResponse, |
| | | HttpSentEvent, HttpHeaderResponse, HttpProgressEvent, HttpResponse, HttpUserEvent, |
| | | } from '@angular/common/http'; |
| | | import { Observable } from 'rxjs/Observable'; |
| | | import { of } from 'rxjs/observable/of'; |
| | | import { ErrorObservable } from 'rxjs/observable/ErrorObservable'; |
| | | import { catchError } from 'rxjs/operators'; |
| | | import { map, mergeMap } from 'rxjs/operators'; |
| | | import { mergeMap, catchError } from 'rxjs/operators'; |
| | | import { NzMessageService } from 'ng-zorro-antd'; |
| | | import { _HttpClient } from '@delon/theme'; |
| | | import { environment } from '@env/environment'; |
| | | |
| | | /** |
| | |
| | | export class DefaultInterceptor implements HttpInterceptor { |
| | | constructor(private injector: Injector) {} |
| | | |
| | | private goLogin() { |
| | | const router = this.injector.get(Router); |
| | | router.navigate([ '/login' ]); |
| | | // window.location.reload(); |
| | | get msg(): NzMessageService { |
| | | return this.injector.get(NzMessageService); |
| | | } |
| | | |
| | | private goTo(url: string) { |
| | | setTimeout(() => this.injector.get(Router).navigateByUrl(url)); |
| | | } |
| | | |
| | | private handleData(event: HttpResponse<any> | HttpErrorResponse): Observable<any> { |
| | | // 可能会因为 `throw` 导出无法执行 `_HttpClient` 的 `end()` 操作 |
| | | this.injector.get(_HttpClient).end(); |
| | | // 业务处理:一些通用操作 |
| | | switch (event.status) { |
| | | case 200: |
| | | // 业务层级错误处理,以下假如响应体的 `status` 若不为 `0` 表示业务级异常 |
| | | // 并显示 `error_message` 内容 |
| | | |
| | | // const body: any = event instanceof HttpResponse && event.body; |
| | | // if (body && body.status !== 0) { |
| | | // this.msg.error(body.error_message); |
| | | // // 继续抛出错误中断后续所有 Pipe、subscribe 操作,因此: |
| | | // // this.http.get('/').subscribe() 并不会触发 |
| | | // return ErrorObservable.throw(event); |
| | | // } |
| | | break; |
| | | case 401: // 未登录状态码 |
| | | this.goTo('/passport/login'); |
| | | break; |
| | | case 403: |
| | | case 404: |
| | | case 500: |
| | | this.goTo(`/${event.status}`); |
| | | break; |
| | | } |
| | | return of(event); |
| | | } |
| | | |
| | | intercept(req: HttpRequest<any>, next: HttpHandler): |
| | | Observable<HttpSentEvent | HttpHeaderResponse | HttpProgressEvent | HttpResponse<any> | HttpUserEvent<any>> { |
| | | |
| | | // TIPS:原TOKEN信息已交由 `@delon/auth` 处理 |
| | | // Document: http://ng-alain.com/docs/auth |
| | | // 统一加上服务端前缀 |
| | | let url = req.url; |
| | | |
| | | if (!url.startsWith('https://') && !url.startsWith('http://')) { |
| | | url = environment.SERVER_URL + url; |
| | | } |
| | | |
| | | const newReq = req.clone({ |
| | | url: url |
| | | }); |
| | | |
| | | return next.handle(newReq).pipe( |
| | | mergeMap((event: any) => { |
| | | // 允许统一对请求错误处理,这是因为一个请求若是业务上错误的情况下其HTTP请求的状态是200的情况下需要 |
| | | if (event instanceof HttpResponse && event.status !== 200) { |
| | | // 业务处理:observer.error 会跳转至后面的 `catch` |
| | | // return ErrorObservable.create(event); |
| | | } |
| | | if (event instanceof HttpResponse && event.status === 200) |
| | | return this.handleData(event); |
| | | // 若一切都正常,则后续操作 |
| | | return Observable.create(observer => observer.next(event)); |
| | | return of(event); |
| | | }), |
| | | catchError((res: HttpResponse<any>) => { |
| | | // 业务处理:一些通用操作 |
| | | switch (res.status) { |
| | | case 401: // 未登录状态码 |
| | | this.goLogin(); |
| | | break; |
| | | case 200: |
| | | // 业务层级错误处理 |
| | | console.log('业务错误'); |
| | | break; |
| | | case 404: |
| | | // 404 |
| | | break; |
| | | } |
| | | // 以错误的形式结束本次请求 |
| | | return ErrorObservable.create(event); |
| | | }) |
| | | catchError((err: HttpErrorResponse) => this.handleData(err)) |
| | | ); |
| | | } |
| | | } |
| | |
| | | * 进一步对基础模块的导入提炼 |
| | | * 有关模块注册指导原则请参考:https://github.com/cipchk/ng-alain/issues/180 |
| | | */ |
| | | import { NgModule, Optional, SkipSelf } from '@angular/core'; |
| | | import { NgModule, Optional, SkipSelf, ModuleWithProviders } from '@angular/core'; |
| | | import { throwIfAlreadyLoaded } from '@core/module-import-guard'; |
| | | |
| | | // region: zorro modules |
| | |
| | | // NzAffixModule, |
| | | // NzAnchorModule, |
| | | NzAvatarModule, |
| | | NzUploadModule, |
| | | // SERVICES |
| | | NzNotificationService, |
| | | NzMessageService |
| | |
| | | // NzBackTopModule, |
| | | // NzAffixModule, |
| | | // NzAnchorModule, |
| | | NzAvatarModule |
| | | NzAvatarModule, |
| | | NzUploadModule |
| | | ]; |
| | | // endregion |
| | | |
| | |
| | | import { AlainAuthModule } from '@delon/auth'; |
| | | import { AlainACLModule } from '@delon/acl'; |
| | | import { DelonCacheModule } from '@delon/cache'; |
| | | import { environment } from '@env/environment'; |
| | | // mock |
| | | // import { DelonMockModule } from '@delon/mock'; |
| | | // import * as MOCKDATA from '../../_mock'; |
| | | // import { environment } from '@env/environment'; |
| | | // const MOCKMODULE = !environment.production || environment.chore === true ? |
| | | // [ DelonMockModule.forRoot({ data: MOCKDATA }) ] : []; |
| | | |
| | | // region: global config functions |
| | | |
| | | // import { SimpleTableConfig } from '@delon/abc'; |
| | | // export function simpleTableConfig(): SimpleTableConfig { |
| | | // return { ps: 20 }; |
| | | // } |
| | | |
| | | // endregion |
| | | |
| | | @NgModule({ |
| | | imports: [ |
| | |
| | | // theme |
| | | AlainThemeModule.forRoot(), |
| | | // abc |
| | | AlainABCModule.forRoot(), |
| | | AdErrorCollectModule.forRoot(), AdFooterToolbarModule.forRoot(), AdSidebarNavModule.forRoot(), AdDownFileModule.forRoot(), AdImageModule.forRoot(), |
| | | AdAvatarListModule.forRoot(), AdDescListModule.forRoot(), AdEllipsisModule.forRoot(), AdExceptionModule.forRoot(), AdExceptionModule.forRoot(), |
| | | AdNoticeIconModule.forRoot(), AdNumberInfoModule.forRoot(), AdProHeaderModule.forRoot(), AdResultModule.forRoot(), AdStandardFormRowModule.forRoot(), |
| | | AdTagSelectModule.forRoot(), AdTrendModule.forRoot(), AdUtilsModule.forRoot(), AdChartsModule.forRoot(), AdCountDownModule.forRoot(), AdSimpleTableModule.forRoot(), |
| | | AdReuseTabModule.forRoot(), AdFullContentModule.forRoot(), AdXlsxModule.forRoot(), AdZipModule.forRoot(), |
| | | // auth |
| | | AlainAuthModule.forRoot({ |
| | | // ignores: [ `\\/login`, `assets\\/` ], |
| | |
| | | // acl |
| | | AlainACLModule.forRoot(), |
| | | // cache |
| | | DelonCacheModule.forRoot() |
| | | DelonCacheModule.forRoot(), |
| | | // mock |
| | | // ...MOCKMODULE |
| | | ] |
| | | }) |
| | | export class DelonModule { |
| | | constructor( @Optional() @SkipSelf() parentModule: DelonModule) { |
| | | throwIfAlreadyLoaded(parentModule, 'DelonModule'); |
| | | } |
| | | |
| | | static forRoot(): ModuleWithProviders { |
| | | return { |
| | | ngModule: DelonModule, |
| | | providers: [ |
| | | // TIPS:@delon/abc 有大量的全局配置信息,例如设置所有 `simple-table` 的页码默认为 `20` 行 |
| | | // { provide: SimpleTableConfig, useFactory: simpleTableConfig } |
| | | ] |
| | | }; |
| | | } |
| | | } |
New file |
| | |
| | | import { Component } from '@angular/core'; |
| | | import { SettingsService, MenuService } from '@delon/theme'; |
| | | import { I18NService } from '@core/i18n/i18n.service'; |
| | | |
| | | @Component({ |
| | | selector: 'header-i18n', |
| | | template: ` |
| | | <nz-dropdown> |
| | | <div nz-dropdown> |
| | | <i class="anticon anticon-edit"></i> |
| | | {{ 'language' | translate}} |
| | | <i class="anticon anticon-down"></i> |
| | | </div> |
| | | <ul nz-menu> |
| | | <li nz-menu-item *ngFor="let item of langs" |
| | | [nzSelected]="item.code === settings.layout.lang" |
| | | (click)="change(item.code)">{{item.text}}</li> |
| | | </ul> |
| | | </nz-dropdown> |
| | | ` |
| | | }) |
| | | export class HeaderI18nComponent { |
| | | |
| | | langs: any[]; |
| | | |
| | | constructor( |
| | | private menuService: MenuService, |
| | | public settings: SettingsService, |
| | | public tsServ: I18NService |
| | | ) { |
| | | this.langs = this.tsServ.getLangs(); |
| | | } |
| | | |
| | | change(lang: string) { |
| | | this.tsServ.use(lang, false).subscribe(() => { |
| | | this.menuService.resume(); |
| | | }); |
| | | this.settings.setLayout('lang', lang); |
| | | } |
| | | } |
| | |
| | | <header-storage></header-storage> |
| | | </div> |
| | | <div nz-menu-item> |
| | | <header-langs></header-langs> |
| | | <header-i18n></header-i18n> |
| | | </div> |
| | | </div> |
| | | </nz-dropdown> |
| | |
| | | import { HeaderTaskComponent } from './default/header/components/task.component'; |
| | | import { HeaderIconComponent } from './default/header/components/icon.component'; |
| | | import { HeaderFullScreenComponent } from './default/header/components/fullscreen.component'; |
| | | import { HeaderLangsComponent } from './default/header/components/langs.component'; |
| | | import { HeaderI18nComponent } from './default/header/components/i18n.component'; |
| | | import { HeaderStorageComponent } from './default/header/components/storage.component'; |
| | | import { HeaderUserComponent } from './default/header/components/user.component'; |
| | | |
| | |
| | | HeaderIconComponent, |
| | | HeaderFullScreenComponent, |
| | | HeaderThemeComponent, |
| | | HeaderLangsComponent, |
| | | HeaderI18nComponent, |
| | | HeaderStorageComponent, |
| | | HeaderUserComponent |
| | | ]; |
| | |
| | | <div class="head"> |
| | | <a [routerLink]="['/']"> |
| | | <img class="logo" src="./assets/img/logo-color.svg"> |
| | | <span class="title">大气监测系统管理后台</span> |
| | | <span class="title">ng-alain</span> |
| | | </a> |
| | | </div> |
| | | <p class="desc"></p> |
| | | <p class="desc">武林中最有影响力的《葵花宝典》;欲练神功,挥刀自宫</p> |
| | | </div> |
| | | <router-outlet></router-outlet> |
| | | <global-footer> |
| | | <global-footer [links]="links"> |
| | | <ng-template #copyright> |
| | | Copyright <nz-icon nzType="copyright"></nz-icon> 2018 <a href="http://www.7drlb.com/" target="_blank">七星瓢虫环境科技</a> |
| | | Copyright <nz-icon nzType="copyright"></nz-icon> 2017 <a href="//github.com/cipchk" target="_blank">卡色</a>出品 |
| | | </ng-template> |
| | | </global-footer> |
| | | </div> |
| | |
| | | } |
| | | |
| | | .title { |
| | | font-size: 28px; |
| | | font-size: 33px; |
| | | color: @heading-color; |
| | | font-family: "Myriad Pro", "Helvetica Neue", Arial, Helvetica, sans-serif; |
| | | font-weight: 600; |
| | |
| | | import { Authorization } from '@business/entity/token'; |
| | | import { LoginService } from '@business/services/http/login.service'; |
| | | import { SettingsService } from '@delon/theme'; |
| | | import { Component, OnDestroy, Inject } from '@angular/core'; |
| | | import { Component, OnDestroy, Inject, Optional } from '@angular/core'; |
| | | import { Router } from '@angular/router'; |
| | | import { FormGroup, FormBuilder, Validators } from '@angular/forms'; |
| | | import { NzMessageService } from 'ng-zorro-antd'; |
| | | import { SocialService, SocialOpenType, ITokenService, DA_SERVICE_TOKEN } from '@delon/auth'; |
| | | import { ReuseTabService } from '@delon/abc'; |
| | | import { environment } from '@env/environment'; |
| | | import { CookieService } from 'angular2-cookie/services/cookies.service'; |
| | | @Component({ |
| | |
| | | public msg: NzMessageService, |
| | | private settingsService: SettingsService, |
| | | private socialService: SocialService, |
| | | @Optional() @Inject(ReuseTabService) private reuseTabService: ReuseTabService, |
| | | private loginService:LoginService, |
| | | @Inject(DA_SERVICE_TOKEN) private tokenService: ITokenService) { |
| | | this.form = fb.group({ |
| | |
| | | this.loginService.validate(this.userName.value,this.password.value).subscribe( |
| | | (res:Authorization) => { |
| | | if(res.token!=null){ |
| | | // 清空路由复用信息 |
| | | this.reuseTabService.clear(); |
| | | this.tokenService.set({ |
| | | token: res.token, |
| | | name: this.userName.value, |
| | |
| | | version "2.1.3" |
| | | resolved "http://registry.npm.taobao.org/@angularclass/hmr/download/@angularclass/hmr-2.1.3.tgz#34e658ed3da37f23b0a200e2da5a89be92bb209f" |
| | | |
| | | "@antv/data-set@^0.8.3": |
| | | version "0.8.3" |
| | | resolved "http://registry.npm.taobao.org/@antv/data-set/download/@antv/data-set-0.8.3.tgz#7f58207532a9de5d174b52676b876247b2acab02" |
| | | "@antv/data-set@^0.8.5": |
| | | version "0.8.5" |
| | | resolved "https://registry.yarnpkg.com/@antv/data-set/-/data-set-0.8.5.tgz#9ab5f53b7ac078f52211db6cefd0c6a42822bd0e" |
| | | dependencies: |
| | | d3-array "~1.2.0" |
| | | d3-composite-projections "~1.2.0" |
| | |
| | | topojson-client "~3.0.0" |
| | | wolfy87-eventemitter "~5.1.0" |
| | | |
| | | "@antv/g2-plugin-slider@^2.0.0": |
| | | "@antv/g2-plugin-slider@^2.0.1": |
| | | version "2.0.1" |
| | | resolved "http://registry.npm.taobao.org/@antv/g2-plugin-slider/download/@antv/g2-plugin-slider-2.0.1.tgz#45cf6da6f2050fabe64166a213674422afe4eebf" |
| | | resolved "https://registry.yarnpkg.com/@antv/g2-plugin-slider/-/g2-plugin-slider-2.0.1.tgz#45cf6da6f2050fabe64166a213674422afe4eebf" |
| | | |
| | | "@antv/g2@^3.0.1": |
| | | version "3.0.3" |
| | | resolved "http://registry.npm.taobao.org/@antv/g2/download/@antv/g2-3.0.3.tgz#ee59e1ded71b065d1e9ef3fe6d572fe5de07c069" |
| | | "@antv/g2@^3.0.5-beta.3": |
| | | version "3.0.5-beta.3" |
| | | resolved "https://registry.yarnpkg.com/@antv/g2/-/g2-3.0.5-beta.3.tgz#1cbdf3a6fbf1bcbccf848fb3efd3ab7c5c70c9a0" |
| | | dependencies: |
| | | "@antv/g" "~2.0.4" |
| | | "@antv/g" "~2.0.5" |
| | | fecha "~2.3.2" |
| | | gl-matrix "~2.4.0" |
| | | lodash "~4.17.4" |
| | | wolfy87-eventemitter "~5.2.4" |
| | | |
| | | "@antv/g@~2.0.4": |
| | | version "2.0.4" |
| | | resolved "http://registry.npm.taobao.org/@antv/g/download/@antv/g-2.0.4.tgz#b637c641b4dd6092fc4d628aa604424d29faca0d" |
| | | "@antv/g@~2.0.5": |
| | | version "2.0.6" |
| | | resolved "https://registry.yarnpkg.com/@antv/g/-/g-2.0.6.tgz#88a85b5899eae6f3d51f016894b51e39356e56b1" |
| | | dependencies: |
| | | d3-ease "^1.0.3" |
| | | d3-interpolate "^1.1.5" |
| | | d3-timer "^1.0.6" |
| | | gl-matrix "^2.3.2" |
| | | lodash "^4.17.4" |
| | | wolfy87-eventemitter "^5.1.0" |
| | | d3-ease "~1.0.3" |
| | | d3-interpolate "~1.1.5" |
| | | d3-timer "~1.0.6" |
| | | gl-matrix "~2.3.2" |
| | | lodash "~4.17.4" |
| | | wolfy87-eventemitter "~5.1.0" |
| | | |
| | | "@delon/abc@0.6.1": |
| | | version "0.6.1" |
| | | resolved "http://registry.npm.taobao.org/@delon/abc/download/@delon/abc-0.6.1.tgz#161ab09848715700fd00d073c55ac0a51268195d" |
| | | "@delon/abc@0.6.6": |
| | | version "0.6.6" |
| | | resolved "https://registry.yarnpkg.com/@delon/abc/-/abc-0.6.6.tgz#9749082a2fbc64096d6df9de4efc730bc54a3473" |
| | | |
| | | "@delon/acl@0.6.1": |
| | | version "0.6.1" |
| | | resolved "http://registry.npm.taobao.org/@delon/acl/download/@delon/acl-0.6.1.tgz#2728f2c24684640caff36db98c0777589b59f747" |
| | | "@delon/acl@0.6.6": |
| | | version "0.6.6" |
| | | resolved "https://registry.yarnpkg.com/@delon/acl/-/acl-0.6.6.tgz#c7181ce8b691ff404c28dd4578bfb71a30d88dfe" |
| | | |
| | | "@delon/auth@0.6.1": |
| | | version "0.6.1" |
| | | resolved "http://registry.npm.taobao.org/@delon/auth/download/@delon/auth-0.6.1.tgz#26b0945008663b7126ea30aca6372a6bc5d6a9cb" |
| | | "@delon/auth@0.6.6": |
| | | version "0.6.6" |
| | | resolved "https://registry.yarnpkg.com/@delon/auth/-/auth-0.6.6.tgz#0ad68abb18ae215c9bf5a409d3f7e8826227326f" |
| | | |
| | | "@delon/cache@0.6.1": |
| | | version "0.6.1" |
| | | resolved "http://registry.npm.taobao.org/@delon/cache/download/@delon/cache-0.6.1.tgz#13b412897743dc2ad612c4c4fca280c3dc044825" |
| | | "@delon/cache@0.6.6": |
| | | version "0.6.6" |
| | | resolved "https://registry.yarnpkg.com/@delon/cache/-/cache-0.6.6.tgz#7249ab3611ecf0b785932008540b3149c8e725f2" |
| | | |
| | | "@delon/theme@0.6.1": |
| | | version "0.6.1" |
| | | resolved "http://registry.npm.taobao.org/@delon/theme/download/@delon/theme-0.6.1.tgz#4e98b1dc565c2f0684717c44ed73509cd866f120" |
| | | "@delon/cli@^0.6.6": |
| | | version "0.6.6" |
| | | resolved "https://registry.yarnpkg.com/@delon/cli/-/cli-0.6.6.tgz#0e17ac163c12a2f6c73ac32f5bf919624b31b33f" |
| | | |
| | | "@delon/theme@0.6.6": |
| | | version "0.6.6" |
| | | resolved "https://registry.yarnpkg.com/@delon/theme/-/theme-0.6.6.tgz#de3439d709bdc3bac312f3f21b4a09d9ccc25467" |
| | | |
| | | "@ngtools/json-schema@1.2.0": |
| | | version "1.2.0" |
| | |
| | | iconv-lite "0.4" |
| | | rw "1" |
| | | |
| | | d3-ease@^1.0.3: |
| | | d3-ease@~1.0.3: |
| | | version "1.0.3" |
| | | resolved "http://registry.npm.taobao.org/d3-ease/download/d3-ease-1.0.3.tgz#68bfbc349338a380c44d8acc4fbc3304aa2d8c0e" |
| | | resolved "https://registry.yarnpkg.com/d3-ease/-/d3-ease-1.0.3.tgz#68bfbc349338a380c44d8acc4fbc3304aa2d8c0e" |
| | | |
| | | d3-geo-projection@~2.1.2: |
| | | version "2.1.2" |
| | |
| | | version "1.1.5" |
| | | resolved "http://registry.npm.taobao.org/d3-hierarchy/download/d3-hierarchy-1.1.5.tgz#a1c845c42f84a206bcf1c01c01098ea4ddaa7a26" |
| | | |
| | | d3-interpolate@^1.1.5: |
| | | d3-interpolate@~1.1.5: |
| | | version "1.1.6" |
| | | resolved "http://registry.npm.taobao.org/d3-interpolate/download/d3-interpolate-1.1.6.tgz#2cf395ae2381804df08aa1bf766b7f97b5f68fb6" |
| | | resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-1.1.6.tgz#2cf395ae2381804df08aa1bf766b7f97b5f68fb6" |
| | | dependencies: |
| | | d3-color "1" |
| | | |
| | |
| | | dependencies: |
| | | d3-path "1" |
| | | |
| | | d3-timer@^1.0.6: |
| | | d3-timer@~1.0.6: |
| | | version "1.0.7" |
| | | resolved "http://registry.npm.taobao.org/d3-timer/download/d3-timer-1.0.7.tgz#df9650ca587f6c96607ff4e60cc38229e8dd8531" |
| | | resolved "https://registry.yarnpkg.com/d3-timer/-/d3-timer-1.0.7.tgz#df9650ca587f6c96607ff4e60cc38229e8dd8531" |
| | | |
| | | d3-voronoi@~1.1.2: |
| | | version "1.1.2" |
| | |
| | | dependencies: |
| | | assert-plus "^1.0.0" |
| | | |
| | | gl-matrix@^2.3.2, gl-matrix@~2.4.0: |
| | | gl-matrix@~2.3.2: |
| | | version "2.3.2" |
| | | resolved "https://registry.yarnpkg.com/gl-matrix/-/gl-matrix-2.3.2.tgz#aac808c74af7d5db05fe04cb60ca1a0fcb174d74" |
| | | |
| | | gl-matrix@~2.4.0: |
| | | version "2.4.0" |
| | | resolved "http://registry.npm.taobao.org/gl-matrix/download/gl-matrix-2.4.0.tgz#2089b13301a29eec822d9d99dffc1f78ee9a3c50" |
| | | |
| | |
| | | rxjs "^5.5.2" |
| | | zone.js "^0.8.14" |
| | | |
| | | ng-tree-antd@^2.0.0: |
| | | version "2.1.0" |
| | | resolved "http://registry.npm.taobao.org/ng-tree-antd/download/ng-tree-antd-2.1.0.tgz#4cbb93ad3c7a2bddc6c329d788e767777481dcbb" |
| | | ng-tree-antd@^2.2.2: |
| | | version "2.2.2" |
| | | resolved "https://registry.yarnpkg.com/ng-tree-antd/-/ng-tree-antd-2.2.2.tgz#a28ee1adaa194c3429e49999daaab32f97124175" |
| | | dependencies: |
| | | "@angular/animations" "^5.0.0" |
| | | "@angular/common" "^5.0.0" |
| | |
| | | rxjs "^5.5.2" |
| | | zone.js "^0.8.14" |
| | | |
| | | ng-zorro-antd-extra@^1.1.6: |
| | | version "1.1.6" |
| | | resolved "http://registry.npm.taobao.org/ng-zorro-antd-extra/download/ng-zorro-antd-extra-1.1.6.tgz#b69ba30603843ffd6ded09a46dd2038542251e40" |
| | | ng-zorro-antd-extra@^1.1.7: |
| | | version "1.1.7" |
| | | resolved "https://registry.yarnpkg.com/ng-zorro-antd-extra/-/ng-zorro-antd-extra-1.1.7.tgz#0e0579cac2c8dc3ac566e1f49a4b0ca7f0186b50" |
| | | |
| | | ng-zorro-antd@^0.6.5, ng-zorro-antd@^0.6.7: |
| | | ng-zorro-antd@^0.6.15: |
| | | version "0.6.15" |
| | | resolved "https://registry.yarnpkg.com/ng-zorro-antd/-/ng-zorro-antd-0.6.15.tgz#acef41a30febce835b871d52cd47d042ac2ed443" |
| | | dependencies: |
| | | "@angular/cdk" "^5.0.0" |
| | | moment "^2.18.1" |
| | | tslib "^1.7.1" |
| | | |
| | | ng-zorro-antd@^0.6.7: |
| | | version "0.6.10" |
| | | resolved "http://registry.npm.taobao.org/ng-zorro-antd/download/ng-zorro-antd-0.6.10.tgz#0cf5ec5cb94e10226a2b2becff67debf0c8ad860" |
| | | dependencies: |
| | |
| | | ng2-dnd@^5.0.0: |
| | | version "5.0.2" |
| | | resolved "http://registry.npm.taobao.org/ng2-dnd/download/ng2-dnd-5.0.2.tgz#862278ac7dedfa14f5783bbf34014d5d73dfefb4" |
| | | |
| | | ng2-file-upload@^1.2.1: |
| | | version "1.3.0" |
| | | resolved "http://registry.npm.taobao.org/ng2-file-upload/download/ng2-file-upload-1.3.0.tgz#d90f8f568f62383462175f8bdfa0096b131f277a" |
| | | |
| | | ng2-img-cropper@^0.9.0: |
| | | version "0.9.0" |
| | |
| | | version "0.0.6" |
| | | resolved "http://registry.npm.taobao.org/typedarray/download/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" |
| | | |
| | | typescript@~2.5.0: |
| | | typescript@~2.5.3: |
| | | version "2.5.3" |
| | | resolved "http://registry.npm.taobao.org/typescript/download/typescript-2.5.3.tgz#df3dcdc38f3beb800d4bc322646b04a3f6ca7f0d" |
| | | resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.5.3.tgz#df3dcdc38f3beb800d4bc322646b04a3f6ca7f0d" |
| | | |
| | | typescript@~2.6.2: |
| | | version "2.6.2" |
| | |
| | | version "0.1.0" |
| | | resolved "http://registry.npm.taobao.org/window-size/download/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" |
| | | |
| | | wolfy87-eventemitter@^5.1.0, wolfy87-eventemitter@~5.2.4: |
| | | version "5.2.4" |
| | | resolved "http://registry.npm.taobao.org/wolfy87-eventemitter/download/wolfy87-eventemitter-5.2.4.tgz#5021d2952d3611cbcd195149711d9b595cd11d48" |
| | | |
| | | wolfy87-eventemitter@~5.1.0: |
| | | version "5.1.0" |
| | | resolved "http://registry.npm.taobao.org/wolfy87-eventemitter/download/wolfy87-eventemitter-5.1.0.tgz#35c1ac0dd1ac0c15e35d981508fc22084a13a011" |
| | | |
| | | wolfy87-eventemitter@~5.2.4: |
| | | version "5.2.4" |
| | | resolved "http://registry.npm.taobao.org/wolfy87-eventemitter/download/wolfy87-eventemitter-5.2.4.tgz#5021d2952d3611cbcd195149711d9b595cd11d48" |
| | | |
| | | wordwrap@0.0.2: |
| | | version "0.0.2" |
| | | resolved "http://registry.npm.taobao.org/wordwrap/download/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" |