Browse Source

Merge pull request #4793 from abpframework/feat/tree-draggable

Added draggable input to tree component
pull/4801/head
Levent Arman Özak 6 years ago
committed by GitHub
parent
commit
e5aaa318dc
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 3
      npm/ng-packs/package.json
  2. 4
      npm/ng-packs/packages/account/src/lib/tests/account.service.spec.ts
  3. 3
      npm/ng-packs/packages/components/tree/src/lib/components/tree.component.html
  4. 20
      npm/ng-packs/packages/components/tree/src/lib/components/tree.component.ts
  5. 4
      npm/ng-packs/packages/core/src/lib/tests/api.interceptor.spec.ts
  6. 2
      npm/ng-packs/packages/core/src/lib/tests/application-configuration.service.spec.ts
  7. 6
      npm/ng-packs/packages/core/src/lib/tests/auth.guard.spec.ts
  8. 2
      npm/ng-packs/packages/core/src/lib/tests/config-state.service.spec.ts
  9. 6
      npm/ng-packs/packages/core/src/lib/tests/config.state.spec.ts
  10. 4
      npm/ng-packs/packages/core/src/lib/tests/dynamic-layout.component.spec.ts
  11. 6
      npm/ng-packs/packages/core/src/lib/tests/locale.provider.spec.ts
  12. 4
      npm/ng-packs/packages/core/src/lib/tests/localization.pipe.spec.ts
  13. 4
      npm/ng-packs/packages/core/src/lib/tests/localization.service.spec.ts
  14. 2
      npm/ng-packs/packages/core/src/lib/tests/permission.directive.spec.ts
  15. 2
      npm/ng-packs/packages/core/src/lib/tests/permission.guard.spec.ts
  16. 2
      npm/ng-packs/packages/core/src/lib/tests/profile-state.service.spec.ts
  17. 6
      npm/ng-packs/packages/core/src/lib/tests/profile.service.spec.ts
  18. 2
      npm/ng-packs/packages/core/src/lib/tests/profile.state.spec.ts
  19. 6
      npm/ng-packs/packages/core/src/lib/tests/replaceable-components.state.spec.ts
  20. 2
      npm/ng-packs/packages/core/src/lib/tests/rest.service.spec.ts
  21. 2
      npm/ng-packs/packages/core/src/lib/tests/session-state.service.spec.ts
  22. 2
      npm/ng-packs/packages/feature-management/src/lib/tests/feature-management-state.service.spec.ts
  23. 2
      npm/ng-packs/packages/identity/src/lib/tests/identity-state.service.spec.ts
  24. 2
      npm/ng-packs/packages/permission-management/src/lib/tests/permission-management-state.service.spec.ts
  25. 2
      npm/ng-packs/packages/tenant-management/src/lib/tests/tenant-management-state.service.spec.ts
  26. 4
      npm/ng-packs/packages/theme-shared/extensions/src/tests/form-props.util.spec.ts
  27. 6
      npm/ng-packs/packages/theme-shared/src/lib/tests/append-content.token.spec.ts
  28. 4
      npm/ng-packs/packages/theme-shared/src/lib/tests/breadcrumb.component.spec.ts
  29. 6
      npm/ng-packs/packages/theme-shared/src/lib/tests/error.handler.spec.ts
  30. 8
      npm/ng-packs/packages/theme-shared/src/lib/tests/loader-bar.component.spec.ts
  31. 2
      npm/ng-packs/packages/theme-shared/src/lib/tests/modal-container.component.spec.ts
  32. 4
      npm/ng-packs/packages/theme-shared/src/lib/tests/modal.component.spec.ts
  33. 2
      npm/ng-packs/packages/theme-shared/src/lib/tests/validation-utils.spec.ts
  34. 4
      npm/ng-packs/scripts/build.ts
  35. 94
      npm/ng-packs/yarn.lock

3
npm/ng-packs/package.json

@ -96,8 +96,5 @@
"commitizen": {
"path": "cz-conventional-changelog"
}
},
"resolutions": {
"@ngx-validate/core": "^0.0.8"
}
}

4
npm/ng-packs/packages/account/src/lib/tests/account.service.spec.ts

