alfresco-ng2-components/lib/process-services/content-widget/attach-folder-widget.component.ts
Eugenio Romano c578529b15
[ADF-2514][ADF-2517][ADF-2143] Fix build isssues (#3097)
* fix remove angular folder problem

* fix npm import cli

* fix search module

* fix comment

* fix tsconfig output

* es 20016 tsconfig

* travis add demo shell dist

* exclude datapicker process services

* demo shell script fix

* bundle check new build

* add simulate publish

* invert publish

* test distribution

* improve sh help

* uncomment script

* finally got the guilty piece of code

* run e2e
2018-03-20 11:53:11 +00:00

99 lines
3.3 KiB
TypeScript

/*!
* @license
* Copyright 2016 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.
*/
/* tslint:disable:component-selector*/
import { Component, ViewEncapsulation, OnInit } from '@angular/core';
import {
WidgetComponent,
FormService,
NodesApiService
} from '@alfresco/adf-core';
import { ContentNodeDialogService } from '@alfresco/adf-content-services';
import { MinimalNodeEntryEntity } from 'alfresco-js-api';
@Component({
selector: 'attach-folder-widget',
templateUrl: './attach-folder-widget.component.html',
styleUrls: ['./attach-folder-widget.component.scss'],
host: {
'(click)': 'event($event)',
'(blur)': 'event($event)',
'(change)': 'event($event)',
'(focus)': 'event($event)',
'(focusin)': 'event($event)',
'(focusout)': 'event($event)',
'(input)': 'event($event)',
'(invalid)': 'event($event)',
'(select)': 'event($event)'
},
encapsulation: ViewEncapsulation.None
})
export class AttachFolderWidgetComponent extends WidgetComponent implements OnInit {
hasFolder: boolean = false;
selectedFolderName: string = '';
constructor(private contentDialog: ContentNodeDialogService,
public formService: FormService,
private nodeService: NodesApiService) {
super();
}
ngOnInit() {
if (this.field &&
this.field.value) {
this.hasFolder = true;
this.nodeService.getNode(this.field.value).subscribe((node: MinimalNodeEntryEntity) => {
this.selectedFolderName = node.name;
});
}
}
isDefinedSourceFolder(): boolean {
return !!this.field.params &&
!!this.field.params.folderSource &&
!!this.field.params.folderSource.selectedFolder;
}
openSelectDialogFromFileSource() {
let params = this.field.params;
if (this.isDefinedSourceFolder()) {
this.contentDialog.openFolderBrowseDialogByFolderId(params.folderSource.selectedFolder.pathId).subscribe(
(selections: MinimalNodeEntryEntity[]) => {
this.selectedFolderName = selections[0].name;
this.field.value = selections[0].id;
this.hasFolder = true;
});
} else {
this.contentDialog.openFolderBrowseDialogBySite().subscribe(
(selections: MinimalNodeEntryEntity[]) => {
this.selectedFolderName = selections[0].name;
this.field.value = selections[0].id;
this.hasFolder = true;
});
}
}
removeFolder() {
this.field.value = null;
this.selectedFolderName = '';
this.hasFolder = false;
}
}