diff --git a/admin/src/app/app.module.ts b/admin/src/app/app.module.ts index 8578aad20..26c695af2 100644 --- a/admin/src/app/app.module.ts +++ b/admin/src/app/app.module.ts @@ -21,9 +21,9 @@ import { CategorieslistComponent } from './categorieslist/categorieslist.compone import { CategoriestreeComponent } from './categoriestree/categoriestree.component'; import { CategoryeditorComponent } from './categoryeditor/categoryeditor.component'; import { CategoriesadministrationComponent } from './categoriesadministration/categoriesadministration.component'; -import { WorkbasketDistributiontargetsComponent } from './workbasket-distributiontargets/workbasket-distributiontargets.component'; import { WorkbasketDetailsComponent } from './workbasket/details/workbasket-details.component'; import { WorkbasketInformationComponent } from './workbasket/details/information/workbasket-information.component'; +import { DistributionTargetsComponent } from './workbasket/details/distribution-targets/distribution-targets.component'; import { AccessItemsComponent } from './workbasket/details/access-items/access-items.component'; import { NoAccessComponent } from './workbasket/noAccess/no-access.component'; import { SpinnerComponent } from './shared/spinner/spinner.component'; @@ -51,6 +51,7 @@ import { AlertService } from './services/alert.service'; */ import { MapValuesPipe } from './pipes/map-values.pipe'; import { RemoveNoneTypePipe } from './pipes/remove-none-type'; +import { SelectWorkBasketPipe } from './pipes/seleted-workbasket.pipe'; const MODULES = [ BrowserModule, @@ -74,7 +75,6 @@ const DECLARATIONS = [ CategoriesadministrationComponent, AccessItemsComponent, WorkbasketDetailsComponent, - WorkbasketDistributiontargetsComponent, MasterAndDetailComponent, WorkbasketInformationComponent, NoAccessComponent, @@ -83,9 +83,11 @@ const DECLARATIONS = [ IconTypeComponent, AlertComponent, GeneralMessageModalComponent, + DistributionTargetsComponent, SortComponent, MapValuesPipe, - RemoveNoneTypePipe + RemoveNoneTypePipe, + SelectWorkBasketPipe ]; @NgModule({ diff --git a/admin/src/app/pipes/seleted-workbasket.pipe.ts b/admin/src/app/pipes/seleted-workbasket.pipe.ts new file mode 100644 index 000000000..5e6a9152d --- /dev/null +++ b/admin/src/app/pipes/seleted-workbasket.pipe.ts @@ -0,0 +1,21 @@ +import { Pipe, PipeTransform } from '@angular/core'; + +@Pipe({ name: 'selectWorkbaskets' }) +export class SelectWorkBasketPipe implements PipeTransform { + transform(originArray: any, arg0: any, arg1: any): Object[] { + let returnArray = []; + if (!originArray) { + return returnArray; + } + for (let index = originArray.length - 1; index >= 0; index--) { + if ((arg1 && !arg0.some(elementToRemove => { return originArray[index].workbasketId === elementToRemove.workbasketId})) || + !arg1 && arg0.some(elementToRemove => { return originArray[index].workbasketId === elementToRemove.workbasketId})) { + originArray.splice(index, 1); + } + } + returnArray = originArray; + return returnArray; + } + + +} \ No newline at end of file diff --git a/admin/src/app/services/workbasket.service.ts b/admin/src/app/services/workbasket.service.ts index 524e2d71e..8f26e8d09 100644 --- a/admin/src/app/services/workbasket.service.ts +++ b/admin/src/app/services/workbasket.service.ts @@ -93,73 +93,79 @@ export class WorkbasketService { // PUT updateWorkBasketAccessItem(url: string, workbasketAccessItem: Array): Observable { return this.httpClient.put(url, - workbasketAccessItem, - this.httpOptions); + workbasketAccessItem, + this.httpOptions); } - //#endregion - - //#region "Service extras" - selectWorkBasket(id: string) { - this.workBasketSelected.next(id); + // GET + getWorkBasketsDistributionTargets(id: String): Observable { + return this.httpClient.get(environment.taskanaRestUrl + '/v1/workbaskets/' + id + '/distributiontargets', this.httpOptions); } - getSelectedWorkBasket(): Observable { - return this.workBasketSelected.asObservable(); - } + +//#endregion - triggerWorkBasketSaved() { - this.workBasketSaved.next(Date.now()); - } +//#region "Service extras" +selectWorkBasket(id: string) { + this.workBasketSelected.next(id); +} - workbasketSavedTriggered(): Observable { - return this.workBasketSaved.asObservable(); - } +getSelectedWorkBasket(): Observable < string > { + return this.workBasketSelected.asObservable(); +} + +triggerWorkBasketSaved() { + this.workBasketSaved.next(Date.now()); +} + +workbasketSavedTriggered(): Observable < number > { + return this.workBasketSaved.asObservable(); +} //#endregion //#region private private getWorkbasketSummaryQueryParameters(sortBy: string, - order: string, - name: string, - nameLike: string, - descLike: string, - owner: string, - ownerLike: string, - type: string, - key: string, - keyLike: string, - requiredPermission: string): string { - let query: string = '?'; - query += sortBy ? `${this.SORTBY}=${sortBy}&` : ''; - query += order ? `${this.ORDER}=${order}&` : ''; - query += name ? `${this.NAME}=${name}&` : ''; - query += nameLike ? `${this.NAMELIKE}=${nameLike}&` : ''; - query += descLike ? `${this.DESCLIKE}=${descLike}&` : ''; - query += owner ? `${this.OWNER}=${owner}&` : ''; - query += ownerLike ? `${this.OWNERLIKE}=${ownerLike}&` : ''; - query += type ? `${this.TYPE}=${type}&` : ''; - query += key ? `${this.KEY}=${key}&` : ''; - query += keyLike ? `${this.KEYLIKE}=${keyLike}&` : ''; - query += requiredPermission ? `${this.REQUIREDPERMISSION}=${requiredPermission}&` : ''; + order: string, + name: string, + nameLike: string, + descLike: string, + owner: string, + ownerLike: string, + type: string, + key: string, + keyLike: string, + requiredPermission: string): string { + let query: string = '?'; + query += sortBy ? `${this.SORTBY}=${sortBy}&` : ''; + query += order ? `${this.ORDER}=${order}&` : ''; + query += name ? `${this.NAME}=${name}&` : ''; + query += nameLike ? `${this.NAMELIKE}=${nameLike}&` : ''; + query += descLike ? `${this.DESCLIKE}=${descLike}&` : ''; + query += owner ? `${this.OWNER}=${owner}&` : ''; + query += ownerLike ? `${this.OWNERLIKE}=${ownerLike}&` : ''; + query += type ? `${this.TYPE}=${type}&` : ''; + query += key ? `${this.KEY}=${key}&` : ''; + query += keyLike ? `${this.KEYLIKE}=${keyLike}&` : ''; + query += requiredPermission ? `${this.REQUIREDPERMISSION}=${requiredPermission}&` : ''; - if (query.lastIndexOf('&') === query.length - 1) { - query = query.slice(0, query.lastIndexOf('&')) - } - return query; + if (query.lastIndexOf('&') === query.length - 1) { + query = query.slice(0, query.lastIndexOf('&')) } + return query; +} private handleError(error: Response | any) { - // In a real world app, you might use a remote logging infrastructure - let errMsg: string; - if (error instanceof Response) { - const body = error.json() || ''; - const err = JSON.stringify(body); - errMsg = `${error.status} - ${error.statusText || ''} ${err}`; - } else { - errMsg = error.message ? error.message : error.toString(); - } - console.error(errMsg); - return Observable.throw(errMsg); + // In a real world app, you might use a remote logging infrastructure + let errMsg: string; + if (error instanceof Response) { + const body = error.json() || ''; + const err = JSON.stringify(body); + errMsg = `${error.status} - ${error.statusText || ''} ${err}`; + } else { + errMsg = error.message ? error.message : error.toString(); } + console.error(errMsg); + return Observable.throw(errMsg); +} //#endregion } diff --git a/admin/src/app/shared/filter/filter.component.html b/admin/src/app/shared/filter/filter.component.html index 562a84566..01bdd93b2 100644 --- a/admin/src/app/shared/filter/filter.component.html +++ b/admin/src/app/shared/filter/filter.component.html @@ -1,43 +1,47 @@ -
-
+ \ No newline at end of file diff --git a/admin/src/app/shared/filter/filter.component.scss b/admin/src/app/shared/filter/filter.component.scss index 802c319e2..ec8bf3314 100644 --- a/admin/src/app/shared/filter/filter.component.scss +++ b/admin/src/app/shared/filter/filter.component.scss @@ -4,3 +4,12 @@ } margin-left: 15px; } + +.list-group-search { + padding: 10px 15px; +} + +.btn-users-list { + border: 0px solid transparent; + /* this was 1px earlier */ +} \ No newline at end of file diff --git a/admin/src/app/shared/spinner/spinner.component.html b/admin/src/app/shared/spinner/spinner.component.html index 22024b2de..ff41cf7e1 100644 --- a/admin/src/app/shared/spinner/spinner.component.html +++ b/admin/src/app/shared/spinner/spinner.component.html @@ -1,5 +1,5 @@
-
+
@@ -15,7 +15,7 @@