@ -15,7 +15,7 @@ describe('AccountService', () => {
beforeEach(() => (spectator = createHttp()));
it('should send a GET to find tenant', () => {
spectator.get(Store).selectSnapshot.andReturn('https://abp.io');
spectator.inject(Store).selectSnapshot.andReturn('https://abp.io');
spectator.service.findTenant('test').subscribe();
spectator.expectOne(
'https://abp.io/api/abp/multi-tenancy/tenants/by-name/test',
@ -30,7 +30,7 @@ describe('AccountService', () => {
password: 'test1234',
appName: 'Angular',
} as RegisterRequest;
spectator.get(Store).selectSnapshot.andReturn('https://abp.io');
spectator.inject(Store).selectSnapshot.andReturn('https://abp.io');
spectator.service.register(mock).subscribe();
const req = spectator.expectOne('https://abp.io/api/account/register', HttpMethod.POST);
expect(req.request.body).toEqual(mock);

3
npm/ng-packs/packages/components/tree/src/lib/components/tree.component.html

@ -1,4 +1,6 @@
<nz-tree
[nzBeforeDrop]="beforeDrop"
[nzDraggable]="draggable"
[nzCheckStrictly]="checkStrictly"
[nzCheckable]="checkable"
[nzCheckedKeys]="checkedKeys"
@ -7,6 +9,7 @@
[nzExpandedKeys]="expandedKeys"
(nzExpandChange)="onExpandedKeysChange($event)"
(nzCheckBoxChange)="onCheckboxChange($event)"
(nzOnDrop)="onDrop($event)"
></nz-tree>
<ng-template #treeTemplate let-node>
<div

20
npm/ng-packs/packages/components/tree/src/lib/components/tree.component.ts

@ -7,6 +7,10 @@ import {
TemplateRef,
ViewEncapsulation,
} from '@angular/core';
import { NzFormatEmitEvent, NzFormatBeforeDropEvent } from 'ng-zorro-antd/tree';
import { of } from 'rxjs';
export type DropEvent = NzFormatEmitEvent & { pos: number };
@Component({
selector: 'abp-tree',
@ -18,10 +22,14 @@ import {
encapsulation: ViewEncapsulation.None,
})
export class TreeComponent {
dropPosition: number;
@ContentChild('menu') menu: TemplateRef<any>;
@Output() readonly checkedKeysChange = new EventEmitter();
@Output() readonly expandedKeysChange = new EventEmitter<string[]>();
@Output() readonly selectedNodeChange = new EventEmitter();
@Output() readonly dropOver = new EventEmitter<DropEvent>();
@Input() draggable: boolean;
@Input() checkable: boolean;
@Input() checkStrictly: boolean;
@Input() checkedKeys = [];
@ -29,6 +37,10 @@ export class TreeComponent {
@Input() expandedKeys: string[] = [];
@Input() selectedNode: any;
@Input() isNodeSelected = node => this.selectedNode?.id === node.key;
@Input() beforeDrop = (event: NzFormatBeforeDropEvent) => {
this.dropPosition = event.pos;
return of(false);
};
onSelectedNodeChange(node) {
this.selectedNode = node.origin.entity;
@ -44,4 +56,12 @@ export class TreeComponent {
this.expandedKeys = [...event.keys];
this.expandedKeysChange.emit(event.keys);
}
onDrop(event: DropEvent) {
event.event.stopPropagation();
event.event.preventDefault();
event.pos = this.dropPosition;
this.dropOver.emit(event);
}
}

4
npm/ng-packs/packages/core/src/lib/tests/api.interceptor.spec.ts

@ -21,8 +21,8 @@ describe('ApiInterceptor', () => {
beforeEach(() => {
spectator = createService();
interceptor = spectator.service;
store = spectator.get(Store);
oauthService = spectator.get(OAuthService);
store = spectator.inject(Store);
oauthService = spectator.inject(OAuthService);
});
it('should add headers to http request', done => {

2
npm/ng-packs/packages/core/src/lib/tests/application-configuration.service.spec.ts

@ -14,7 +14,7 @@ describe('ApplicationConfigurationService', () => {
beforeEach(() => (spectator = createHttp()));
it('should send a GET to application-configuration API', () => {
spectator.get(Store).selectSnapshot.andReturn('https://abp.io');
spectator.inject(Store).selectSnapshot.andReturn('https://abp.io');
spectator.service.getConfiguration().subscribe();
spectator.expectOne('https://abp.io/api/abp/application-configuration', HttpMethod.GET);
});

6
npm/ng-packs/packages/core/src/lib/tests/auth.guard.spec.ts

@ -22,13 +22,13 @@ describe('AuthGuard', () => {
});
it('should return true when user logged in', () => {
spectator.get(OAuthService).hasValidAccessToken.andReturn(true);
spectator.inject(OAuthService).hasValidAccessToken.andReturn(true);
expect(guard.canActivate(null, null)).toBe(true);
});
it('should return navigate to login page with redirectUrl state', () => {
const router = spectator.get(Router);
spectator.get(OAuthService).hasValidAccessToken.andReturn(false);
const router = spectator.inject(Router);
spectator.inject(OAuthService).hasValidAccessToken.andReturn(false);
expect(guard.canActivate(null, { url: '/' } as any)).toBe(true);
expect(router.navigate).toHaveBeenCalledWith(['/account/login'], {

2
npm/ng-packs/packages/core/src/lib/tests/config-state.service.spec.ts

@ -102,7 +102,7 @@ describe('ConfigStateService', () => {
beforeEach(() => {
spectator = createService();
service = spectator.service;
store = spectator.get(Store);
store = spectator.inject(Store);
});
test('should have the all ConfigState static methods', () => {
const reg = /(?<=static )(.*)(?=\()/gm;

6
npm/ng-packs/packages/core/src/lib/tests/config.state.spec.ts

@ -110,9 +110,9 @@ describe('ConfigState', () => {
beforeEach(() => {
spectator = createService();
store = spectator.get(Store);
store = spectator.inject(Store);
service = spectator.service;
state = new ConfigState(spectator.get(HttpClient), store);
state = new ConfigState(spectator.inject(HttpClient), store);
});
describe('#getAll', () => {
@ -250,7 +250,7 @@ describe('ConfigState', () => {
dispatchArg = a;
return of(a);
});
const httpClient = spectator.get(HttpClient);
const httpClient = spectator.inject(HttpClient);
httpClient.get.andReturn(res$);
state.addData({ patchState, dispatch } as any).subscribe();

4
npm/ng-packs/packages/core/src/lib/tests/dynamic-layout.component.spec.ts

@ -167,8 +167,8 @@ describe('DynamicLayoutComponent', () => {
beforeEach(async () => {
spectator = createComponent();
store = spectator.get(Store);
const routesService = spectator.get(RoutesService);
store = spectator.inject(Store);
const routesService = spectator.inject(RoutesService);
routesService.add(routes);
store.reset(storeData);

6
npm/ng-packs/packages/core/src/lib/tests/locale.provider.spec.ts

@ -26,12 +26,12 @@ describe('LocaleProvider', () => {
describe('#LOCALE_ID', () => {
test('should equal to currentLang', async () => {
spectator = createComponent();
const localizationService = spectator.get(LocalizationService);
const localizationService = spectator.inject(LocalizationService);
expect(spectator.get(LOCALE_ID).valueOf()).toBe(localesMapping['en-US'] || 'en-US');
expect(spectator.inject(LOCALE_ID).valueOf()).toBe(localesMapping['en-US'] || 'en-US');
(localizationService as any).currentLang = 'tr';
expect(spectator.get(LOCALE_ID).valueOf()).toBe(localesMapping['tr'] || 'tr');
expect(spectator.inject(LOCALE_ID).valueOf()).toBe(localesMapping['tr'] || 'tr');
});
});
});

4
npm/ng-packs/packages/core/src/lib/tests/localization.pipe.spec.ts

@ -12,8 +12,8 @@ describe('LocalizationPipe', () => {
beforeEach(() => {
spectator = createService();
pipe = spectator.get(LocalizationPipe);
store = spectator.get(Store);
pipe = spectator.inject(LocalizationPipe);
store = spectator.inject(Store);
});
it('should call getLocalization selector', () => {

4
npm/ng-packs/packages/core/src/lib/tests/localization.service.spec.ts

@ -18,7 +18,7 @@ describe('LocalizationService', () => {
beforeEach(() => {
spectator = createService();
store = spectator.get(Store);
store = spectator.inject(Store);
service = spectator.service;
});
@ -52,7 +52,7 @@ describe('LocalizationService', () => {
describe('#registerLocale', () => {
it('should return registerLocale and then call setRouteReuse', () => {
const router = spectator.get(Router);
const router = spectator.inject(Router);
const shouldReuseRoute = () => true;
router.routeReuseStrategy = { shouldReuseRoute } as any;

2
npm/ng-packs/packages/core/src/lib/tests/permission.directive.spec.ts

@ -42,7 +42,7 @@ describe('PermissionDirective', () => {
});
it('should do nothing when condition is undefined', () => {
const spy = jest.spyOn(spectator.get(Store), 'select');
const spy = jest.spyOn(spectator.inject(Store), 'select');
grantedPolicy$.next(false);
expect(spy.mock.calls).toHaveLength(0);
});

2
npm/ng-packs/packages/core/src/lib/tests/permission.guard.spec.ts

@ -52,7 +52,7 @@ describe('PermissionGuard', () => {
spectator = createService();
guard = spectator.service;
routes = spectator.inject(RoutesService);
store = spectator.get(Store);
store = spectator.inject(Store);
});
it('should return true when the grantedPolicy is true', done => {

2
npm/ng-packs/packages/core/src/lib/tests/profile-state.service.spec.ts

@ -13,7 +13,7 @@ describe('ProfileStateService', () => {
beforeEach(() => {
spectator = createService();
service = spectator.service;
store = spectator.get(Store);
store = spectator.inject(Store);
});
test('should have the all ProfileState static methods', () => {
const reg = /(?<=static )(.*)(?=\()/gm;

6
npm/ng-packs/packages/core/src/lib/tests/profile.service.spec.ts

@ -14,14 +14,14 @@ describe('ProfileService', () => {
beforeEach(() => (spectator = createHttp()));
it('should send a GET to my-profile API', () => {
spectator.get(Store).selectSnapshot.andReturn('https://abp.io');
spectator.inject(Store).selectSnapshot.andReturn('https://abp.io');
spectator.service.get().subscribe();
spectator.expectOne('https://abp.io/api/identity/my-profile', HttpMethod.GET);
});
it('should send a POST to change-password API', () => {
const mock = { currentPassword: 'test', newPassword: 'test' };
spectator.get(Store).selectSnapshot.andReturn('https://abp.io');
spectator.inject(Store).selectSnapshot.andReturn('https://abp.io');
spectator.service.changePassword(mock).subscribe();
const req = spectator.expectOne(
'https://abp.io/api/identity/my-profile/change-password',
@ -38,7 +38,7 @@ describe('ProfileService', () => {
surname: 'Doe',
phoneNumber: '+123456',
};
spectator.get(Store).selectSnapshot.andReturn('https://abp.io');
spectator.inject(Store).selectSnapshot.andReturn('https://abp.io');
spectator.service.update(mock).subscribe();
const req = spectator.expectOne('https://abp.io/api/identity/my-profile', HttpMethod.PUT);
expect(req.request.body).toEqual(mock);

2
npm/ng-packs/packages/core/src/lib/tests/profile.state.spec.ts

@ -26,7 +26,7 @@ describe('ProfileState', () => {
beforeEach(() => {
spectator = createService();
profileService = spectator.get(ProfileService);
profileService = spectator.inject(ProfileService);
state = new ProfileState(profileService);
});

6
npm/ng-packs/packages/core/src/lib/tests/replaceable-components.state.spec.ts

@ -25,7 +25,7 @@ describe('ReplaceableComponentsState', () => {
});
it('should add a component to the state', () => {
const store = spectator.get(Store);
const store = spectator.inject(Store);
expect(store.selectSnapshot(ReplaceableComponentsState.getAll)).toEqual([]);
store.dispatch(new AddReplaceableComponent({ component: DummyComponent, key: 'Dummy' }));
expect(store.selectSnapshot(ReplaceableComponentsState.getComponent('Dummy'))).toEqual({
@ -35,7 +35,7 @@ describe('ReplaceableComponentsState', () => {
});
it('should replace a exist component', () => {
const store = spectator.get(Store);
const store = spectator.inject(Store);
store.dispatch(new AddReplaceableComponent({ component: DummyComponent, key: 'Dummy' }));
store.dispatch(new AddReplaceableComponent({ component: null, key: 'Dummy' }));
expect(store.selectSnapshot(ReplaceableComponentsState.getComponent('Dummy'))).toEqual({
@ -47,7 +47,7 @@ describe('ReplaceableComponentsState', () => {
it('should call reloadRoute when reload parameter is given as true to AddReplaceableComponent', async () => {
const spy = jest.spyOn(router, 'navigateByUrl');
const store = spectator.get(Store);
const store = spectator.inject(Store);
store.dispatch(new AddReplaceableComponent({ component: DummyComponent, key: 'Dummy' }));
store.dispatch(new AddReplaceableComponent({ component: null, key: 'Dummy' }, true));

2
npm/ng-packs/packages/core/src/lib/tests/rest.service.spec.ts

@ -20,7 +20,7 @@ describe('HttpClient testing', () => {
beforeEach(() => {
spectator = createHttp();
store = spectator.get(Store);
store = spectator.inject(Store);
store.reset({
ConfigState: {
environment: {

2
npm/ng-packs/packages/core/src/lib/tests/session-state.service.spec.ts

@ -17,7 +17,7 @@ describe('SessionStateService', () => {
beforeEach(() => {
spectator = createService();
service = spectator.service;
store = spectator.get(Store);
store = spectator.inject(Store);
});
test('should have the all SessionState static methods', () => {
const reg = /(?<=static )(.*)(?=\()/gm;

2
npm/ng-packs/packages/feature-management/src/lib/tests/feature-management-state.service.spec.ts

@ -16,7 +16,7 @@ describe('FeatureManagementStateService', () => {
beforeEach(() => {
spectator = createService();
service = spectator.service;
store = spectator.get(Store);
store = spectator.inject(Store);
});
test('should have the all FeatureManagementState static methods', () => {

2
npm/ng-packs/packages/identity/src/lib/tests/identity-state.service.spec.ts

@ -13,7 +13,7 @@ describe('IdentityStateService', () => {
beforeEach(() => {
spectator = createService();
service = spectator.service;
store = spectator.get(Store);
store = spectator.inject(Store);
});
test('should have the all IdentityState static methods', () => {

2
npm/ng-packs/packages/permission-management/src/lib/tests/permission-management-state.service.spec.ts

@ -16,7 +16,7 @@ describe('PermissionManagementStateService', () => {
beforeEach(() => {
spectator = createService();
service = spectator.service;
store = spectator.get(Store);
store = spectator.inject(Store);
});
test('should have the all PermissionManagementState static methods', () => {
const reg = /(?<=static )(.*)(?=\()/gm;

2
npm/ng-packs/packages/tenant-management/src/lib/tests/tenant-management-state.service.spec.ts

@ -16,7 +16,7 @@ describe('TenantManagementStateService', () => {
beforeEach(() => {
spectator = createService();
service = spectator.service;
store = spectator.get(Store);
store = spectator.inject(Store);
});
test('should have the all TenantManagementState static methods', () => {

4
npm/ng-packs/packages/theme-shared/extensions/src/tests/form-props.util.spec.ts

@ -126,8 +126,8 @@ describe('Form Prop Utils', () => {
function* getInjected(spectator: SpectatorService<ExtensionsService>) {
yield spectator.service;
yield spectator.get(EXTENSIONS_IDENTIFIER);
yield spectator.get(LocalizationService);
yield spectator.inject(EXTENSIONS_IDENTIFIER);
yield spectator.inject(LocalizationService);
}
interface Foo {

6
npm/ng-packs/packages/theme-shared/src/lib/tests/append-content.token.spec.ts

@ -15,8 +15,8 @@ describe('AppendContentToken', () => {
beforeEach(() => (spectator = createComponent()));
it('should insert a style element to the DOM', () => {
spectator.get(THEME_SHARED_APPEND_CONTENT);
expect(spectator.get(DomInsertionService).has(styles)).toBe(true);
spectator.inject(THEME_SHARED_APPEND_CONTENT);
expect(spectator.inject(DomInsertionService).has(styles)).toBe(true);
});
it('should be loaded the chart.js', done => {
@ -25,6 +25,6 @@ describe('AppendContentToken', () => {
done();
});
spectator.get(THEME_SHARED_APPEND_CONTENT);
spectator.inject(THEME_SHARED_APPEND_CONTENT);
});
});

4
npm/ng-packs/packages/theme-shared/src/lib/tests/breadcrumb.component.spec.ts

@ -54,8 +54,8 @@ describe('BreadcrumbComponent', () => {
beforeEach(() => {
spectator = createRouting();
routes = spectator.get(RoutesService);
store = spectator.get(Store);
routes = spectator.inject(RoutesService);
store = spectator.inject(Store);
});
it('should display the breadcrumb', async () => {

6
npm/ng-packs/packages/theme-shared/src/lib/tests/error.handler.spec.ts

@ -52,7 +52,7 @@ describe('ErrorHandler', () => {
beforeEach(() => {
spectator = createService();
service = spectator.service;
store = spectator.get(Store);
store = spectator.inject(Store);
store.selectSnapshot = jest.fn(() => '/x');
});
@ -189,7 +189,7 @@ describe('ErrorHandler', () => {
test('should call error method of ConfirmationService when authenticated error occurs with _AbpErrorFormat header', done => {
spectator
.get(Actions)
.inject(Actions)
.pipe(ofActionDispatched(Navigate))
.subscribe(({ path, queryParams, extras }) => {
expect(path).toEqual(['/account/login']);
@ -281,7 +281,7 @@ describe('ErrorHandler with custom error component', () => {
beforeEach(() => {
spectator = createService();
service = spectator.service;
store = spectator.get(Store);
store = spectator.inject(Store);
store.selectSnapshot = jest.fn(() => '/x');
});

8
npm/ng-packs/packages/theme-shared/src/lib/tests/loader-bar.component.spec.ts

@ -22,7 +22,7 @@ describe('LoaderBarComponent', () => {
spectator = createHost('<abp-loader-bar></abp-loader-bar>');
spectator.component.intervalPeriod = 1;
spectator.component.stopDelay = 1;
router = spectator.get(Router);
router = spectator.inject(Router);
(router as any).events = events$;
});
@ -34,7 +34,7 @@ describe('LoaderBarComponent', () => {
it('should increase the progressLevel', done => {
spectator.detectChanges();
spectator.get(Store).dispatch(new StartLoader(new HttpRequest('GET', 'test')));
spectator.inject(Store).dispatch(new StartLoader(new HttpRequest('GET', 'test')));
spectator.detectChanges();
setTimeout(() => {
expect(spectator.component.progressLevel > 0).toBeTruthy();
@ -44,7 +44,7 @@ describe('LoaderBarComponent', () => {
test.skip('should be interval unsubscribed', done => {
spectator.detectChanges();
spectator.get(Store).dispatch(new StartLoader(new HttpRequest('GET', 'test')));
spectator.inject(Store).dispatch(new StartLoader(new HttpRequest('GET', 'test')));
expect(spectator.component.interval.closed).toBe(false);
timer(400).subscribe(() => {
@ -73,7 +73,7 @@ describe('LoaderBarComponent', () => {
(router as any).events.next(new NavigationStart(1, 'test'));
expect(spectator.component.interval.closed).toBe(false);
spectator.get(Store).dispatch(new StopLoader(new HttpRequest('GET', 'test')));
spectator.inject(Store).dispatch(new StopLoader(new HttpRequest('GET', 'test')));
expect(spectator.component.progressLevel).toBe(100);
timer(2).subscribe(() => {

2
npm/ng-packs/packages/theme-shared/src/lib/tests/modal-container.component.spec.ts

@ -23,7 +23,7 @@ describe('ModalContainerComponent', () => {
let foo = document.querySelector('div.foo');
expect(foo).toBeNull();
const cfResolver = spectator.get(ComponentFactoryResolver);
const cfResolver = spectator.inject(ComponentFactoryResolver);
const factory = cfResolver.resolveComponentFactory(TestComponent);
componentRef = spectator.component.container.createComponent(factory);

4
npm/ng-packs/packages/theme-shared/src/lib/tests/modal.component.spec.ts

@ -78,7 +78,7 @@ describe('ModalComponent', () => {
});
afterEach(() => {
const modalService = spectator.get(ModalService);
const modalService = spectator.inject(ModalService);
modalService.clearModal();
});
@ -120,7 +120,7 @@ describe('ModalComponent', () => {
});
it('should open the confirmation popup and works correct', async () => {
const confirmationService = spectator.get(ConfirmationService);
const confirmationService = spectator.inject(ConfirmationService);
const warnSpy = jest.spyOn(confirmationService, 'warn');
await wait0ms();

2
npm/ng-packs/packages/theme-shared/src/lib/tests/validation-utils.spec.ts

@ -22,7 +22,7 @@ describe('ValidationUtils', () => {
describe('#getPasswordValidators', () => {
it('should return password valdiators', () => {
const store = spectator.get(Store);
const store = spectator.inject(Store);
store.reset({
ConfigState: {
setting: {

4
npm/ng-packs/scripts/build.ts

@ -23,7 +23,7 @@ import fse from 'fs-extra';
'--no-watch',
'--sync',
'--packages',
'@abp/ng.core,@abp/ng.theme.shared',
'@abp/ng.core,@abp/ng.theme.shared,@abp/ng.components',
],
{ stdout: 'inherit', cwd: '../' },
);
@ -38,7 +38,7 @@ import fse from 'fs-extra';
'--no-watch',
'--all-packages',
'--excluded-packages',
'@abp/ng.core,@abp/ng.theme.shared,@abp/ng.feature-management,@abp/ng.permission-management',
'@abp/ng.core,@abp/ng.theme.shared,@abp/ng.components,@abp/ng.feature-management,@abp/ng.permission-management',
],
{ stdout: 'inherit', cwd: '../' },
);

94
npm/ng-packs/yarn.lock

@ -2319,10 +2319,10 @@
rxjs "6.5.5"
webpack-sources "1.4.3"
"@ngx-validate/core@^0.0.8", "@ngx-validate/core@^0.0.9":
version "0.0.8"
resolved "https://registry.yarnpkg.com/@ngx-validate/core/-/core-0.0.8.tgz#8577405eb1af0f5002cdda7a86fbcda56280f116"
integrity sha512-caIG5ao76Xhf7T+pNA8crnpAwK0yqj3i0OAUGZRUq1W+kNgz+ZnrSd4F9an/W4g+38u/8gfUVvsfsm07ju6qYA==
"@ngx-validate/core@^0.0.9":
version "0.0.9"
resolved "https://registry.yarnpkg.com/@ngx-validate/core/-/core-0.0.9.tgz#c5baea9e6f2f28c70d1adaf1edde5a9bcc8929c0"
integrity sha512-bvgwGr3l47gyxqsfKkI8c7UNMlv8ct/OvwYVDjYI7GBt0A+nhBb+xFmirWbBkMT64bUI0Y8pWIiB5qiewPG1WA==
dependencies:
tslib "^1.9.0"
@ -2402,13 +2402,13 @@
"@octokit/types" "^5.0.0"
"@octokit/endpoint@^6.0.1":
version "6.0.3"
resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-6.0.3.tgz#dd09b599662d7e1b66374a177ab620d8cdf73487"
integrity sha512-Y900+r0gIz+cWp6ytnkibbD95ucEzDSKzlEnaWS52hbCDNcCJYO5mRmWW7HRAnDc7am+N/5Lnd8MppSaTYx1Yg==
version "6.0.4"
resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-6.0.4.tgz#da3eafdee1fabd6e5b6ca311efcba26f0dd99848"
integrity sha512-ZJHIsvsClEE+6LaZXskDvWIqD3Ao7+2gc66pRG5Ov4MQtMvCU9wGu1TItw9aGNmRuU9x3Fei1yb+uqGaQnm0nw==
dependencies:
"@octokit/types" "^5.0.0"
is-plain-object "^3.0.0"
universal-user-agent "^5.0.0"
universal-user-agent "^6.0.0"
"@octokit/plugin-enterprise-rest@^6.0.1":
version "6.0.1"
@ -2454,9 +2454,9 @@
once "^1.4.0"
"@octokit/request@^5.2.0":
version "5.4.5"
resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.4.5.tgz#8df65bd812047521f7e9db6ff118c06ba84ac10b"
integrity sha512-atAs5GAGbZedvJXXdjtKljin+e2SltEs48B3naJjqWupYl2IUBbB/CJisyjbNHcKpHzb3E+OYEZ46G8eakXgQg==
version "5.4.6"
resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.4.6.tgz#e8cc8d4cfc654d30428ea92aaa62168fd5ead7eb"
integrity sha512-9r8Sn4CvqFI9LDLHl9P17EZHwj3ehwQnTpTE+LEneb0VBBqSiI/VS4rWIBfBhDrDs/aIGEGZRSB0QWAck8u+2g==
dependencies:
"@octokit/endpoint" "^6.0.1"
"@octokit/request-error" "^2.0.0"
@ -2465,7 +2465,7 @@
is-plain-object "^3.0.0"
node-fetch "^2.3.0"
once "^1.4.0"
universal-user-agent "^5.0.0"
universal-user-agent "^6.0.0"
"@octokit/rest@^16.28.4":
version "16.43.2"
@ -2579,9 +2579,9 @@
integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==
"@sinonjs/commons@^1.7.0":
version "1.8.0"
resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.0.tgz#c8d68821a854c555bba172f3b06959a0039b236d"
integrity sha512-wEj54PfsZ5jGSwMX68G8ZXFawcSglQSXqCftWX3ec8MDUzQdHgcKvw97awHbY0efQEL5iKUOAmmVtoYgmrSG4Q==
version "1.8.1"
resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.1.tgz#e7df00f98a203324f6dc7cc606cad9d4a8ab2217"
integrity sha512-892K+kWUUi3cl+LlqEWIDrhvLgdL79tECi8JZUyq6IviKy/DNhuzCRlbHUjxK89f4ypPMMaFnFuR9Ie6DoIMsw==
dependencies:
type-detect "4.0.8"
@ -4116,9 +4116,9 @@ caniuse-api@^3.0.0:
lodash.uniq "^4.5.0"
caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001032, caniuse-lite@^1.0.30001061, caniuse-lite@^1.0.30001093, caniuse-lite@^1.0.30001097:
version "1.0.30001100"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001100.tgz#2a58615e0c01cf716ab349b20ca4d86ef944aa4e"
integrity sha512-0eYdp1+wFCnMlCj2oudciuQn2B9xAFq3WpgpcBIZTxk/1HNA/O2YA7rpeYhnOqsqAJq1AHUgx6i1jtafg7m2zA==
version "1.0.30001102"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001102.tgz#3275e7a8d09548f955f665e532df88de0b63741a"
integrity sha512-fOjqRmHjRXv1H1YD6QVLb96iKqnu17TjcLSaX64TwhGYed0P1E1CCWZ9OujbbK4Z/7zax7zAzvQidzdtjx8RcA==
canonical-path@1.0.0:
version "1.0.0"
@ -5697,9 +5697,9 @@ ee-first@1.1.1:
integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
electron-to-chromium@^1.3.488:
version "1.3.498"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.498.tgz#fd7188c8a49d6d0b5df1df55a1f1a4bf2c177457"
integrity sha512-W1hGwaQEU8j9su2jeAr3aabkPuuXw+j8t73eajGAkEJWbfWiwbxBwQN/8Qmv2qCy3uCDm2rOAaZneYQM8VGC4w==
version "1.3.499"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.499.tgz#06949f19877dafa42915e57dfeb4c1cfb86a8649"
integrity sha512-y7FwtQm/8xuLMnYQfBQDYzCpNn+VkSnf4c3Km5TWMNXg7JA5RQBuxmcLaKdDVcIK0K5xGIa7TlxpRt4BdNxNoA==
elliptic@^6.0.0, elliptic@^6.5.2:
version "6.5.3"
@ -8583,9 +8583,9 @@ less-loader@6.1.0:
schema-utils "^2.6.6"
less@^3.10.3, less@^3.11.1:
version "3.12.0"
resolved "https://registry.yarnpkg.com/less/-/less-3.12.0.tgz#f23f9bd94ba72495994865d84e3b5ac6ee8a0363"
integrity sha512-3mmSHFRP9hGxxQgAKgChfau1LO3ksV/zyZf1qd2ENyBV778NA9Ids99wFRA20jE+5prT7oScKod8PoGlxSe1gg==
version "3.12.2"
resolved "https://registry.yarnpkg.com/less/-/less-3.12.2.tgz#157e6dd32a68869df8859314ad38e70211af3ab4"
integrity sha512-+1V2PCMFkL+OIj2/HrtrvZw0BC0sYLMICJfbQjuj/K8CEnlrFX6R5cKKgzzttsZDHyxQNL1jqMREjKN3ja/E3Q==
dependencies:
tslib "^1.10.0"
optionalDependencies:
@ -9291,7 +9291,7 @@ mkdirp-promise@^5.0.1:
dependencies:
mkdirp "*"
mkdirp@*, mkdirp@1.x, mkdirp@^1.0.3, mkdirp@^1.0.4:
mkdirp@*, mkdirp@1.x, mkdirp@^1.0.3, mkdirp@^1.0.4, mkdirp@~1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e"
integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
@ -12641,7 +12641,7 @@ stylus-loader@3.0.2:
lodash.clonedeep "^4.5.0"
when "~3.6.x"
stylus@0.54.7, stylus@^0.54.7:
stylus@0.54.7:
version "0.54.7"
resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.54.7.tgz#c6ce4793965ee538bcebe50f31537bfc04d88cd2"
integrity sha512-Yw3WMTzVwevT6ZTrLCYNHAFmanMxdylelL3hkWNgPMeTCpMwpV3nXjpOHuBXtFv7aiO2xRuQS6OoAdgkNcSNug==
@ -12655,6 +12655,20 @@ stylus@0.54.7, stylus@^0.54.7:
semver "^6.0.0"
source-map "^0.7.3"
stylus@^0.54.7:
version "0.54.8"
resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.54.8.tgz#3da3e65966bc567a7b044bfe0eece653e099d147"
integrity sha512-vr54Or4BZ7pJafo2mpf0ZcwA74rpuYCZbxrHBsH8kbcXOwSfvBFwsRfpGO5OD5fhG5HDCFW737PKaawI7OqEAg==
dependencies:
css-parse "~2.0.0"
debug "~3.1.0"
glob "^7.1.6"
mkdirp "~1.0.4"
safer-buffer "^2.1.2"
sax "~1.2.4"
semver "^6.3.0"
source-map "^0.7.3"
supports-color@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
@ -13062,9 +13076,9 @@ trim-off-newlines@^1.0.0:
integrity sha1-n5up2e+odkw4dpi8v+sshI8RrbM=
ts-jest@^26.0.0:
version "26.1.2"
resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-26.1.2.tgz#dd2e832ffae9cb803361483b6a3010a6413dc475"
integrity sha512-V4SyBDO9gOdEh+AF4KtXJeP+EeI4PkOrxcA8ptl4o8nCXUVM5Gg/8ngGKneS5BsZaR9DXVQNqj9k+iqGAnpGow==
version "26.1.3"
resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-26.1.3.tgz#aac928a05fdf13e3e6dfbc8caec3847442667894"
integrity sha512-beUTSvuqR9SmKQEylewqJdnXWMVGJRFqSz2M8wKJe7GBMmLZ5zw6XXKSJckbHNMxn+zdB3guN2eOucSw2gBMnw==
dependencies:
bs-logger "0.x"
buffer-from "1.x"
@ -13097,9 +13111,9 @@ ts-pnp@^1.1.6:
integrity sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==
ts-toolbelt@^6.9.9:
version "6.13.6"
resolved "https://registry.yarnpkg.com/ts-toolbelt/-/ts-toolbelt-6.13.6.tgz#4c9fad69bb3389323fe60982f18cd06b72f7d42a"
integrity sha512-qqIexrhqCNOuSRCrJMOKor8UJxA4DYMB6fNpBmRAKJgmLXNj8TAiuCrs7Nm08fva+MEdQhEXmsnjBQarNSIWZg==
version "6.13.11"
resolved "https://registry.yarnpkg.com/ts-toolbelt/-/ts-toolbelt-6.13.11.tgz#46260d1cff0f2d635931df8d32239b73f2ed4f8d"
integrity sha512-QmvHwAofS1MAn1ndXCn2AVhxJLipaj4tK26SrhBTiydfgKtbLlU2efpIP/8Jocrc9ynNslZqrhqAesruJMlxCQ==
tsickle@^0.38.1:
version "0.38.1"
@ -13227,9 +13241,9 @@ typedarray@^0.0.6:
integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
typescript@^3.5.2, typescript@~3.9.5:
version "3.9.6"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.6.tgz#8f3e0198a34c3ae17091b35571d3afd31999365a"
integrity sha512-Pspx3oKAPJtjNwE92YS05HQoY7z2SFyOpHo9MqJor3BXAGNaPUs83CuVp9VISFkSjyRfiTpmKuAYGJB7S7hOxw==
version "3.9.7"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.7.tgz#98d600a5ebdc38f40cb277522f12dc800e9e25fa"
integrity sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw==
uglify-js@^3.1.4:
version "3.10.0"
@ -13326,12 +13340,10 @@ universal-user-agent@^4.0.0:
dependencies:
os-name "^3.1.0"
universal-user-agent@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-5.0.0.tgz#a3182aa758069bf0e79952570ca757de3579c1d9"
integrity sha512-B5TPtzZleXyPrUMKCpEHFmVhMN6EhmJYjG5PQna9s7mXeSqGTLap4OpqLl5FCEFUI3UBmllkETwKf/db66Y54Q==
dependencies:
os-name "^3.1.0"
universal-user-agent@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.0.tgz#3381f8503b251c0d9cd21bc1de939ec9df5480ee"
integrity sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==
universalify@^0.1.0:
version "0.1.2"

Loading…
Cancel
Save