diff --git a/package-lock.json b/package-lock.json index a92e48b4d..d9f90e222 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,25 +5,25 @@ "requires": true, "dependencies": { "@alfresco/adf-content-services": { - "version": "3.3.0-8a2a71d60be3f2b3dd0173f6a51d8075241e7203", - "resolved": "https://registry.npmjs.org/@alfresco/adf-content-services/-/adf-content-services-3.3.0-8a2a71d60be3f2b3dd0173f6a51d8075241e7203.tgz", - "integrity": "sha512-QPbvSfCG/rOLVcwzAw2IWDrGe8fgzK209zgQwgOiGzmHhtY2Ru3GF2in+rlG+VK/qZvErv9x6nT0BVEmlc2SoQ==", + "version": "3.3.0-626bb01bf7d26e693a4947982d20695c45794503", + "resolved": "https://registry.npmjs.org/@alfresco/adf-content-services/-/adf-content-services-3.3.0-626bb01bf7d26e693a4947982d20695c45794503.tgz", + "integrity": "sha512-2Y2VPvSxXxlhBJoKLQo9NGy0r9paAnAweXIi9EiuZctLNFDAzG2UVDb93gGhtcAi+ulH5xyoRu/9mDIpE4e5ew==", "requires": { "tslib": "^1.9.0" } }, "@alfresco/adf-core": { - "version": "3.3.0-8a2a71d60be3f2b3dd0173f6a51d8075241e7203", - "resolved": "https://registry.npmjs.org/@alfresco/adf-core/-/adf-core-3.3.0-8a2a71d60be3f2b3dd0173f6a51d8075241e7203.tgz", - "integrity": "sha512-BMqpwOyBAXKL9atGa4oNM+8KsQ/twiFiSJFTvi0tKbd+EhxaKINMv9/smnIE1D54hGzBHca/dBua4kT1FWbQwg==", + "version": "3.3.0-626bb01bf7d26e693a4947982d20695c45794503", + "resolved": "https://registry.npmjs.org/@alfresco/adf-core/-/adf-core-3.3.0-626bb01bf7d26e693a4947982d20695c45794503.tgz", + "integrity": "sha512-mEL+/0udJ1R4vnb8UK6QsdLRd/PPMo1q1esTYUAu0in0TR6PesqBiTMAtmj5sVV40IIeW7u7kD/TpZNBRDlxrg==", "requires": { "tslib": "^1.9.0" } }, "@alfresco/adf-extensions": { - "version": "3.3.0-8a2a71d60be3f2b3dd0173f6a51d8075241e7203", - "resolved": "https://registry.npmjs.org/@alfresco/adf-extensions/-/adf-extensions-3.3.0-8a2a71d60be3f2b3dd0173f6a51d8075241e7203.tgz", - "integrity": "sha512-iEABQcxgUxlh7/qhbUprgL+zxLue/NSPIAs5rxuBAsGbPusIPh15cvJmo1YUnm0cbjxLs5CMUGurenfeh7afEQ==", + "version": "3.3.0-626bb01bf7d26e693a4947982d20695c45794503", + "resolved": "https://registry.npmjs.org/@alfresco/adf-extensions/-/adf-extensions-3.3.0-626bb01bf7d26e693a4947982d20695c45794503.tgz", + "integrity": "sha512-qh2xdGTeNBvh7QzScvaYxHxvoTld5bCwDRIUKNj+Dt+C3aaAs5mdN85hTVQ82+vNptD8NO9nCBaS/CR5ISwt9Q==", "requires": { "tslib": "^1.9.0" } @@ -5113,7 +5113,8 @@ "ansi-regex": { "version": "2.1.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "aproba": { "version": "1.2.0", @@ -5134,12 +5135,14 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, + "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -5154,17 +5157,20 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "core-util-is": { "version": "1.0.2", @@ -5281,7 +5287,8 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "ini": { "version": "1.3.5", @@ -5293,6 +5300,7 @@ "version": "1.0.0", "bundled": true, "dev": true, + "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -5307,6 +5315,7 @@ "version": "3.0.4", "bundled": true, "dev": true, + "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -5314,12 +5323,14 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "minipass": { "version": "2.3.5", "bundled": true, "dev": true, + "optional": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -5338,6 +5349,7 @@ "version": "0.5.1", "bundled": true, "dev": true, + "optional": true, "requires": { "minimist": "0.0.8" } @@ -5418,7 +5430,8 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "object-assign": { "version": "4.1.1", @@ -5430,6 +5443,7 @@ "version": "1.4.0", "bundled": true, "dev": true, + "optional": true, "requires": { "wrappy": "1" } @@ -5515,7 +5529,8 @@ "safe-buffer": { "version": "5.1.2", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "safer-buffer": { "version": "2.1.2", @@ -5551,6 +5566,7 @@ "version": "1.0.2", "bundled": true, "dev": true, + "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -5570,6 +5586,7 @@ "version": "3.0.1", "bundled": true, "dev": true, + "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -5613,12 +5630,14 @@ "wrappy": { "version": "1.0.2", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "yallist": { "version": "3.0.3", "bundled": true, - "dev": true + "dev": true, + "optional": true } } }, diff --git a/package.json b/package.json index b71d9a13c..309acd06e 100644 --- a/package.json +++ b/package.json @@ -36,9 +36,9 @@ }, "private": true, "dependencies": { - "@alfresco/adf-content-services": "3.3.0-8a2a71d60be3f2b3dd0173f6a51d8075241e7203", - "@alfresco/adf-core": "3.3.0-8a2a71d60be3f2b3dd0173f6a51d8075241e7203", - "@alfresco/adf-extensions": "3.3.0-8a2a71d60be3f2b3dd0173f6a51d8075241e7203", + "@alfresco/adf-content-services": "3.3.0-626bb01bf7d26e693a4947982d20695c45794503", + "@alfresco/adf-core": "3.3.0-626bb01bf7d26e693a4947982d20695c45794503", + "@alfresco/adf-extensions": "3.3.0-626bb01bf7d26e693a4947982d20695c45794503", "@alfresco/js-api": "3.2.1", "@angular/animations": "7.2.15", "@angular/cdk": "^7.3.7", diff --git a/src/app.config.json b/src/app.config.json index 9b7937934..e82941ab9 100644 --- a/src/app.config.json +++ b/src/app.config.json @@ -20,6 +20,7 @@ "logo": "assets/images/alfresco-logo-flower.svg", "copyright": "APP.COPYRIGHT" }, + "sharedLinkDateTimePickerType": "date", "headerColor": "#2196F3", "languagePicker": true, "pagination": { diff --git a/src/app/app.component.spec.ts b/src/app/app.component.spec.ts index b5c55f0bc..11c2e77d7 100644 --- a/src/app/app.component.spec.ts +++ b/src/app/app.component.spec.ts @@ -54,6 +54,7 @@ describe('AppComponent', () => { null, null, null, + null, null ); }); diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 0295f2702..4f7ead6dd 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -29,7 +29,8 @@ import { AuthenticationService, FileUploadErrorEvent, PageTitleService, - UploadService + UploadService, + SharedLinksApiService } from '@alfresco/adf-core'; import { Component, OnInit, OnDestroy } from '@angular/core'; import { ActivatedRoute, NavigationEnd, Router } from '@angular/router'; @@ -70,7 +71,8 @@ export class AppComponent implements OnInit, OnDestroy { private uploadService: UploadService, private extensions: AppExtensionService, private contentApi: ContentApiService, - private appService: AppService + private appService: AppService, + private sharedLinksApiService: SharedLinksApiService ) {} ngOnInit() { @@ -120,6 +122,12 @@ export class AppComponent implements OnInit, OnDestroy { this.onFileUploadedError(error) ); + this.sharedLinksApiService.error + .pipe(takeUntil(this.onDestroy$)) + .subscribe((err: { message: string }) => { + this.store.dispatch(new SnackbarErrorAction(err.message)); + }); + this.appService.ready$ .pipe(takeUntil(this.onDestroy$)) .subscribe(isReady => { diff --git a/src/app/app.module.ts b/src/app/app.module.ts index d74c50003..9ef973b2b 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -61,7 +61,6 @@ import { DirectivesModule } from './directives/directives.module'; import { ContextMenuModule } from './components/context-menu/context-menu.module'; import { ExtensionsModule } from '@alfresco/adf-extensions'; import { AppToolbarModule } from './components/toolbar/toolbar.module'; -import { AppSharedModule } from './components/shared/shared.module'; import { AppCreateMenuModule } from './components/create-menu/create-menu.module'; import { AppSidenavModule } from './components/sidenav/sidenav.module'; import { AppPermissionsModule } from './components/permissions/permissions.module'; @@ -102,7 +101,6 @@ import { environment } from '../environments/environment'; ContextMenuModule, AppInfoDrawerModule, AppToolbarModule, - AppSharedModule, AppSidenavModule, AppCreateMenuModule, DocumentListCustomComponentsModule, diff --git a/src/app/components/common/common.module.ts b/src/app/components/common/common.module.ts index fbda679d4..17ac4f12f 100644 --- a/src/app/components/common/common.module.ts +++ b/src/app/components/common/common.module.ts @@ -29,6 +29,7 @@ import { CommonModule } from '@angular/common'; import { NgModule } from '@angular/core'; import { GenericErrorModule } from '@alfresco/aca-shared'; import { LocationLinkComponent } from './location-link/location-link.component'; +import { ToggleSharedComponent } from './toggle-shared/toggle-shared.component'; @NgModule({ imports: [ @@ -37,8 +38,13 @@ import { LocationLinkComponent } from './location-link/location-link.component'; ExtensionsModule, GenericErrorModule ], - declarations: [LocationLinkComponent], - exports: [ExtensionsModule, LocationLinkComponent, GenericErrorModule], - entryComponents: [LocationLinkComponent] + declarations: [LocationLinkComponent, ToggleSharedComponent], + exports: [ + ExtensionsModule, + LocationLinkComponent, + GenericErrorModule, + ToggleSharedComponent + ], + entryComponents: [LocationLinkComponent, ToggleSharedComponent] }) export class AppCommonModule {} diff --git a/src/app/components/shared/toggle-shared/toggle-shared.component.html b/src/app/components/common/toggle-shared/toggle-shared.component.html similarity index 100% rename from src/app/components/shared/toggle-shared/toggle-shared.component.html rename to src/app/components/common/toggle-shared/toggle-shared.component.html diff --git a/src/app/components/shared/toggle-shared/toggle-shared.component.spec.ts b/src/app/components/common/toggle-shared/toggle-shared.component.spec.ts similarity index 100% rename from src/app/components/shared/toggle-shared/toggle-shared.component.spec.ts rename to src/app/components/common/toggle-shared/toggle-shared.component.spec.ts diff --git a/src/app/components/shared/toggle-shared/toggle-shared.component.ts b/src/app/components/common/toggle-shared/toggle-shared.component.ts similarity index 100% rename from src/app/components/shared/toggle-shared/toggle-shared.component.ts rename to src/app/components/common/toggle-shared/toggle-shared.component.ts diff --git a/src/app/components/shared/content-node-share/content-node-share.dialog.html b/src/app/components/shared/content-node-share/content-node-share.dialog.html deleted file mode 100644 index ffa3138e3..000000000 --- a/src/app/components/shared/content-node-share/content-node-share.dialog.html +++ /dev/null @@ -1,92 +0,0 @@ -
diff --git a/src/app/components/shared/content-node-share/content-node-share.dialog.scss b/src/app/components/shared/content-node-share/content-node-share.dialog.scss deleted file mode 100644 index cfd380f8c..000000000 --- a/src/app/components/shared/content-node-share/content-node-share.dialog.scss +++ /dev/null @@ -1,64 +0,0 @@ -@mixin adf-share-link-typography { - letter-spacing: -0.4px; - line-height: 2; - font-weight: normal; - font-style: normal; - font-stretch: normal; - font-size: 16px; - opacity: 0.87; -} - -.adf-share-link-dialog { - .adf-share-link { - &__dialog-content { - display: flex; - flex-direction: column; - } - - &__label { - @include adf-share-link-typography; - flex: 1 1 auto; - } - - &__title { - @include adf-share-link-typography; - } - - &__info { - @include adf-share-link-typography; - opacity: 0.54; - font-size: 13px; - } - - &--row { - display: flex; - flex-direction: row; - flex-wrap: wrap; - align-items: center; - } - - &__input { - opacity: 0.54; - } - } - - .adf-input-action { - cursor: pointer; - } - - .mat-form-field-infix { - border-top: unset; - } - - .mat-dialog-actions { - justify-content: flex-end; - - & > button { - text-transform: uppercase; - } - } - - .mat-form-field-flex { - align-items: center; - } -} diff --git a/src/app/components/shared/content-node-share/content-node-share.dialog.spec.ts b/src/app/components/shared/content-node-share/content-node-share.dialog.spec.ts deleted file mode 100644 index 3f3a3af58..000000000 --- a/src/app/components/shared/content-node-share/content-node-share.dialog.spec.ts +++ /dev/null @@ -1,350 +0,0 @@ -/*! - * @license - * Copyright 2019 Alfresco Software, Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { NoopAnimationsModule } from '@angular/platform-browser/animations'; -import { TestBed, fakeAsync, async, tick } from '@angular/core/testing'; -import { - MatDialogRef, - MAT_DIALOG_DATA, - MatDialog -} from '@angular/material/dialog'; -import { of } from 'rxjs'; -import { - setupTestBed, - CoreModule, - SharedLinksApiService, - NodesApiService, - NotificationService -} from '@alfresco/adf-core'; -import { ContentNodeShareModule } from './content-node-share.module'; -import { ShareDialogComponent } from './content-node-share.dialog'; -import * as moment from 'moment'; -import { Store } from '@ngrx/store'; - -describe('ShareDialogComponent', () => { - let node; - let matDialog: MatDialog; - const notificationServiceMock = { - openSnackMessage: jasmine.createSpy('openSnackMessage') - }; - let sharedLinksApiService: SharedLinksApiService; - let nodesApiService: NodesApiService; - let fixture; - let component; - const storeMock = { - dispatch: jasmine.createSpy('dispatch') - }; - - setupTestBed({ - imports: [ - NoopAnimationsModule, - CoreModule.forRoot(), - ContentNodeShareModule - ], - providers: [ - NodesApiService, - SharedLinksApiService, - { provide: Store, useValue: storeMock }, - { provide: NotificationService, useValue: notificationServiceMock }, - { provide: MatDialogRef, useValue: {} }, - { provide: MAT_DIALOG_DATA, useValue: {} } - ] - }); - - beforeEach(() => { - fixture = TestBed.createComponent(ShareDialogComponent); - matDialog = TestBed.get(MatDialog); - sharedLinksApiService = TestBed.get(SharedLinksApiService); - nodesApiService = TestBed.get(NodesApiService); - component = fixture.componentInstance; - }); - - beforeEach(() => { - node = { - entry: { - id: 'nodeId', - allowableOperations: ['update'], - isFile: true, - properties: {} - } - }; - }); - - afterEach(() => { - fixture.destroy(); - }); - - it(`should toggle share action when property 'sharedId' does not exists`, fakeAsync(() => { - spyOn(sharedLinksApiService, 'createSharedLinks').and.returnValue( - of({ - entry: { id: 'sharedId', sharedId: 'sharedId' } - }) - ); - - component.data = { - node, - permission: true, - baseShareUrl: 'some-url/' - }; - - fixture.detectChanges(); - tick(500); - - expect(sharedLinksApiService.createSharedLinks).toHaveBeenCalled(); - expect( - fixture.nativeElement.querySelector('input[formcontrolname="sharedUrl"]') - .value - ).toBe('some-url/sharedId'); - expect( - fixture.nativeElement.querySelector( - '.mat-slide-toggle[data-automation-id="adf-share-toggle"' - ).classList - ).toContain('mat-checked'); - })); - - it(`should not toggle share action when file has 'sharedId' property`, fakeAsync(() => { - spyOn(sharedLinksApiService, 'createSharedLinks'); - node.entry.properties['qshare:sharedId'] = 'sharedId'; - - component.data = { - node, - permission: true, - baseShareUrl: 'some-url/' - }; - - fixture.detectChanges(); - tick(500); - - expect(sharedLinksApiService.createSharedLinks).not.toHaveBeenCalled(); - expect( - fixture.nativeElement.querySelector('input[formcontrolname="sharedUrl"]') - .value - ).toBe('some-url/sharedId'); - expect( - fixture.nativeElement.querySelector( - '.mat-slide-toggle[data-automation-id="adf-share-toggle"' - ).classList - ).toContain('mat-checked'); - })); - - xit(`should copy shared link and notify on button event`, async(() => { - node.entry.properties['qshare:sharedId'] = 'sharedId'; - spyOn(document, 'execCommand').and.callThrough(); - - component.data = { - node, - permission: true, - baseShareUrl: 'some-url/' - }; - - fixture.detectChanges(); - - fixture.whenStable().then(() => { - fixture.detectChanges(); - - fixture.nativeElement - .querySelector('.adf-input-action') - .dispatchEvent(new MouseEvent('click')); - - fixture.detectChanges(); - - expect(document.execCommand).toHaveBeenCalledWith('copy'); - expect(notificationServiceMock.openSnackMessage).toHaveBeenCalledWith( - 'SHARE.CLIPBOARD-MESSAGE' - ); - }); - })); - - it('should open a confirmation dialog when unshare button is triggered', () => { - spyOn(matDialog, 'open').and.returnValue({ beforeClose: () => of(false) }); - spyOn(sharedLinksApiService, 'deleteSharedLink'); - node.entry.properties['qshare:sharedId'] = 'sharedId'; - - component.data = { - node, - permission: true, - baseShareUrl: 'some-url/' - }; - - fixture.detectChanges(); - - fixture.nativeElement - .querySelector( - '.mat-slide-toggle[data-automation-id="adf-share-toggle"] label' - ) - .dispatchEvent(new MouseEvent('click')); - - fixture.detectChanges(); - - expect(matDialog.open).toHaveBeenCalled(); - }); - - it('should unshare file when confirmation dialog returns true', fakeAsync(() => { - spyOn(matDialog, 'open').and.returnValue({ beforeClose: () => of(true) }); - spyOn(sharedLinksApiService, 'deleteSharedLink').and.returnValue(of(null)); - node.entry.properties['qshare:sharedId'] = 'sharedId'; - - component.data = { - node, - permission: true, - baseShareUrl: 'some-url/' - }; - - fixture.detectChanges(); - - fixture.nativeElement - .querySelector( - '.mat-slide-toggle[data-automation-id="adf-share-toggle"] label' - ) - .dispatchEvent(new MouseEvent('click')); - - fixture.detectChanges(); - - expect(sharedLinksApiService.deleteSharedLink).toHaveBeenCalled(); - })); - - it('should not unshare file when confirmation dialog returns false', fakeAsync(() => { - spyOn(matDialog, 'open').and.returnValue({ beforeClose: () => of(false) }); - spyOn(sharedLinksApiService, 'deleteSharedLink'); - node.entry.properties['qshare:sharedId'] = 'sharedId'; - - component.data = { - node, - permission: true, - baseShareUrl: 'some-url/' - }; - - fixture.detectChanges(); - - fixture.nativeElement - .querySelector( - '.mat-slide-toggle[data-automation-id="adf-share-toggle"] label' - ) - .dispatchEvent(new MouseEvent('click')); - - fixture.detectChanges(); - - expect(sharedLinksApiService.deleteSharedLink).not.toHaveBeenCalled(); - })); - - it('should reset expiration date when toggle is unchecked', () => { - spyOn(nodesApiService, 'updateNode').and.returnValue(of({})); - node.entry.properties['qshare:sharedId'] = 'sharedId'; - node.entry.properties['qshare:sharedId'] = '2017-04-15T18:31:37+00:00'; - - component.data = { - node, - permission: true, - baseShareUrl: 'some-url/' - }; - - fixture.detectChanges(); - - component.form.controls['time'].setValue(moment()); - - fixture.detectChanges(); - - fixture.nativeElement - .querySelector( - '.mat-slide-toggle[data-automation-id="adf-expire-toggle"] label' - ) - .dispatchEvent(new MouseEvent('click')); - - fixture.detectChanges(); - - expect(nodesApiService.updateNode).toHaveBeenCalledWith('nodeId', { - properties: { 'qshare:expiryDate': null } - }); - - expect( - fixture.nativeElement.querySelector('input[formcontrolname="time"]').value - ).toBe(''); - }); - - it('should not allow expiration date action when node has no update permission', () => { - node.entry.properties['qshare:sharedId'] = 'sharedId'; - - component.data = { - node, - permission: false, - baseShareUrl: 'some-url/' - }; - - fixture.detectChanges(); - - expect( - fixture.nativeElement.querySelector('input[formcontrolname="time"]') - .disabled - ).toBe(true); - expect( - fixture.nativeElement.querySelector( - '.mat-slide-toggle[data-automation-id="adf-expire-toggle"]' - ).classList - ).toContain('mat-disabled'); - }); - - it('should show permission error notification on un-share action', () => { - node.entry.properties['qshare:sharedId'] = 'sharedId'; - spyOn(matDialog, 'open').and.returnValue({ beforeClose: () => of(true) }); - spyOn(sharedLinksApiService, 'deleteSharedLink').and.returnValue( - of(new Error('{"error": { "statusCode": 403 } }')) - ); - component.data = { - node, - permission: false, - baseShareUrl: 'some-url/' - }; - - fixture.detectChanges(); - - fixture.nativeElement - .querySelector( - '.mat-slide-toggle[data-automation-id="adf-share-toggle"] label' - ) - .dispatchEvent(new MouseEvent('click')); - - expect(storeMock.dispatch).toHaveBeenCalled(); - }); - - it('should update node expiration date with selected date and time', () => { - const date = moment(); - node.entry.properties['qshare:sharedId'] = 'sharedId'; - spyOn(nodesApiService, 'updateNode').and.returnValue(of({})); - fixture.componentInstance.form.controls['time'].setValue(null); - - component.data = { - node, - permission: true, - baseShareUrl: 'some-url/' - }; - - fixture.detectChanges(); - - fixture.nativeElement - .querySelector( - 'mat-slide-toggle[data-automation-id="adf-expire-toggle"] label' - ) - .dispatchEvent(new MouseEvent('click')); - - fixture.componentInstance.form.controls['time'].setValue(date); - fixture.detectChanges(); - - expect(nodesApiService.updateNode).toHaveBeenCalledWith('nodeId', { - properties: { 'qshare:expiryDate': date } - }); - }); -}); diff --git a/src/app/components/shared/content-node-share/content-node-share.dialog.ts b/src/app/components/shared/content-node-share/content-node-share.dialog.ts deleted file mode 100644 index 43455dfa2..000000000 --- a/src/app/components/shared/content-node-share/content-node-share.dialog.ts +++ /dev/null @@ -1,255 +0,0 @@ -/*! - * @license - * Copyright 2019 Alfresco Software, Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { - Component, - Inject, - OnInit, - ViewEncapsulation, - ViewChild, - OnDestroy -} from '@angular/core'; -import { - MAT_DIALOG_DATA, - MatDialogRef, - MatDialog -} from '@angular/material/dialog'; -import { FormGroup, FormControl } from '@angular/forms'; -import { Subscription, Observable, throwError } from 'rxjs'; -import { AppStore, SnackbarErrorAction } from '@alfresco/aca-shared/store'; -import { Store } from '@ngrx/store'; -import { - skip, - mergeMap, - catchError, - distinctUntilChanged -} from 'rxjs/operators'; -import { SharedLinksApiService, NodesApiService } from '@alfresco/adf-core'; -import { SharedLinkEntry, MinimalNodeEntryEntity } from '@alfresco/js-api'; -import { ConfirmDialogComponent } from '@alfresco/adf-content-services'; -import * as moment from 'moment'; - -@Component({ - selector: 'aca-share-dialog', - templateUrl: './content-node-share.dialog.html', - styleUrls: ['./content-node-share.dialog.scss'], - host: { class: 'adf-share-dialog' }, - encapsulation: ViewEncapsulation.None -}) -export class ShareDialogComponent implements OnInit, OnDestroy { - private subscriptions: Subscription[] = []; - - minDate = moment().add(1, 'd'); - sharedId: string; - fileName: string; - baseShareUrl: string; - isFileShared = false; - isDisabled = false; - form: FormGroup = new FormGroup({ - sharedUrl: new FormControl(''), - time: new FormControl({ value: '', disabled: false }) - }); - - @ViewChild('matDatetimepickerToggle') - matDatetimepickerToggle; - - @ViewChild('slideToggleExpirationDate') - slideToggleExpirationDate; - - @ViewChild('dateTimePickerInput') - dateTimePickerInput; - - constructor( - private sharedLinksApiService: SharedLinksApiService, - private dialogRef: MatDialogRef