@fundamental-ngx/platform 0.43.37 → 0.43.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/approval-flow/approval-flow-user-list/approval-flow-user-list.component.d.ts +10 -0
- package/button/button.component.d.ts +1 -2
- package/esm2020/approval-flow/approval-flow-add-node/approval-flow-add-node.component.mjs +2 -4
- package/esm2020/approval-flow/approval-flow-user-list/approval-flow-user-list.component.mjs +50 -14
- package/esm2020/button/button.component.mjs +5 -3
- package/esm2020/list/base-list-item.mjs +4 -2
- package/esm2020/list/list.component.mjs +12 -2
- package/esm2020/table/components/table-row/table-row.component.mjs +3 -3
- package/esm2020/table/table.component.mjs +3 -3
- package/esm2020/table-helpers/directives/table-virtual-scroll.directive.mjs +9 -6
- package/esm2020/value-help-dialog/value-help-dialog/value-help-dialog.component.mjs +3 -3
- package/fesm2015/fundamental-ngx-platform-approval-flow.mjs +52 -20
- package/fesm2015/fundamental-ngx-platform-approval-flow.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-button.mjs +4 -2
- package/fesm2015/fundamental-ngx-platform-button.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-list.mjs +15 -2
- package/fesm2015/fundamental-ngx-platform-list.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-table-helpers.mjs +8 -5
- package/fesm2015/fundamental-ngx-platform-table-helpers.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-table.mjs +4 -4
- package/fesm2015/fundamental-ngx-platform-table.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-value-help-dialog.mjs +2 -2
- package/fesm2015/fundamental-ngx-platform-value-help-dialog.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-approval-flow.mjs +50 -18
- package/fesm2020/fundamental-ngx-platform-approval-flow.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-button.mjs +4 -2
- package/fesm2020/fundamental-ngx-platform-button.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-list.mjs +14 -2
- package/fesm2020/fundamental-ngx-platform-list.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-table-helpers.mjs +8 -5
- package/fesm2020/fundamental-ngx-platform-table-helpers.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-table.mjs +4 -4
- package/fesm2020/fundamental-ngx-platform-table.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-value-help-dialog.mjs +2 -2
- package/fesm2020/fundamental-ngx-platform-value-help-dialog.mjs.map +1 -1
- package/fundamental-ngx-platform-v0.43.39.tgz +0 -0
- package/list/list.component.d.ts +6 -0
- package/package.json +4 -4
- package/schematics/ng-add/index.js +1 -1
- package/fundamental-ngx-platform-v0.43.37.tgz +0 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { EventEmitter, Component, ViewEncapsulation, ChangeDetectionStrategy, Input, Output, ViewChild, ViewChildren, Directive, Optional, HostBinding, ContentChild, Injectable, Inject, NgModule } from '@angular/core';
|
|
2
|
+
import { EventEmitter, inject, Component, ViewEncapsulation, ChangeDetectionStrategy, Input, Output, ViewChild, ViewChildren, Directive, Optional, HostBinding, ContentChild, Injectable, Inject, NgModule } from '@angular/core';
|
|
3
3
|
import { UP_ARROW, DOWN_ARROW, RIGHT_ARROW, LEFT_ARROW } from '@angular/cdk/keycodes';
|
|
4
|
-
import { Subscription, combineLatest, Subject, merge, fromEvent } from 'rxjs';
|
|
4
|
+
import { takeUntil, Subscription, combineLatest, Subject, merge, fromEvent } from 'rxjs';
|
|
5
5
|
import { throttleTime, startWith, switchMap, mapTo, map, distinctUntilChanged } from 'rxjs/operators';
|
|
6
6
|
import * as i6 from '@fundamental-ngx/cdk/utils';
|
|
7
|
-
import { KeyUtil } from '@fundamental-ngx/cdk/utils';
|
|
7
|
+
import { DestroyedService, KeyUtil } from '@fundamental-ngx/cdk/utils';
|
|
8
8
|
import * as i10$2 from '@fundamental-ngx/core/grid-list';
|
|
9
9
|
import { GridListItemComponent, GridListModule } from '@fundamental-ngx/core/grid-list';
|
|
10
10
|
import * as i1$1 from '@fundamental-ngx/core/dialog';
|
|
@@ -149,17 +149,22 @@ class ApprovalFlowUserListComponent {
|
|
|
149
149
|
this._trackByFn = trackByFn;
|
|
150
150
|
/** @hidden */
|
|
151
151
|
this._displayUsers = [];
|
|
152
|
+
/** @hidden */
|
|
153
|
+
this._allSelectedUsers = [];
|
|
154
|
+
/** @hidden */
|
|
155
|
+
this._destroyed$ = inject(DestroyedService);
|
|
156
|
+
/** @hidden */
|
|
157
|
+
this._dontCallSelection = false;
|
|
152
158
|
}
|
|
153
159
|
/** @hidden */
|
|
154
160
|
ngAfterViewInit() {
|
|
155
161
|
if (this.selectedUsers.length) {
|
|
156
|
-
|
|
157
|
-
this.
|
|
158
|
-
this.
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
this._cdr.detectChanges();
|
|
162
|
+
this._selectItems(this.selectedUsers);
|
|
163
|
+
this._allSelectedUsers = [...this.selectedUsers];
|
|
164
|
+
this._cdr.markForCheck();
|
|
165
|
+
}
|
|
166
|
+
if (this.isSelectable) {
|
|
167
|
+
this._listenToListItemChange();
|
|
163
168
|
}
|
|
164
169
|
}
|
|
165
170
|
/** @hidden */
|
|
@@ -174,13 +179,22 @@ class ApprovalFlowUserListComponent {
|
|
|
174
179
|
}
|
|
175
180
|
/** @hidden */
|
|
176
181
|
_onSelect(event) {
|
|
177
|
-
this.
|
|
178
|
-
|
|
182
|
+
if (!this._dontCallSelection) {
|
|
183
|
+
this._selectedItems = event.selectedItems;
|
|
184
|
+
if (event.removed) {
|
|
185
|
+
this._allSelectedUsers = this._allSelectedUsers.filter((user) => `${this._idPrefix + user.id}` !== event.removed.id);
|
|
186
|
+
}
|
|
187
|
+
if (event.added) {
|
|
188
|
+
this._allSelectedUsers.push(...this._getUsersFromSelectedItems([event.added]));
|
|
189
|
+
}
|
|
190
|
+
this.onSelectionChange.emit(this._allSelectedUsers);
|
|
191
|
+
this._cdr.detectChanges();
|
|
192
|
+
}
|
|
179
193
|
}
|
|
180
194
|
/** @hidden */
|
|
181
195
|
_getUsersFromSelectedItems(items) {
|
|
182
196
|
return items
|
|
183
|
-
.map((item) => this.users.find((user) => `${this._idPrefix + user.id}` === item.
|
|
197
|
+
.map((item) => this.users.find((user) => `${this._idPrefix + user.id}` === item.id))
|
|
184
198
|
.filter((u) => !!u);
|
|
185
199
|
}
|
|
186
200
|
/** @hidden */
|
|
@@ -215,14 +229,34 @@ class ApprovalFlowUserListComponent {
|
|
|
215
229
|
clearInterval(this._intervalID);
|
|
216
230
|
}
|
|
217
231
|
}
|
|
232
|
+
/** @hidden */
|
|
233
|
+
_listenToListItemChange() {
|
|
234
|
+
this.listItems.changes.pipe(takeUntil(this._destroyed$)).subscribe(() => {
|
|
235
|
+
this._selectItems(this._allSelectedUsers);
|
|
236
|
+
this._cdr.detectChanges();
|
|
237
|
+
});
|
|
238
|
+
}
|
|
239
|
+
/** @hidden */
|
|
240
|
+
_selectItems(users) {
|
|
241
|
+
this._dontCallSelection = true;
|
|
242
|
+
const allSelectedUserNames = users.map((user) => this._idPrefix + user.id);
|
|
243
|
+
const currentSelectedList = this.listItems.filter((item) => allSelectedUserNames.includes(item.id));
|
|
244
|
+
this.list._clearSelection();
|
|
245
|
+
this._selectedItems = [...currentSelectedList];
|
|
246
|
+
this._selectedItems.forEach((item) => {
|
|
247
|
+
item._selected = true;
|
|
248
|
+
this.list._selectItem(item);
|
|
249
|
+
});
|
|
250
|
+
this._dontCallSelection = false;
|
|
251
|
+
}
|
|
218
252
|
}
|
|
219
253
|
ApprovalFlowUserListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ApprovalFlowUserListComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
220
|
-
ApprovalFlowUserListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ApprovalFlowUserListComponent, selector: "fdp-approval-flow-user-list", inputs: { users: "users", selectedUsers: "selectedUsers", isSelectable: "isSelectable" }, outputs: { onUserClick: "onUserClick", onSelectionChange: "onSelectionChange" }, host: { classAttribute: "fdp-approval-flow-user-list" }, viewQueries: [{ propertyName: "list", first: true, predicate: ListComponent, descendants: true }, { propertyName: "listItems", predicate: StandardListItemComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"fdp-approval-flow-user-list__selected-count\" *ngIf=\"
|
|
254
|
+
ApprovalFlowUserListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ApprovalFlowUserListComponent, selector: "fdp-approval-flow-user-list", inputs: { users: "users", selectedUsers: "selectedUsers", isSelectable: "isSelectable" }, outputs: { onUserClick: "onUserClick", onSelectionChange: "onSelectionChange" }, host: { classAttribute: "fdp-approval-flow-user-list" }, providers: [DestroyedService], viewQueries: [{ propertyName: "list", first: true, predicate: ListComponent, descendants: true }, { propertyName: "listItems", predicate: StandardListItemComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"fdp-approval-flow-user-list__selected-count\" *ngIf=\"_allSelectedUsers.length\">\n <ng-container *ngIf=\"_allSelectedUsers.length === 1; else multipleItems\">\n {{ 'platformApprovalFlow.userListSelectedItemsCountSingular' | fdTranslate }}\n </ng-container>\n\n <ng-template #multipleItems>\n {{\n 'platformApprovalFlow.userListSelectedItemsCountPlural' | fdTranslate : { count: _allSelectedUsers.length }\n }}\n </ng-template>\n</div>\n\n<fdp-list\n [selectionMode]=\"isSelectable ? 'multi' : 'none'\"\n [selection]=\"isSelectable\"\n [navigationIndicator]=\"true\"\n [hasByLine]=\"true\"\n [(ngModel)]=\"_selectedItems\"\n [selectedItems]=\"_selectedItems\"\n (selectedItemChange)=\"_onSelect($event)\"\n>\n <fdp-standard-list-item\n *ngFor=\"let _user of _displayUsers; trackBy: _trackByFn\"\n [attr.id]=\"_idPrefix + _user.id\"\n [id]=\"_idPrefix + _user.id\"\n [avatarSrc]=\"_user.imgUrl\"\n [avatarTitle]=\"_user.name\"\n [description]=\"_user.description\"\n [ariaLabel]=\"_user.name\"\n [title]=\"_user.name\"\n (click)=\"$event.stopPropagation(); onUserClick.emit(_user)\"\n ></fdp-standard-list-item>\n</fdp-list>\n", styles: [".fdp-approval-flow-user-list{display:block;margin-top:-1rem}.fdp-approval-flow-user-list__selected-count{line-height:2rem;margin:0 -1rem;padding:0 1rem;background:#f2f2f2;background:var(--sapList_HeaderBackground, #f2f2f2)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.ListComponent, selector: "fdp-list", inputs: ["selectedItems", "ariaSetsize", "ariaMultiselectable", "loadTitle", "loadingLabel", "delayTime", "itemSize", "loadMore", "loadOnScroll", "role", "listType", "maxHeight", "noBorder", "scrollOffsetPercentage", "selection", "selectionMode", "value", "rowSelection", "dataSource", "navigated", "navigationIndicator", "hasByLine", "hasObject", "unreadIndicator", "interceptTabKey"], outputs: ["selectedItemChange"] }, { kind: "component", type: i3.StandardListItemComponent, selector: "fdp-standard-list-item" }, { kind: "pipe", type: i10.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
221
255
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ApprovalFlowUserListComponent, decorators: [{
|
|
222
256
|
type: Component,
|
|
223
257
|
args: [{ selector: 'fdp-approval-flow-user-list', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
224
258
|
class: 'fdp-approval-flow-user-list'
|
|
225
|
-
}, template: "<div class=\"fdp-approval-flow-user-list__selected-count\" *ngIf=\"
|
|
259
|
+
}, providers: [DestroyedService], template: "<div class=\"fdp-approval-flow-user-list__selected-count\" *ngIf=\"_allSelectedUsers.length\">\n <ng-container *ngIf=\"_allSelectedUsers.length === 1; else multipleItems\">\n {{ 'platformApprovalFlow.userListSelectedItemsCountSingular' | fdTranslate }}\n </ng-container>\n\n <ng-template #multipleItems>\n {{\n 'platformApprovalFlow.userListSelectedItemsCountPlural' | fdTranslate : { count: _allSelectedUsers.length }\n }}\n </ng-template>\n</div>\n\n<fdp-list\n [selectionMode]=\"isSelectable ? 'multi' : 'none'\"\n [selection]=\"isSelectable\"\n [navigationIndicator]=\"true\"\n [hasByLine]=\"true\"\n [(ngModel)]=\"_selectedItems\"\n [selectedItems]=\"_selectedItems\"\n (selectedItemChange)=\"_onSelect($event)\"\n>\n <fdp-standard-list-item\n *ngFor=\"let _user of _displayUsers; trackBy: _trackByFn\"\n [attr.id]=\"_idPrefix + _user.id\"\n [id]=\"_idPrefix + _user.id\"\n [avatarSrc]=\"_user.imgUrl\"\n [avatarTitle]=\"_user.name\"\n [description]=\"_user.description\"\n [ariaLabel]=\"_user.name\"\n [title]=\"_user.name\"\n (click)=\"$event.stopPropagation(); onUserClick.emit(_user)\"\n ></fdp-standard-list-item>\n</fdp-list>\n", styles: [".fdp-approval-flow-user-list{display:block;margin-top:-1rem}.fdp-approval-flow-user-list__selected-count{line-height:2rem;margin:0 -1rem;padding:0 1rem;background:#f2f2f2;background:var(--sapList_HeaderBackground, #f2f2f2)}\n"] }]
|
|
226
260
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { users: [{
|
|
227
261
|
type: Input
|
|
228
262
|
}], selectedUsers: [{
|
|
@@ -937,9 +971,7 @@ class ApprovalFlowAddNodeComponent {
|
|
|
937
971
|
}
|
|
938
972
|
/** @hidden */
|
|
939
973
|
_exitSelectMode() {
|
|
940
|
-
|
|
941
|
-
this._selectedApprovers = [];
|
|
942
|
-
}
|
|
974
|
+
this._selectedApprovers = this._data.node?.approvers?.length ? [...this._data.node.approvers] : [];
|
|
943
975
|
if (!this._data.isEdit && !this._data.node?.approvalTeamId) {
|
|
944
976
|
this.viewService.resetTeam();
|
|
945
977
|
}
|