barsa-kanban 0.0.2
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/README.md +24 -0
- package/esm2020/barsa-kanban.mjs +5 -0
- package/esm2020/lib/Models/drop-info.mjs +2 -0
- package/esm2020/lib/Models/kanban-view-setting.interface.mjs +2 -0
- package/esm2020/lib/avatar-group/barsa-avatar-group.component.mjs +84 -0
- package/esm2020/lib/barsa-kanban.module.mjs +79 -0
- package/esm2020/lib/kanban-base/kanban-base.component.mjs +20 -0
- package/esm2020/lib/kanban-card/kanban-card.component.mjs +38 -0
- package/esm2020/lib/kanban-tags/kanban-tags.component.mjs +43 -0
- package/esm2020/lib/kanban-view/kanban-view.component.mjs +244 -0
- package/esm2020/public-api.mjs +7 -0
- package/fesm2015/barsa-kanban.mjs +476 -0
- package/fesm2015/barsa-kanban.mjs.map +1 -0
- package/fesm2020/barsa-kanban.mjs +477 -0
- package/fesm2020/barsa-kanban.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/Models/drop-info.d.ts +8 -0
- package/lib/Models/kanban-view-setting.interface.d.ts +17 -0
- package/lib/avatar-group/barsa-avatar-group.component.d.ts +28 -0
- package/lib/barsa-kanban.module.d.ts +29 -0
- package/lib/kanban-base/kanban-base.component.d.ts +9 -0
- package/lib/kanban-card/kanban-card.component.d.ts +16 -0
- package/lib/kanban-tags/kanban-tags.component.d.ts +16 -0
- package/lib/kanban-view/kanban-view.component.d.ts +40 -0
- package/package.json +31 -0
- package/public-api.d.ts +6 -0
package/README.md
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# BarsaKanban
|
|
2
|
+
|
|
3
|
+
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 11.1.2.
|
|
4
|
+
|
|
5
|
+
## Code scaffolding
|
|
6
|
+
|
|
7
|
+
Run `ng generate component component-name --project BarsaKanban` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project BarsaKanban`.
|
|
8
|
+
> Note: Don't forget to add `--project BarsaKanban` or else it will be added to the default project in your `angular.json` file.
|
|
9
|
+
|
|
10
|
+
## Build
|
|
11
|
+
|
|
12
|
+
Run `ng build BarsaKanban` to build the project. The build artifacts will be stored in the `dist/` directory.
|
|
13
|
+
|
|
14
|
+
## Publishing
|
|
15
|
+
|
|
16
|
+
After building your library with `ng build BarsaKanban`, go to the dist folder `cd dist/barsa-kanban` and run `npm publish`.
|
|
17
|
+
|
|
18
|
+
## Running unit tests
|
|
19
|
+
|
|
20
|
+
Run `ng test BarsaKanban` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
|
21
|
+
|
|
22
|
+
## Further help
|
|
23
|
+
|
|
24
|
+
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2Eta2FuYmFuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Eta2FuYmFuL3NyYy9iYXJzYS1rYW5iYW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcC1pbmZvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Eta2FuYmFuL3NyYy9saWIvTW9kZWxzL2Ryb3AtaW5mby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWV0YW9iamVjdERhdGFNb2RlbCB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBEcm9wSW5mbyB7XG4gICAgZHJhZ2dlZElkOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkO1xuICAgIHRhcmdldElkOiBzdHJpbmcgfCBudWxsO1xuICAgIHRhcmdldFN0YXRlOiBNZXRhb2JqZWN0RGF0YU1vZGVsIHwgbnVsbDtcbiAgICB0YXJnZXRJbmRleDogbnVtYmVyIHwgbnVsbDtcbiAgICBhY3Rpb24/OiBzdHJpbmcgfCBudWxsO1xufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2FuYmFuLXZpZXctc2V0dGluZy5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1rYW5iYW4vc3JjL2xpYi9Nb2RlbHMva2FuYmFuLXZpZXctc2V0dGluZy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVpUmVwb3J0Vmlld0Jhc2VTZXR0aW5nIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEthbmJhblZpZXdTZXR0aW5nIGV4dGVuZHMgVWlSZXBvcnRWaWV3QmFzZVNldHRpbmcge1xuICAgIENvbHVtbnNSZXBvcnQ6IGFueTtcbiAgICBDb3Zlcjogc3RyaW5nO1xuICAgIENhcHRpb246IHN0cmluZztcbiAgICBBc3NpZ25lZXM6IHN0cmluZztcbiAgICBBc3NpZ25lZUltYWdlOiBzdHJpbmc7XG4gICAgQXNzaWduZWVOYW1lOiBzdHJpbmc7XG4gICAgU3RhdGU6IHN0cmluZztcbiAgICBUYWdzOiBzdHJpbmc7XG4gICAgVGFnTmFtZTogc3RyaW5nO1xuICAgIFRhZ0NvbG9yOiBzdHJpbmc7XG4gICAgUHJvZ3Jlc3NQZXJjZW50YWdlOiBzdHJpbmc7XG4gICAgUHJvZ3Jlc3NMYWJlbDogc3RyaW5nO1xuICAgIENvbW1lbnRzQ291bnQ6IHN0cmluZztcbiAgICBBdHRhY2hlc0NvdW50OiBzdHJpbmc7XG59XG4iXX0=
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input, ViewChild } from '@angular/core';
|
|
2
|
+
import { ENTER, ESCAPE, SPACE, TAB } from '@angular/cdk/keycodes';
|
|
3
|
+
import { KeyUtil } from '@fundamental-ngx/core/utils';
|
|
4
|
+
import { AvatarGroupComponent } from '@fundamental-ngx/core';
|
|
5
|
+
import { KanbanBaseComponent } from '../kanban-base/kanban-base.component';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/common";
|
|
8
|
+
import * as i2 from "@fundamental-ngx/core/avatar";
|
|
9
|
+
import * as i3 from "@fundamental-ngx/core/avatar-group";
|
|
10
|
+
import * as i4 from "@fundamental-ngx/core/bar";
|
|
11
|
+
import * as i5 from "@fundamental-ngx/core/button";
|
|
12
|
+
import * as i6 from "@fundamental-ngx/core/list";
|
|
13
|
+
import * as i7 from "@fundamental-ngx/core/popover";
|
|
14
|
+
import * as i8 from "barsa-novin-ray-core";
|
|
15
|
+
export class BarsaAvatarGroupComponent extends KanbanBaseComponent {
|
|
16
|
+
constructor() {
|
|
17
|
+
super(...arguments);
|
|
18
|
+
this.visibleFields = [];
|
|
19
|
+
this.size = 'l';
|
|
20
|
+
this.personDetails = null;
|
|
21
|
+
this.overflowPopoverStage = 'main';
|
|
22
|
+
}
|
|
23
|
+
get isDetailStage() {
|
|
24
|
+
return this.overflowPopoverStage === 'detail';
|
|
25
|
+
}
|
|
26
|
+
isOpenChanged(isOpened) {
|
|
27
|
+
if (isOpened) {
|
|
28
|
+
this.openOverflowMain();
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
newItem(newItem) {
|
|
32
|
+
const exist = this.existedItems.find((item) => item.Id === newItem.Id);
|
|
33
|
+
if (!exist) {
|
|
34
|
+
this.existedItems.push(newItem);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
deleteAvatar(idx) {
|
|
38
|
+
this.existedItems.splice(idx, 1);
|
|
39
|
+
}
|
|
40
|
+
openOverflowMain() {
|
|
41
|
+
this.personDetails = null;
|
|
42
|
+
this.overflowPopoverStage = 'main';
|
|
43
|
+
setTimeout(() => this.popoverBodyComponent?._focusFirstTabbableElement(), 0);
|
|
44
|
+
}
|
|
45
|
+
handleControlClick(event, popover) {
|
|
46
|
+
popover.open();
|
|
47
|
+
}
|
|
48
|
+
handleControlKeydown(event, popover) {
|
|
49
|
+
if (!KeyUtil.isKeyCode(event, [ESCAPE, TAB, SPACE, ENTER])) {
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
if (KeyUtil.isKeyCode(event, [ESCAPE, TAB])) {
|
|
53
|
+
popover.close();
|
|
54
|
+
}
|
|
55
|
+
if (KeyUtil.isKeyCode(event, [SPACE, ENTER])) {
|
|
56
|
+
popover.open();
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
BarsaAvatarGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: BarsaAvatarGroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
61
|
+
BarsaAvatarGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: BarsaAvatarGroupComponent, selector: "bk-avatar-group", inputs: { existedItems: "existedItems", availableItems: "availableItems", viewSetting: "viewSetting", visibleFields: "visibleFields", addItem: "addItem", size: "size" }, viewQueries: [{ propertyName: "popoverBodyComponent", first: true, predicate: ["overflowPopoverBody"], descendants: true }, { propertyName: "avatarGroupCom", first: true, predicate: AvatarGroupComponent, descendants: true, read: AvatarGroupComponent, static: true }], usesInheritance: true, ngImport: i0, template: "<fd-avatar-group #avatarGroupCom type=\"group\" [size]=\"size\">\n <fd-popover\n [noArrow]=\"false\"\n [focusTrapped]=\"true\"\n [focusAutoCapture]=\"true\"\n [triggers]=\"[]\"\n [closeOnOutsideClick]=\"true\"\n [closeOnEscapeKey]=\"true\"\n (isOpenChange)=\"isOpenChanged($event)\"\n placement=\"bottom\"\n [maxWidth]=\"312\"\n #overflowPopover\n >\n <fd-popover-control\n fd-avatar-group-popover-control\n [attr.aria-label]=\"\n 'Has popup type dialog Conjoined avatars, ' +\n ' avatars displayed, ' +\n avatarGroupCom?.overflowItemsCount +\n ' avatars hidden, activate for complete list'\n \"\n (click)=\"handleControlClick($event, overflowPopover)\"\n (keydown)=\"handleControlKeydown($event, overflowPopover)\"\n >\n <div *ngFor=\"let person of existedItems\" fd-avatar-group-item>\n <fd-avatar\n *ngIf=\"!person[viewSetting.AssigneeImage]\"\n [label]=\"person[viewSetting.AssigneeName]\"\n [title]=\"person[viewSetting.AssigneeName]\"\n [ariaLabel]=\"person[viewSetting.AssigneeName] + ' avatar'\"\n role=\"img\"\n [circle]=\"true\"\n [border]=\"true\"\n [size]=\"size\"\n ></fd-avatar>\n\n <fd-avatar\n *ngIf=\"person[viewSetting.AssigneeImage] as avatar\"\n role=\"img\"\n [title]=\"person[viewSetting.AssigneeName]\"\n [ariaLabel]=\"person[viewSetting.AssigneeName] + ' avatar'\"\n [circle]=\"true\"\n [border]=\"true\"\n [size]=\"size\"\n [image]=\"(avatar.FileId | picFieldSrc: 'ID':person.Id) || ''\"\n >\n </fd-avatar>\n </div>\n <button\n *ngIf=\"avatarGroupCom.overflowItemsCount && avatarGroupCom.overflowItemsCount > 0\"\n fd-button\n fd-avatar-group-overflow-button\n tabindex=\"-1\"\n [compact]=\"false\"\n [size]=\"size\"\n >\n <bdi fd-avatar-group-overflow-button-text> +{{ avatarGroupCom.overflowItemsCount }} </bdi>\n </button>\n </fd-popover-control>\n <fd-popover-body #overflowPopoverBody aria-labelledby=\"avatar-group-1-popover-header\" role=\"tooltip\">\n <div class=\"fd-popover__wrapper\">\n <div fd-popover-body-header>\n <div fd-bar barDesign=\"header\">\n <div fd-bar-left>\n <fd-button-bar\n *ngIf=\"isDetailStage\"\n (click)=\"openOverflowMain()\"\n glyph=\"navigation-left-arrow\"\n fdType=\"transparent\"\n aria-label=\"Back\"\n title=\"Back\"\n ></fd-button-bar>\n <fd-bar-element id=\"avatar-group-1-popover-header\">\n {{ isDetailStage ? 'Business Card' : 'Team Members (' + existedItems?.length + ')' }}\n </fd-bar-element>\n <fd-bar-element *ngIf=\"isDetailStage\"> </fd-bar-element>\n </div>\n </div>\n </div>\n\n <div\n fd-avatar-group-overflow-body\n [noPadding]=\"isDetailStage\"\n [noHorizontalScroll]=\"isDetailStage\"\n [noVerticalScroll]=\"false\"\n >\n <ng-container *ngIf=\"overflowPopoverStage === 'main'\">\n <ng-container *ngFor=\"let person of existedItems; let idx = index\">\n <div fd-avatar-group-overflow-item>\n <fd-popover [triggers]=\"['click']\">\n <fd-popover-control>\n <fd-avatar\n *ngIf=\"!person[viewSetting.AssigneeImage]\"\n fd-avatar-group-focusable-avatar\n [circle]=\"true\"\n size=\"s\"\n [label]=\"person[viewSetting.AssigneeName]\"\n [title]=\"person[viewSetting.AssigneeName]\"\n [ariaLabel]=\"person[viewSetting.AssigneeName] + ' avatar'\"\n role=\"img\"\n ></fd-avatar>\n <fd-avatar\n *ngIf=\"person[viewSetting.AssigneeImage] as avatar\"\n fd-avatar-group-focusable-avatar\n role=\"img\"\n [title]=\"person[viewSetting.AssigneeName]\"\n [ariaLabel]=\"person[viewSetting.AssigneeName] + ' avatar'\"\n [circle]=\"true\"\n size=\"s\"\n [image]=\"(avatar.FileId | picFieldSrc: 'ID':person.Id) || ''\"\n ></fd-avatar>\n </fd-popover-control>\n <fd-popover-body>\n <div class=\"avatar-actions\">\n <button\n fd-button\n (click)=\"deleteAvatar(idx)\"\n [label]=\"'Delete' | bbbTranslate\"\n glyph=\"decline\"\n ></button>\n <button\n fd-button\n [label]=\"'Show' | bbbTranslate\"\n glyph=\"detail-view\"\n ></button>\n </div>\n </fd-popover-body>\n </fd-popover>\n </div>\n </ng-container>\n </ng-container>\n </div>\n </div>\n </fd-popover-body>\n </fd-popover>\n</fd-avatar-group>\n\n<fd-popover\n #peoplePopover\n *ngIf=\"addItem\"\n [triggers]=\"[]\"\n [focusTrapped]=\"false\"\n [closeOnOutsideClick]=\"true\"\n [noArrow]=\"false\"\n placement=\"bottom\"\n [focusAutoCapture]=\"true\"\n>\n <fd-popover-control>\n <div>\n <button\n fd-button\n (click)=\"openPopover($event, peoplePopover)\"\n fdType=\"transparent\"\n glyph=\"sys-add\"\n ></button>\n </div>\n </fd-popover-control>\n <fd-popover-body>\n <ul fd-list>\n <li fd-list-item *ngFor=\"let item of availableItems\" (click)=\"newItem(item)\">\n <ng-container *ngIf=\"visibleFields.length > 0; else default\">\n <ng-container *ngFor=\"let field of visibleFields\">\n {{ item[field] }}\n </ng-container>\n </ng-container>\n <ng-template #default>\n {{ item }}\n </ng-template>\n </li>\n </ul>\n </fd-popover-body>\n</fd-popover>\n", styles: [":host{display:flex;align-items:center;column-gap:2px;width:130px}.avatar-actions{display:flex;padding:10px;flex-direction:column;justify-content:center;row-gap:15px;width:100px}\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: "component", type: i2.AvatarComponent, selector: "fd-avatar", inputs: ["class", "id", "ariaLabel", "ariaLabelledby", "label", "size", "glyph", "zoomGlyph", "circle", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "random", "clickable", "backgroundImage", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "component", type: i3.AvatarGroupComponent, selector: "fd-avatar-group", inputs: ["id", "class", "size", "type", "ariaLabel"] }, { kind: "directive", type: i3.AvatarGroupItemDirective, selector: "[fd-avatar-group-item]" }, { kind: "directive", type: i3.AvatarGroupFocusableAvatarDirective, selector: "[fd-avatar-group-focusable-avatar]", inputs: ["tabindex"] }, { kind: "directive", type: i3.AvatarGroupPopoverControlDirective, selector: "[fd-avatar-group-popover-control]", inputs: ["tabindex", "role"] }, { kind: "directive", type: i3.AvatarGroupOverflowBodyDirective, selector: "[fd-avatar-group-overflow-body]", inputs: ["noPadding", "noHorizontalScroll", "noVerticalScroll"] }, { kind: "directive", type: i3.AvatarGroupOverflowItemDirective, selector: "[fd-avatar-group-overflow-item]" }, { kind: "directive", type: i3.AvatarGroupOverflowButtonDirective, selector: "[fd-avatar-group-overflow-button]", inputs: ["class", "size", "color"] }, { kind: "directive", type: i3.AvatarGroupOverflowButtonTextDirective, selector: "[fd-avatar-group-overflow-button-text]" }, { kind: "component", type: i4.BarComponent, selector: "[fd-bar]", inputs: ["class", "barDesign", "inPage", "inHomePage", "size"] }, { kind: "directive", type: i4.BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: i4.BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth", "isTitle"] }, { kind: "component", type: i4.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabel", "ariaLabelledby", "id"] }, { kind: "component", type: i5.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "directive", type: i5.DeprecatedButtonContentDensityDirective, selector: "[fd-button][compact]" }, { kind: "component", type: i6.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline"], outputs: ["focusEscapeList"] }, { kind: "component", type: i6.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "ariaDescribedBy", "noData", "action", "interactive", "growing", "counter", "unread", "selectedListItemScreenReaderText", "navigatedListItemScreenReaderText", "navigatableListItemScreenReaderText"], outputs: ["keyDown"] }, { kind: "component", type: i7.PopoverControlComponent, selector: "fd-popover-control" }, { kind: "component", type: i7.PopoverBodyComponent, selector: "fd-popover-body" }, { kind: "directive", type: i7.PopoverBodyHeaderDirective, selector: "[fdPopoverBodyHeader], [fd-popover-body-header]" }, { kind: "component", type: i7.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig"] }, { kind: "pipe", type: i8.PictureFieldSourcePipe, name: "picFieldSrc" }, { kind: "pipe", type: i8.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
62
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: BarsaAvatarGroupComponent, decorators: [{
|
|
63
|
+
type: Component,
|
|
64
|
+
args: [{ selector: 'bk-avatar-group', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-avatar-group #avatarGroupCom type=\"group\" [size]=\"size\">\n <fd-popover\n [noArrow]=\"false\"\n [focusTrapped]=\"true\"\n [focusAutoCapture]=\"true\"\n [triggers]=\"[]\"\n [closeOnOutsideClick]=\"true\"\n [closeOnEscapeKey]=\"true\"\n (isOpenChange)=\"isOpenChanged($event)\"\n placement=\"bottom\"\n [maxWidth]=\"312\"\n #overflowPopover\n >\n <fd-popover-control\n fd-avatar-group-popover-control\n [attr.aria-label]=\"\n 'Has popup type dialog Conjoined avatars, ' +\n ' avatars displayed, ' +\n avatarGroupCom?.overflowItemsCount +\n ' avatars hidden, activate for complete list'\n \"\n (click)=\"handleControlClick($event, overflowPopover)\"\n (keydown)=\"handleControlKeydown($event, overflowPopover)\"\n >\n <div *ngFor=\"let person of existedItems\" fd-avatar-group-item>\n <fd-avatar\n *ngIf=\"!person[viewSetting.AssigneeImage]\"\n [label]=\"person[viewSetting.AssigneeName]\"\n [title]=\"person[viewSetting.AssigneeName]\"\n [ariaLabel]=\"person[viewSetting.AssigneeName] + ' avatar'\"\n role=\"img\"\n [circle]=\"true\"\n [border]=\"true\"\n [size]=\"size\"\n ></fd-avatar>\n\n <fd-avatar\n *ngIf=\"person[viewSetting.AssigneeImage] as avatar\"\n role=\"img\"\n [title]=\"person[viewSetting.AssigneeName]\"\n [ariaLabel]=\"person[viewSetting.AssigneeName] + ' avatar'\"\n [circle]=\"true\"\n [border]=\"true\"\n [size]=\"size\"\n [image]=\"(avatar.FileId | picFieldSrc: 'ID':person.Id) || ''\"\n >\n </fd-avatar>\n </div>\n <button\n *ngIf=\"avatarGroupCom.overflowItemsCount && avatarGroupCom.overflowItemsCount > 0\"\n fd-button\n fd-avatar-group-overflow-button\n tabindex=\"-1\"\n [compact]=\"false\"\n [size]=\"size\"\n >\n <bdi fd-avatar-group-overflow-button-text> +{{ avatarGroupCom.overflowItemsCount }} </bdi>\n </button>\n </fd-popover-control>\n <fd-popover-body #overflowPopoverBody aria-labelledby=\"avatar-group-1-popover-header\" role=\"tooltip\">\n <div class=\"fd-popover__wrapper\">\n <div fd-popover-body-header>\n <div fd-bar barDesign=\"header\">\n <div fd-bar-left>\n <fd-button-bar\n *ngIf=\"isDetailStage\"\n (click)=\"openOverflowMain()\"\n glyph=\"navigation-left-arrow\"\n fdType=\"transparent\"\n aria-label=\"Back\"\n title=\"Back\"\n ></fd-button-bar>\n <fd-bar-element id=\"avatar-group-1-popover-header\">\n {{ isDetailStage ? 'Business Card' : 'Team Members (' + existedItems?.length + ')' }}\n </fd-bar-element>\n <fd-bar-element *ngIf=\"isDetailStage\"> </fd-bar-element>\n </div>\n </div>\n </div>\n\n <div\n fd-avatar-group-overflow-body\n [noPadding]=\"isDetailStage\"\n [noHorizontalScroll]=\"isDetailStage\"\n [noVerticalScroll]=\"false\"\n >\n <ng-container *ngIf=\"overflowPopoverStage === 'main'\">\n <ng-container *ngFor=\"let person of existedItems; let idx = index\">\n <div fd-avatar-group-overflow-item>\n <fd-popover [triggers]=\"['click']\">\n <fd-popover-control>\n <fd-avatar\n *ngIf=\"!person[viewSetting.AssigneeImage]\"\n fd-avatar-group-focusable-avatar\n [circle]=\"true\"\n size=\"s\"\n [label]=\"person[viewSetting.AssigneeName]\"\n [title]=\"person[viewSetting.AssigneeName]\"\n [ariaLabel]=\"person[viewSetting.AssigneeName] + ' avatar'\"\n role=\"img\"\n ></fd-avatar>\n <fd-avatar\n *ngIf=\"person[viewSetting.AssigneeImage] as avatar\"\n fd-avatar-group-focusable-avatar\n role=\"img\"\n [title]=\"person[viewSetting.AssigneeName]\"\n [ariaLabel]=\"person[viewSetting.AssigneeName] + ' avatar'\"\n [circle]=\"true\"\n size=\"s\"\n [image]=\"(avatar.FileId | picFieldSrc: 'ID':person.Id) || ''\"\n ></fd-avatar>\n </fd-popover-control>\n <fd-popover-body>\n <div class=\"avatar-actions\">\n <button\n fd-button\n (click)=\"deleteAvatar(idx)\"\n [label]=\"'Delete' | bbbTranslate\"\n glyph=\"decline\"\n ></button>\n <button\n fd-button\n [label]=\"'Show' | bbbTranslate\"\n glyph=\"detail-view\"\n ></button>\n </div>\n </fd-popover-body>\n </fd-popover>\n </div>\n </ng-container>\n </ng-container>\n </div>\n </div>\n </fd-popover-body>\n </fd-popover>\n</fd-avatar-group>\n\n<fd-popover\n #peoplePopover\n *ngIf=\"addItem\"\n [triggers]=\"[]\"\n [focusTrapped]=\"false\"\n [closeOnOutsideClick]=\"true\"\n [noArrow]=\"false\"\n placement=\"bottom\"\n [focusAutoCapture]=\"true\"\n>\n <fd-popover-control>\n <div>\n <button\n fd-button\n (click)=\"openPopover($event, peoplePopover)\"\n fdType=\"transparent\"\n glyph=\"sys-add\"\n ></button>\n </div>\n </fd-popover-control>\n <fd-popover-body>\n <ul fd-list>\n <li fd-list-item *ngFor=\"let item of availableItems\" (click)=\"newItem(item)\">\n <ng-container *ngIf=\"visibleFields.length > 0; else default\">\n <ng-container *ngFor=\"let field of visibleFields\">\n {{ item[field] }}\n </ng-container>\n </ng-container>\n <ng-template #default>\n {{ item }}\n </ng-template>\n </li>\n </ul>\n </fd-popover-body>\n</fd-popover>\n", styles: [":host{display:flex;align-items:center;column-gap:2px;width:130px}.avatar-actions{display:flex;padding:10px;flex-direction:column;justify-content:center;row-gap:15px;width:100px}\n"] }]
|
|
65
|
+
}], propDecorators: { popoverBodyComponent: [{
|
|
66
|
+
type: ViewChild,
|
|
67
|
+
args: ['overflowPopoverBody']
|
|
68
|
+
}], avatarGroupCom: [{
|
|
69
|
+
type: ViewChild,
|
|
70
|
+
args: [AvatarGroupComponent, { static: true, read: AvatarGroupComponent }]
|
|
71
|
+
}], existedItems: [{
|
|
72
|
+
type: Input
|
|
73
|
+
}], availableItems: [{
|
|
74
|
+
type: Input
|
|
75
|
+
}], viewSetting: [{
|
|
76
|
+
type: Input
|
|
77
|
+
}], visibleFields: [{
|
|
78
|
+
type: Input
|
|
79
|
+
}], addItem: [{
|
|
80
|
+
type: Input
|
|
81
|
+
}], size: [{
|
|
82
|
+
type: Input
|
|
83
|
+
}] } });
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtYXZhdGFyLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLWthbmJhbi9zcmMvbGliL2F2YXRhci1ncm91cC9iYXJzYS1hdmF0YXItZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Eta2FuYmFuL3NyYy9saWIvYXZhdGFyLWdyb3VwL2JhcnNhLWF2YXRhci1ncm91cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFckYsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxPQUFPLEVBQVEsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQTBDLE1BQU0sdUJBQXVCLENBQUM7QUFDckcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7Ozs7QUFVM0UsTUFBTSxPQUFPLHlCQUEwQixTQUFRLG1CQUFtQjtJQU5sRTs7UUFhYSxrQkFBYSxHQUFhLEVBQUUsQ0FBQztRQUU3QixTQUFJLEdBQVMsR0FBRyxDQUFDO1FBRTFCLGtCQUFhLEdBQVEsSUFBSSxDQUFDO1FBQzFCLHlCQUFvQixHQUFzQixNQUFNLENBQUM7S0ErQ3BEO0lBN0NHLElBQUksYUFBYTtRQUNiLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixLQUFLLFFBQVEsQ0FBQztJQUNsRCxDQUFDO0lBRUQsYUFBYSxDQUFDLFFBQWlCO1FBQzNCLElBQUksUUFBUSxFQUFFO1lBQ1YsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7U0FDM0I7SUFDTCxDQUFDO0lBRUQsT0FBTyxDQUFDLE9BQU87UUFDWCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNSLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ25DO0lBQ0wsQ0FBQztJQUVELFlBQVksQ0FBQyxHQUFXO1FBQ3BCLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsZ0JBQWdCO1FBQ1osSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFDMUIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLE1BQU0sQ0FBQztRQUVuQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLDBCQUEwQixFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDakYsQ0FBQztJQUVELGtCQUFrQixDQUFDLEtBQWlCLEVBQUUsT0FBeUI7UUFDM0QsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxLQUFvQixFQUFFLE9BQXlCO1FBQ2hFLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLEVBQUU7WUFDeEQsT0FBTztTQUNWO1FBRUQsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFO1lBQ3pDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNuQjtRQUVELElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBRTtZQUMxQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDbEI7SUFDTCxDQUFDOztzSEExRFEseUJBQXlCOzBHQUF6Qix5QkFBeUIsK1hBR3ZCLG9CQUFvQiwyQkFBd0Isb0JBQW9CLGtFQ2xCL0UsNGhRQTRLQTsyRkQ3SmEseUJBQXlCO2tCQU5yQyxTQUFTOytCQUNJLGlCQUFpQixtQkFHVix1QkFBdUIsQ0FBQyxNQUFNOzhCQUkvQyxvQkFBb0I7c0JBRG5CLFNBQVM7dUJBQUMscUJBQXFCO2dCQUUrQyxjQUFjO3NCQUE1RixTQUFTO3VCQUFDLG9CQUFvQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsb0JBQW9CLEVBQUU7Z0JBQ3BFLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRU5URVIsIEVTQ0FQRSwgU1BBQ0UsIFRBQiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQgeyBLZXlVdGlsLCBTaXplIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3V0aWxzJztcbmltcG9ydCB7IEF2YXRhckdyb3VwQ29tcG9uZW50LCBQb3BvdmVyQm9keUNvbXBvbmVudCwgUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZSc7XG5pbXBvcnQgeyBLYW5iYW5CYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4va2FuYmFuLWJhc2Uva2FuYmFuLWJhc2UuY29tcG9uZW50JztcbmltcG9ydCB7IE1ldGFvYmplY3REYXRhTW9kZWwgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XG5pbXBvcnQgeyBLYW5iYW5WaWV3U2V0dGluZyB9IGZyb20gJy4uL01vZGVscy9rYW5iYW4tdmlldy1zZXR0aW5nLmludGVyZmFjZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYmstYXZhdGFyLWdyb3VwJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYmFyc2EtYXZhdGFyLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9iYXJzYS1hdmF0YXItZ3JvdXAuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBCYXJzYUF2YXRhckdyb3VwQ29tcG9uZW50IGV4dGVuZHMgS2FuYmFuQmFzZUNvbXBvbmVudCB7XG4gICAgQFZpZXdDaGlsZCgnb3ZlcmZsb3dQb3BvdmVyQm9keScpXG4gICAgcG9wb3ZlckJvZHlDb21wb25lbnQ6IFBvcG92ZXJCb2R5Q29tcG9uZW50O1xuICAgIEBWaWV3Q2hpbGQoQXZhdGFyR3JvdXBDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlLCByZWFkOiBBdmF0YXJHcm91cENvbXBvbmVudCB9KSBhdmF0YXJHcm91cENvbTogQXZhdGFyR3JvdXBDb21wb25lbnQ7XG4gICAgQElucHV0KCkgZXhpc3RlZEl0ZW1zOiBNZXRhb2JqZWN0RGF0YU1vZGVsW107XG4gICAgQElucHV0KCkgYXZhaWxhYmxlSXRlbXM6IE1ldGFvYmplY3REYXRhTW9kZWxbXTtcbiAgICBASW5wdXQoKSB2aWV3U2V0dGluZzogS2FuYmFuVmlld1NldHRpbmc7XG4gICAgQElucHV0KCkgdmlzaWJsZUZpZWxkczogc3RyaW5nW10gPSBbXTtcbiAgICBASW5wdXQoKSBhZGRJdGVtOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHNpemU6IFNpemUgPSAnbCc7XG5cbiAgICBwZXJzb25EZXRhaWxzOiBhbnkgPSBudWxsO1xuICAgIG92ZXJmbG93UG9wb3ZlclN0YWdlOiAnbWFpbicgfCAnZGV0YWlsJyA9ICdtYWluJztcbiAgICBvdmVyZmxvd0l0ZW1zQ291bnQ7XG4gICAgZ2V0IGlzRGV0YWlsU3RhZ2UoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLm92ZXJmbG93UG9wb3ZlclN0YWdlID09PSAnZGV0YWlsJztcbiAgICB9XG5cbiAgICBpc09wZW5DaGFuZ2VkKGlzT3BlbmVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmIChpc09wZW5lZCkge1xuICAgICAgICAgICAgdGhpcy5vcGVuT3ZlcmZsb3dNYWluKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZXdJdGVtKG5ld0l0ZW0pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZXhpc3QgPSB0aGlzLmV4aXN0ZWRJdGVtcy5maW5kKChpdGVtKSA9PiBpdGVtLklkID09PSBuZXdJdGVtLklkKTtcbiAgICAgICAgaWYgKCFleGlzdCkge1xuICAgICAgICAgICAgdGhpcy5leGlzdGVkSXRlbXMucHVzaChuZXdJdGVtKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRlbGV0ZUF2YXRhcihpZHg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLmV4aXN0ZWRJdGVtcy5zcGxpY2UoaWR4LCAxKTtcbiAgICB9XG5cbiAgICBvcGVuT3ZlcmZsb3dNYWluKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnBlcnNvbkRldGFpbHMgPSBudWxsO1xuICAgICAgICB0aGlzLm92ZXJmbG93UG9wb3ZlclN0YWdlID0gJ21haW4nO1xuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5wb3BvdmVyQm9keUNvbXBvbmVudD8uX2ZvY3VzRmlyc3RUYWJiYWJsZUVsZW1lbnQoKSwgMCk7XG4gICAgfVxuXG4gICAgaGFuZGxlQ29udHJvbENsaWNrKGV2ZW50OiBNb3VzZUV2ZW50LCBwb3BvdmVyOiBQb3BvdmVyQ29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIHBvcG92ZXIub3BlbigpO1xuICAgIH1cblxuICAgIGhhbmRsZUNvbnRyb2xLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50LCBwb3BvdmVyOiBQb3BvdmVyQ29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIGlmICghS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIFtFU0NBUEUsIFRBQiwgU1BBQ0UsIEVOVEVSXSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgW0VTQ0FQRSwgVEFCXSkpIHtcbiAgICAgICAgICAgIHBvcG92ZXIuY2xvc2UoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgW1NQQUNFLCBFTlRFUl0pKSB7XG4gICAgICAgICAgICBwb3BvdmVyLm9wZW4oKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxmZC1hdmF0YXItZ3JvdXAgI2F2YXRhckdyb3VwQ29tIHR5cGU9XCJncm91cFwiIFtzaXplXT1cInNpemVcIj5cbiAgICA8ZmQtcG9wb3ZlclxuICAgICAgICBbbm9BcnJvd109XCJmYWxzZVwiXG4gICAgICAgIFtmb2N1c1RyYXBwZWRdPVwidHJ1ZVwiXG4gICAgICAgIFtmb2N1c0F1dG9DYXB0dXJlXT1cInRydWVcIlxuICAgICAgICBbdHJpZ2dlcnNdPVwiW11cIlxuICAgICAgICBbY2xvc2VPbk91dHNpZGVDbGlja109XCJ0cnVlXCJcbiAgICAgICAgW2Nsb3NlT25Fc2NhcGVLZXldPVwidHJ1ZVwiXG4gICAgICAgIChpc09wZW5DaGFuZ2UpPVwiaXNPcGVuQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tXCJcbiAgICAgICAgW21heFdpZHRoXT1cIjMxMlwiXG4gICAgICAgICNvdmVyZmxvd1BvcG92ZXJcbiAgICA+XG4gICAgICAgIDxmZC1wb3BvdmVyLWNvbnRyb2xcbiAgICAgICAgICAgIGZkLWF2YXRhci1ncm91cC1wb3BvdmVyLWNvbnRyb2xcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAgICAgICAgICAgJ0hhcyBwb3B1cCB0eXBlIGRpYWxvZyBDb25qb2luZWQgYXZhdGFycywgJyArXG4gICAgICAgICAgICAgICAgJyBhdmF0YXJzIGRpc3BsYXllZCwgJyArXG4gICAgICAgICAgICAgICAgYXZhdGFyR3JvdXBDb20/Lm92ZXJmbG93SXRlbXNDb3VudCArXG4gICAgICAgICAgICAgICAgJyBhdmF0YXJzIGhpZGRlbiwgYWN0aXZhdGUgZm9yIGNvbXBsZXRlIGxpc3QnXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZUNvbnRyb2xDbGljaygkZXZlbnQsIG92ZXJmbG93UG9wb3ZlcilcIlxuICAgICAgICAgICAgKGtleWRvd24pPVwiaGFuZGxlQ29udHJvbEtleWRvd24oJGV2ZW50LCBvdmVyZmxvd1BvcG92ZXIpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgcGVyc29uIG9mIGV4aXN0ZWRJdGVtc1wiIGZkLWF2YXRhci1ncm91cC1pdGVtPlxuICAgICAgICAgICAgICAgIDxmZC1hdmF0YXJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhcGVyc29uW3ZpZXdTZXR0aW5nLkFzc2lnbmVlSW1hZ2VdXCJcbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cInBlcnNvblt2aWV3U2V0dGluZy5Bc3NpZ25lZU5hbWVdXCJcbiAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cInBlcnNvblt2aWV3U2V0dGluZy5Bc3NpZ25lZU5hbWVdXCJcbiAgICAgICAgICAgICAgICAgICAgW2FyaWFMYWJlbF09XCJwZXJzb25bdmlld1NldHRpbmcuQXNzaWduZWVOYW1lXSArICcgYXZhdGFyJ1wiXG4gICAgICAgICAgICAgICAgICAgIHJvbGU9XCJpbWdcIlxuICAgICAgICAgICAgICAgICAgICBbY2lyY2xlXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICBbYm9yZGVyXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICBbc2l6ZV09XCJzaXplXCJcbiAgICAgICAgICAgICAgICA+PC9mZC1hdmF0YXI+XG5cbiAgICAgICAgICAgICAgICA8ZmQtYXZhdGFyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwicGVyc29uW3ZpZXdTZXR0aW5nLkFzc2lnbmVlSW1hZ2VdIGFzIGF2YXRhclwiXG4gICAgICAgICAgICAgICAgICAgIHJvbGU9XCJpbWdcIlxuICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwicGVyc29uW3ZpZXdTZXR0aW5nLkFzc2lnbmVlTmFtZV1cIlxuICAgICAgICAgICAgICAgICAgICBbYXJpYUxhYmVsXT1cInBlcnNvblt2aWV3U2V0dGluZy5Bc3NpZ25lZU5hbWVdICsgJyBhdmF0YXInXCJcbiAgICAgICAgICAgICAgICAgICAgW2NpcmNsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgW2JvcmRlcl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgW3NpemVdPVwic2l6ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtpbWFnZV09XCIoYXZhdGFyLkZpbGVJZCB8IHBpY0ZpZWxkU3JjOiAnSUQnOnBlcnNvbi5JZCkgfHwgJydcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8L2ZkLWF2YXRhcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICpuZ0lmPVwiYXZhdGFyR3JvdXBDb20ub3ZlcmZsb3dJdGVtc0NvdW50ICYmIGF2YXRhckdyb3VwQ29tLm92ZXJmbG93SXRlbXNDb3VudCA+IDBcIlxuICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgICAgIGZkLWF2YXRhci1ncm91cC1vdmVyZmxvdy1idXR0b25cbiAgICAgICAgICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgICAgICAgICBbY29tcGFjdF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgW3NpemVdPVwic2l6ZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGJkaSBmZC1hdmF0YXItZ3JvdXAtb3ZlcmZsb3ctYnV0dG9uLXRleHQ+ICt7eyBhdmF0YXJHcm91cENvbS5vdmVyZmxvd0l0ZW1zQ291bnQgfX0gPC9iZGk+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9mZC1wb3BvdmVyLWNvbnRyb2w+XG4gICAgICAgIDxmZC1wb3BvdmVyLWJvZHkgI292ZXJmbG93UG9wb3ZlckJvZHkgYXJpYS1sYWJlbGxlZGJ5PVwiYXZhdGFyLWdyb3VwLTEtcG9wb3Zlci1oZWFkZXJcIiByb2xlPVwidG9vbHRpcFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZkLXBvcG92ZXJfX3dyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGZkLXBvcG92ZXItYm9keS1oZWFkZXI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgZmQtYmFyIGJhckRlc2lnbj1cImhlYWRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBmZC1iYXItbGVmdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmQtYnV0dG9uLWJhclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImlzRGV0YWlsU3RhZ2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib3Blbk92ZXJmbG93TWFpbigpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2x5cGg9XCJuYXZpZ2F0aW9uLWxlZnQtYXJyb3dcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJCYWNrXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJCYWNrXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9mZC1idXR0b24tYmFyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1iYXItZWxlbWVudCBpZD1cImF2YXRhci1ncm91cC0xLXBvcG92ZXItaGVhZGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGlzRGV0YWlsU3RhZ2UgPyAnQnVzaW5lc3MgQ2FyZCcgOiAnVGVhbSBNZW1iZXJzICgnICsgZXhpc3RlZEl0ZW1zPy5sZW5ndGggKyAnKScgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZkLWJhci1lbGVtZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1iYXItZWxlbWVudCAqbmdJZj1cImlzRGV0YWlsU3RhZ2VcIj4mbmJzcDs8L2ZkLWJhci1lbGVtZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBmZC1hdmF0YXItZ3JvdXAtb3ZlcmZsb3ctYm9keVxuICAgICAgICAgICAgICAgICAgICBbbm9QYWRkaW5nXT1cImlzRGV0YWlsU3RhZ2VcIlxuICAgICAgICAgICAgICAgICAgICBbbm9Ib3Jpem9udGFsU2Nyb2xsXT1cImlzRGV0YWlsU3RhZ2VcIlxuICAgICAgICAgICAgICAgICAgICBbbm9WZXJ0aWNhbFNjcm9sbF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwib3ZlcmZsb3dQb3BvdmVyU3RhZ2UgPT09ICdtYWluJ1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcGVyc29uIG9mIGV4aXN0ZWRJdGVtczsgbGV0IGlkeCA9IGluZGV4XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBmZC1hdmF0YXItZ3JvdXAtb3ZlcmZsb3ctaXRlbT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZkLXBvcG92ZXIgW3RyaWdnZXJzXT1cIlsnY2xpY2snXVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZkLXBvcG92ZXItY29udHJvbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmQtYXZhdGFyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIXBlcnNvblt2aWV3U2V0dGluZy5Bc3NpZ25lZUltYWdlXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZkLWF2YXRhci1ncm91cC1mb2N1c2FibGUtYXZhdGFyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjaXJjbGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cInBlcnNvblt2aWV3U2V0dGluZy5Bc3NpZ25lZU5hbWVdXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cInBlcnNvblt2aWV3U2V0dGluZy5Bc3NpZ25lZU5hbWVdXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FyaWFMYWJlbF09XCJwZXJzb25bdmlld1NldHRpbmcuQXNzaWduZWVOYW1lXSArICcgYXZhdGFyJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJpbWdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2ZkLWF2YXRhcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmQtYXZhdGFyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwicGVyc29uW3ZpZXdTZXR0aW5nLkFzc2lnbmVlSW1hZ2VdIGFzIGF2YXRhclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZkLWF2YXRhci1ncm91cC1mb2N1c2FibGUtYXZhdGFyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJpbWdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwicGVyc29uW3ZpZXdTZXR0aW5nLkFzc2lnbmVlTmFtZV1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXJpYUxhYmVsXT1cInBlcnNvblt2aWV3U2V0dGluZy5Bc3NpZ25lZU5hbWVdICsgJyBhdmF0YXInXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NpcmNsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW1hZ2VdPVwiKGF2YXRhci5GaWxlSWQgfCBwaWNGaWVsZFNyYzogJ0lEJzpwZXJzb24uSWQpIHx8ICcnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9mZC1hdmF0YXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZkLXBvcG92ZXItY29udHJvbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1wb3BvdmVyLWJvZHk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF2YXRhci1hY3Rpb25zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImRlbGV0ZUF2YXRhcihpZHgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInRGVsZXRlJyB8IGJiYlRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbHlwaD1cImRlY2xpbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidTaG93JyB8IGJiYlRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbHlwaD1cImRldGFpbC12aWV3XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9mZC1wb3BvdmVyLWJvZHk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmQtcG9wb3Zlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2ZkLXBvcG92ZXItYm9keT5cbiAgICA8L2ZkLXBvcG92ZXI+XG48L2ZkLWF2YXRhci1ncm91cD5cblxuPGZkLXBvcG92ZXJcbiAgICAjcGVvcGxlUG9wb3ZlclxuICAgICpuZ0lmPVwiYWRkSXRlbVwiXG4gICAgW3RyaWdnZXJzXT1cIltdXCJcbiAgICBbZm9jdXNUcmFwcGVkXT1cImZhbHNlXCJcbiAgICBbY2xvc2VPbk91dHNpZGVDbGlja109XCJ0cnVlXCJcbiAgICBbbm9BcnJvd109XCJmYWxzZVwiXG4gICAgcGxhY2VtZW50PVwiYm90dG9tXCJcbiAgICBbZm9jdXNBdXRvQ2FwdHVyZV09XCJ0cnVlXCJcbj5cbiAgICA8ZmQtcG9wb3Zlci1jb250cm9sPlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuUG9wb3ZlcigkZXZlbnQsIHBlb3BsZVBvcG92ZXIpXCJcbiAgICAgICAgICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICAgICAgZ2x5cGg9XCJzeXMtYWRkXCJcbiAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9mZC1wb3BvdmVyLWNvbnRyb2w+XG4gICAgPGZkLXBvcG92ZXItYm9keT5cbiAgICAgICAgPHVsIGZkLWxpc3Q+XG4gICAgICAgICAgICA8bGkgZmQtbGlzdC1pdGVtICpuZ0Zvcj1cImxldCBpdGVtIG9mIGF2YWlsYWJsZUl0ZW1zXCIgKGNsaWNrKT1cIm5ld0l0ZW0oaXRlbSlcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidmlzaWJsZUZpZWxkcy5sZW5ndGggPiAwOyBlbHNlIGRlZmF1bHRcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZmllbGQgb2YgdmlzaWJsZUZpZWxkc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgaXRlbVtmaWVsZF0gfX1cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0PlxuICAgICAgICAgICAgICAgICAgICB7eyBpdGVtIH19XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgIDwvdWw+XG4gICAgPC9mZC1wb3BvdmVyLWJvZHk+XG48L2ZkLXBvcG92ZXI+XG4iXX0=
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { BarsaNovinRayCoreModule, BaseModule } from 'barsa-novin-ray-core';
|
|
4
|
+
import { KanbanViewComponent } from './kanban-view/kanban-view.component';
|
|
5
|
+
import { FundamentalNgxCoreModule } from '@fundamental-ngx/core';
|
|
6
|
+
import { BarsaAvatarGroupComponent } from './avatar-group/barsa-avatar-group.component';
|
|
7
|
+
import { FundamentalNgxPlatformModule } from '@fundamental-ngx/platform';
|
|
8
|
+
import { BarsaEchartsModule } from 'barsa-echarts';
|
|
9
|
+
import { FormsModule } from '@angular/forms';
|
|
10
|
+
import { DragDropModule } from '@angular/cdk/drag-drop';
|
|
11
|
+
import { KanbanCardComponent } from './kanban-card/kanban-card.component';
|
|
12
|
+
import { KanbanTagsComponent } from './kanban-tags/kanban-tags.component';
|
|
13
|
+
import { KanbanBaseComponent } from './kanban-base/kanban-base.component';
|
|
14
|
+
import { HttpClientModule } from '@angular/common/http';
|
|
15
|
+
import { BarsaSapUiModule } from 'barsa-sap-ui';
|
|
16
|
+
import * as i0 from "@angular/core";
|
|
17
|
+
import * as i1 from "barsa-novin-ray-core";
|
|
18
|
+
const components = [
|
|
19
|
+
KanbanViewComponent,
|
|
20
|
+
BarsaAvatarGroupComponent,
|
|
21
|
+
KanbanCardComponent,
|
|
22
|
+
KanbanTagsComponent,
|
|
23
|
+
KanbanBaseComponent
|
|
24
|
+
];
|
|
25
|
+
export class BarsaKanbanModule extends BaseModule {
|
|
26
|
+
constructor(dcm, componentFactoryResolver) {
|
|
27
|
+
super(dcm, componentFactoryResolver, 'BarsaKanbanModule');
|
|
28
|
+
this.dcm = dcm;
|
|
29
|
+
this.componentFactoryResolver = componentFactoryResolver;
|
|
30
|
+
this.dynamicComponents = [...components];
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
BarsaKanbanModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: BarsaKanbanModule, deps: [{ token: i1.DynamicComponentService }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.NgModule });
|
|
34
|
+
BarsaKanbanModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.7", ngImport: i0, type: BarsaKanbanModule, declarations: [KanbanViewComponent,
|
|
35
|
+
BarsaAvatarGroupComponent,
|
|
36
|
+
KanbanCardComponent,
|
|
37
|
+
KanbanTagsComponent,
|
|
38
|
+
KanbanBaseComponent], imports: [CommonModule,
|
|
39
|
+
BarsaNovinRayCoreModule,
|
|
40
|
+
FundamentalNgxCoreModule,
|
|
41
|
+
FundamentalNgxPlatformModule,
|
|
42
|
+
BarsaEchartsModule,
|
|
43
|
+
BarsaSapUiModule,
|
|
44
|
+
FormsModule,
|
|
45
|
+
DragDropModule,
|
|
46
|
+
HttpClientModule], exports: [KanbanViewComponent,
|
|
47
|
+
BarsaAvatarGroupComponent,
|
|
48
|
+
KanbanCardComponent,
|
|
49
|
+
KanbanTagsComponent,
|
|
50
|
+
KanbanBaseComponent] });
|
|
51
|
+
BarsaKanbanModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: BarsaKanbanModule, imports: [CommonModule,
|
|
52
|
+
BarsaNovinRayCoreModule,
|
|
53
|
+
FundamentalNgxCoreModule,
|
|
54
|
+
FundamentalNgxPlatformModule,
|
|
55
|
+
BarsaEchartsModule,
|
|
56
|
+
BarsaSapUiModule,
|
|
57
|
+
FormsModule,
|
|
58
|
+
DragDropModule,
|
|
59
|
+
HttpClientModule] });
|
|
60
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: BarsaKanbanModule, decorators: [{
|
|
61
|
+
type: NgModule,
|
|
62
|
+
args: [{
|
|
63
|
+
declarations: [...components],
|
|
64
|
+
schemas: [NO_ERRORS_SCHEMA],
|
|
65
|
+
imports: [
|
|
66
|
+
CommonModule,
|
|
67
|
+
BarsaNovinRayCoreModule,
|
|
68
|
+
FundamentalNgxCoreModule,
|
|
69
|
+
FundamentalNgxPlatformModule,
|
|
70
|
+
BarsaEchartsModule,
|
|
71
|
+
BarsaSapUiModule,
|
|
72
|
+
FormsModule,
|
|
73
|
+
DragDropModule,
|
|
74
|
+
HttpClientModule
|
|
75
|
+
],
|
|
76
|
+
exports: [...components]
|
|
77
|
+
}]
|
|
78
|
+
}], ctorParameters: function () { return [{ type: i1.DynamicComponentService }, { type: i0.ComponentFactoryResolver }]; } });
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2Eta2FuYmFuLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLWthbmJhbi9zcmMvbGliL2JhcnNhLWthbmJhbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUE0QixRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxVQUFVLEVBQTJCLE1BQU0sc0JBQXNCLENBQUM7QUFDcEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDakUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDeEYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sY0FBYyxDQUFDOzs7QUFFaEQsTUFBTSxVQUFVLEdBQUc7SUFDZixtQkFBbUI7SUFDbkIseUJBQXlCO0lBQ3pCLG1CQUFtQjtJQUNuQixtQkFBbUI7SUFDbkIsbUJBQW1CO0NBQ3RCLENBQUM7QUFrQkYsTUFBTSxPQUFPLGlCQUFrQixTQUFRLFVBQVU7SUFHN0MsWUFBc0IsR0FBNEIsRUFBWSx3QkFBa0Q7UUFDNUcsS0FBSyxDQUFDLEdBQUcsRUFBRSx3QkFBd0IsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO1FBRHhDLFFBQUcsR0FBSCxHQUFHLENBQXlCO1FBQVksNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUZ0RyxzQkFBaUIsR0FBRyxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUM7SUFJOUMsQ0FBQzs7OEdBTFEsaUJBQWlCOytHQUFqQixpQkFBaUIsaUJBdkIxQixtQkFBbUI7UUFDbkIseUJBQXlCO1FBQ3pCLG1CQUFtQjtRQUNuQixtQkFBbUI7UUFDbkIsbUJBQW1CLGFBT2YsWUFBWTtRQUNaLHVCQUF1QjtRQUN2Qix3QkFBd0I7UUFDeEIsNEJBQTRCO1FBQzVCLGtCQUFrQjtRQUNsQixnQkFBZ0I7UUFDaEIsV0FBVztRQUNYLGNBQWM7UUFDZCxnQkFBZ0IsYUFuQnBCLG1CQUFtQjtRQUNuQix5QkFBeUI7UUFDekIsbUJBQW1CO1FBQ25CLG1CQUFtQjtRQUNuQixtQkFBbUI7K0dBbUJWLGlCQUFpQixZQVp0QixZQUFZO1FBQ1osdUJBQXVCO1FBQ3ZCLHdCQUF3QjtRQUN4Qiw0QkFBNEI7UUFDNUIsa0JBQWtCO1FBQ2xCLGdCQUFnQjtRQUNoQixXQUFXO1FBQ1gsY0FBYztRQUNkLGdCQUFnQjsyRkFJWCxpQkFBaUI7a0JBaEI3QixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDO29CQUM3QixPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDM0IsT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osdUJBQXVCO3dCQUN2Qix3QkFBd0I7d0JBQ3hCLDRCQUE0Qjt3QkFDNUIsa0JBQWtCO3dCQUNsQixnQkFBZ0I7d0JBQ2hCLFdBQVc7d0JBQ1gsY0FBYzt3QkFDZCxnQkFBZ0I7cUJBQ25CO29CQUNELE9BQU8sRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDO2lCQUMzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgTmdNb2R1bGUsIE5PX0VSUk9SU19TQ0hFTUEgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBCYXJzYU5vdmluUmF5Q29yZU1vZHVsZSwgQmFzZU1vZHVsZSwgRHluYW1pY0NvbXBvbmVudFNlcnZpY2UgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XG5pbXBvcnQgeyBLYW5iYW5WaWV3Q29tcG9uZW50IH0gZnJvbSAnLi9rYW5iYW4tdmlldy9rYW5iYW4tdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRnVuZGFtZW50YWxOZ3hDb3JlTW9kdWxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlJztcbmltcG9ydCB7IEJhcnNhQXZhdGFyR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL2F2YXRhci1ncm91cC9iYXJzYS1hdmF0YXItZ3JvdXAuY29tcG9uZW50JztcbmltcG9ydCB7IEZ1bmRhbWVudGFsTmd4UGxhdGZvcm1Nb2R1bGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L3BsYXRmb3JtJztcbmltcG9ydCB7IEJhcnNhRWNoYXJ0c01vZHVsZSB9IGZyb20gJ2JhcnNhLWVjaGFydHMnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBEcmFnRHJvcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgS2FuYmFuQ2FyZENvbXBvbmVudCB9IGZyb20gJy4va2FuYmFuLWNhcmQva2FuYmFuLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IEthbmJhblRhZ3NDb21wb25lbnQgfSBmcm9tICcuL2thbmJhbi10YWdzL2thbmJhbi10YWdzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBLYW5iYW5CYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9rYW5iYW4tYmFzZS9rYW5iYW4tYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEJhcnNhU2FwVWlNb2R1bGUgfSBmcm9tICdiYXJzYS1zYXAtdWknO1xuXG5jb25zdCBjb21wb25lbnRzID0gW1xuICAgIEthbmJhblZpZXdDb21wb25lbnQsXG4gICAgQmFyc2FBdmF0YXJHcm91cENvbXBvbmVudCxcbiAgICBLYW5iYW5DYXJkQ29tcG9uZW50LFxuICAgIEthbmJhblRhZ3NDb21wb25lbnQsXG4gICAgS2FuYmFuQmFzZUNvbXBvbmVudFxuXTtcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFsuLi5jb21wb25lbnRzXSxcbiAgICBzY2hlbWFzOiBbTk9fRVJST1JTX1NDSEVNQV0sXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIEJhcnNhTm92aW5SYXlDb3JlTW9kdWxlLFxuICAgICAgICBGdW5kYW1lbnRhbE5neENvcmVNb2R1bGUsXG4gICAgICAgIEZ1bmRhbWVudGFsTmd4UGxhdGZvcm1Nb2R1bGUsXG4gICAgICAgIEJhcnNhRWNoYXJ0c01vZHVsZSxcbiAgICAgICAgQmFyc2FTYXBVaU1vZHVsZSxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIERyYWdEcm9wTW9kdWxlLFxuICAgICAgICBIdHRwQ2xpZW50TW9kdWxlXG4gICAgXSxcbiAgICBleHBvcnRzOiBbLi4uY29tcG9uZW50c11cbn0pXG5leHBvcnQgY2xhc3MgQmFyc2FLYW5iYW5Nb2R1bGUgZXh0ZW5kcyBCYXNlTW9kdWxlIHtcbiAgICBwcm90ZWN0ZWQgZHluYW1pY0NvbXBvbmVudHMgPSBbLi4uY29tcG9uZW50c107XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgZGNtOiBEeW5hbWljQ29tcG9uZW50U2VydmljZSwgcHJvdGVjdGVkIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyKSB7XG4gICAgICAgIHN1cGVyKGRjbSwgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCAnQmFyc2FLYW5iYW5Nb2R1bGUnKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
+
import { BaseComponent } from 'barsa-novin-ray-core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class KanbanBaseComponent extends BaseComponent {
|
|
5
|
+
openPopover(e, popover) {
|
|
6
|
+
e.stopPropagation();
|
|
7
|
+
e.preventDefault();
|
|
8
|
+
popover.toggle();
|
|
9
|
+
}
|
|
10
|
+
closePopover(popover) {
|
|
11
|
+
popover.close();
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
KanbanBaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: KanbanBaseComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
15
|
+
KanbanBaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: KanbanBaseComponent, selector: "bk-kanban-base", usesInheritance: true, ngImport: i0, template: "<p>kanban-base works!</p>\r\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: KanbanBaseComponent, decorators: [{
|
|
17
|
+
type: Component,
|
|
18
|
+
args: [{ selector: 'bk-kanban-base', changeDetection: ChangeDetectionStrategy.OnPush, template: "<p>kanban-base works!</p>\r\n" }]
|
|
19
|
+
}] });
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2FuYmFuLWJhc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Eta2FuYmFuL3NyYy9saWIva2FuYmFuLWJhc2Uva2FuYmFuLWJhc2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Eta2FuYmFuL3NyYy9saWIva2FuYmFuLWJhc2Uva2FuYmFuLWJhc2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBU3JELE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxhQUFhO0lBQ2xELFdBQVcsQ0FBQyxDQUFDLEVBQUUsT0FBeUI7UUFDcEMsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNuQixPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELFlBQVksQ0FBQyxPQUF5QjtRQUNsQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDcEIsQ0FBQzs7Z0hBVFEsbUJBQW1CO29HQUFuQixtQkFBbUIsNkVDWGhDLCtCQUNBOzJGRFVhLG1CQUFtQjtrQkFOL0IsU0FBUzsrQkFDSSxnQkFBZ0IsbUJBR1QsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcbmltcG9ydCB7IFBvcG92ZXJDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JrLWthbmJhbi1iYXNlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4va2FuYmFuLWJhc2UuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2thbmJhbi1iYXNlLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgS2FuYmFuQmFzZUNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICAgIG9wZW5Qb3BvdmVyKGUsIHBvcG92ZXI6IFBvcG92ZXJDb21wb25lbnQpOiB2b2lkIHtcbiAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBwb3BvdmVyLnRvZ2dsZSgpO1xuICAgIH1cblxuICAgIGNsb3NlUG9wb3Zlcihwb3BvdmVyOiBQb3BvdmVyQ29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIHBvcG92ZXIuY2xvc2UoKTtcbiAgICB9XG59XG4iLCI8cD5rYW5iYW4tYmFzZSB3b3JrcyE8L3A+XHJcbiJdfQ==
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
+
import { BaseViewItemPropsComponent, FormPanelService } from 'barsa-novin-ray-core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
import * as i2 from "barsa-novin-ray-core";
|
|
6
|
+
import * as i3 from "@fundamental-ngx/core/card";
|
|
7
|
+
import * as i4 from "@fundamental-ngx/core/icon";
|
|
8
|
+
import * as i5 from "@fundamental-ngx/platform/shared";
|
|
9
|
+
import * as i6 from "@fundamental-ngx/platform/action-button-group";
|
|
10
|
+
import * as i7 from "@fundamental-ngx/platform/button";
|
|
11
|
+
import * as i8 from "@fundamental-ngx/platform/menu";
|
|
12
|
+
import * as i9 from "barsa-sap-ui";
|
|
13
|
+
export class KanbanCardComponent extends BaseViewItemPropsComponent {
|
|
14
|
+
constructor() {
|
|
15
|
+
super(...arguments);
|
|
16
|
+
this.moTasksCount = 4;
|
|
17
|
+
this.moFinishedTasksCount = 2;
|
|
18
|
+
}
|
|
19
|
+
ngOnInit() {
|
|
20
|
+
super.ngOnInit();
|
|
21
|
+
this.moTaskPercentage = Math.floor((this.moFinishedTasksCount / this.moTasksCount) * 100);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
KanbanCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: KanbanCardComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
25
|
+
KanbanCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: KanbanCardComponent, selector: "bk-kanban-card", inputs: { index: "index", mo: "mo", viewSetting: "viewSetting", allAvailableAssignees: "allAvailableAssignees" }, providers: [FormPanelService], usesInheritance: true, ngImport: i0, template: "<fd-card cardType=\"quickView\" class=\"docs-flex-item-margin\" style=\"background: transparent\" ellipsify>\n <div class=\"row task-cover\">\n <img\n [src]=\"\n viewSetting.Cover\n ? (mo[viewSetting.Cover]?.FileId\n | picFieldSrc: 'ID':viewSetting[viewSetting.Cover + 'Column']?.FieldDefId)\n : ''\n \"\n />\n </div>\n <fdp-action-button-group class=\"card-menu\">\n <fdp-button\n contentDensity=\"compact\"\n glyph=\"overflow\"\n buttonType=\"transparent\"\n [fdpMenuTriggerFor]=\"basicMenu\"\n ></fdp-button>\n <fdp-menu #basicMenu id=\"basic-menu\" [xPosition]=\"'before'\">\n <fdp-menu-item>{{ 'Edit' | bbbTranslate }}</fdp-menu-item>\n <fdp-menu-item>{{ 'Delete' | bbbTranslate }}</fdp-menu-item>\n </fdp-menu>\n </fdp-action-button-group>\n <fd-card-content>\n <bsu-ly-layout-container-of-root\n *ngIf=\"layout$ | async as layout94\"\n [config]=\"layout94\"\n [isPanel]=\"false\"\n [isRoot]=\"true\"\n ></bsu-ly-layout-container-of-root>\n </fd-card-content>\n <fd-card-footer>\n <div class=\"kanban-footer row\">\n <div class=\"comment row\">\n <fd-icon glyph=\"post\"></fd-icon>\n {{ mo[viewSetting.CommentsCount] }}\n </div>\n <div class=\"attachment row\">\n <fd-icon glyph=\"attachment\"></fd-icon>\n {{ mo[viewSetting.AttachesCount] }}\n </div>\n\n <div class=\"task row\">\n {{ mo[viewSetting.ProgressLabel] }}\n <div class=\"circle-icon\">\n <fd-icon glyph=\"accept\"></fd-icon>\n </div>\n </div>\n </div>\n </fd-card-footer>\n</fd-card>\n", styles: [":host{position:relative}:host.selected{background-color:var(--sapList_SelectionBackgroundColor, #e5f0fa)}:host.selected fd-card{border-color:var(--sapList_SelectionBorderColor, #0854a0)}:host.selected fd-card,:host.selected fd-card-header,:host.selected .fd-bar--footer,:host.selected fd-quick-view-subheader .fd-bar{background-color:inherit!important}.row{display:flex;align-items:center}.fd-card{background:var(--sapBackgroundColor, #f7f7f7)!important;box-shadow:none}.fd-card:hover .card-menu fdp-button{display:block}.fd-card .card-menu{position:absolute;right:1rem;top:1rem;background-color:#fff}.fd-card .card-menu fdp-button{display:none}.fd-card .card-menu [aria-controls=fdp-menu-basic-menu]{display:block}.fd-card .task-cover{width:100%;height:150px;justify-content:center}.fd-card .task-cover img{object-fit:cover;width:100%;height:100%}.fd-card fd-card-content{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;row-gap:20px;padding:1rem}.fd-card fd-card-content .progress-indicator{flex:1}.fd-card fd-card-content .progress-indicator ::ng-deep .fd-progress-indicator__remaining{display:flex;align-items:center}.fd-card ::ng-deep fd-info-label .fd-info-label__text{display:inline-flex!important}.kanban-footer{padding:1rem;column-gap:10px}.kanban-footer .comment,.kanban-footer .attachment,.kanban-footer .task{column-gap:2px}.kanban-footer .task{margin-right:auto}.kanban-footer .task .circle-icon{width:calc(var(--sapFontSize, .875rem) + 6px);height:calc(var(--sapFontSize, .875rem) + 6px);border-radius:calc(var(--sapFontSize, .875rem) + 6px);border:1px solid var(--sapButton_BorderColor, #0854a0);display:flex;align-items:center;justify-content:center}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.EllipsifyDirective, selector: "[ellipsify]", inputs: ["limitLine"] }, { kind: "component", type: i3.CardComponent, selector: "fd-card", inputs: ["badge", "isLoading", "cardType", "id", "role"] }, { kind: "component", type: i3.CardContentComponent, selector: "fd-card-content" }, { kind: "component", type: i3.CardFooterComponent, selector: "fd-card-footer" }, { kind: "component", type: i4.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "directive", type: i5.PlatformContentDensityDeprecationDirective, selector: " fdp-action-bar[contentDensity], fdp-button[contentDensity], fdp-object-list-item[contentDensity], fdp-standard-list-item[contentDensity], fdp-menu[contentDensity], fdp-menu-button[contentDensity], fdp-panel[contentDensity], fdp-search-field[contentDensity], fdp-split-menu-button[contentDensity], fdp-file-uploader[contentDensity], fdp-upload-collection[contentDensity], fdp-table[contentDensity], fdp-multi-input[contentDensity], fdp-list[contentDensity], fdp-slider[contentDensity], fdp-time-picker[contentDensity], fdp-textarea[contentDensity], fdp-switch[contentDensity], fdp-number-step-input[contentDensity], fdp-select[contentDensity], fdp-date-picker[contentDensity], fdp-checkbox[contentDensity], fdp-checkbox-group[contentDensity], fdp-combobox[contentDensity], fdp-datetime-picker[contentDensity], fdp-input[contentDensity], fdp-radio-group[contentDensity], fdp-radio-button[contentDensity], fdp-multi-combobox[contentDensity], fdp-input-group-addon-body[contentDensity], fdp-input-group[contentDensity], fdp-value-help-dialog[contentDensity], fdp-filter-single-select[contentDensity], fdp-filter-multi-select[contentDensity], fdp-filter-custom[contentDensity] " }, { kind: "component", type: i6.ActionButtonGroupComponent, selector: "fdp-action-button-group" }, { kind: "component", type: i7.ButtonComponent, selector: "fdp-button", inputs: ["glyphPosition", "label", "glyph", "buttonType", "title", "ariaSelected", "ariaDisabled", "ariaExpanded", "ariaControlsId", "ariaPressed", "name", "type", "value"], outputs: ["buttonClicked"] }, { kind: "component", type: i8.MenuComponent, selector: "fdp-menu", inputs: ["id", "openByArrowKeys", "xPosition"], outputs: ["close"] }, { kind: "component", type: i8.MenuItemComponent, selector: "fdp-menu-item", inputs: ["disabled", "cascadeDirection"], outputs: ["itemSelect"] }, { kind: "directive", type: i8.MenuTriggerDirective, selector: "[fdpMenuTriggerFor]", inputs: ["fdpMenuTriggerFor"] }, { kind: "component", type: i9.LyLayoutContainerOfRootComponent, selector: "bsu-ly-layout-container-of-root" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.PictureFieldSourcePipe, name: "picFieldSrc" }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: KanbanCardComponent, decorators: [{
|
|
27
|
+
type: Component,
|
|
28
|
+
args: [{ selector: 'bk-kanban-card', providers: [FormPanelService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-card cardType=\"quickView\" class=\"docs-flex-item-margin\" style=\"background: transparent\" ellipsify>\n <div class=\"row task-cover\">\n <img\n [src]=\"\n viewSetting.Cover\n ? (mo[viewSetting.Cover]?.FileId\n | picFieldSrc: 'ID':viewSetting[viewSetting.Cover + 'Column']?.FieldDefId)\n : ''\n \"\n />\n </div>\n <fdp-action-button-group class=\"card-menu\">\n <fdp-button\n contentDensity=\"compact\"\n glyph=\"overflow\"\n buttonType=\"transparent\"\n [fdpMenuTriggerFor]=\"basicMenu\"\n ></fdp-button>\n <fdp-menu #basicMenu id=\"basic-menu\" [xPosition]=\"'before'\">\n <fdp-menu-item>{{ 'Edit' | bbbTranslate }}</fdp-menu-item>\n <fdp-menu-item>{{ 'Delete' | bbbTranslate }}</fdp-menu-item>\n </fdp-menu>\n </fdp-action-button-group>\n <fd-card-content>\n <bsu-ly-layout-container-of-root\n *ngIf=\"layout$ | async as layout94\"\n [config]=\"layout94\"\n [isPanel]=\"false\"\n [isRoot]=\"true\"\n ></bsu-ly-layout-container-of-root>\n </fd-card-content>\n <fd-card-footer>\n <div class=\"kanban-footer row\">\n <div class=\"comment row\">\n <fd-icon glyph=\"post\"></fd-icon>\n {{ mo[viewSetting.CommentsCount] }}\n </div>\n <div class=\"attachment row\">\n <fd-icon glyph=\"attachment\"></fd-icon>\n {{ mo[viewSetting.AttachesCount] }}\n </div>\n\n <div class=\"task row\">\n {{ mo[viewSetting.ProgressLabel] }}\n <div class=\"circle-icon\">\n <fd-icon glyph=\"accept\"></fd-icon>\n </div>\n </div>\n </div>\n </fd-card-footer>\n</fd-card>\n", styles: [":host{position:relative}:host.selected{background-color:var(--sapList_SelectionBackgroundColor, #e5f0fa)}:host.selected fd-card{border-color:var(--sapList_SelectionBorderColor, #0854a0)}:host.selected fd-card,:host.selected fd-card-header,:host.selected .fd-bar--footer,:host.selected fd-quick-view-subheader .fd-bar{background-color:inherit!important}.row{display:flex;align-items:center}.fd-card{background:var(--sapBackgroundColor, #f7f7f7)!important;box-shadow:none}.fd-card:hover .card-menu fdp-button{display:block}.fd-card .card-menu{position:absolute;right:1rem;top:1rem;background-color:#fff}.fd-card .card-menu fdp-button{display:none}.fd-card .card-menu [aria-controls=fdp-menu-basic-menu]{display:block}.fd-card .task-cover{width:100%;height:150px;justify-content:center}.fd-card .task-cover img{object-fit:cover;width:100%;height:100%}.fd-card fd-card-content{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;row-gap:20px;padding:1rem}.fd-card fd-card-content .progress-indicator{flex:1}.fd-card fd-card-content .progress-indicator ::ng-deep .fd-progress-indicator__remaining{display:flex;align-items:center}.fd-card ::ng-deep fd-info-label .fd-info-label__text{display:inline-flex!important}.kanban-footer{padding:1rem;column-gap:10px}.kanban-footer .comment,.kanban-footer .attachment,.kanban-footer .task{column-gap:2px}.kanban-footer .task{margin-right:auto}.kanban-footer .task .circle-icon{width:calc(var(--sapFontSize, .875rem) + 6px);height:calc(var(--sapFontSize, .875rem) + 6px);border-radius:calc(var(--sapFontSize, .875rem) + 6px);border:1px solid var(--sapButton_BorderColor, #0854a0);display:flex;align-items:center;justify-content:center}\n"] }]
|
|
29
|
+
}], propDecorators: { index: [{
|
|
30
|
+
type: Input
|
|
31
|
+
}], mo: [{
|
|
32
|
+
type: Input
|
|
33
|
+
}], viewSetting: [{
|
|
34
|
+
type: Input
|
|
35
|
+
}], allAvailableAssignees: [{
|
|
36
|
+
type: Input
|
|
37
|
+
}] } });
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2FuYmFuLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Eta2FuYmFuL3NyYy9saWIva2FuYmFuLWNhcmQva2FuYmFuLWNhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Eta2FuYmFuL3NyYy9saWIva2FuYmFuLWNhcmQva2FuYmFuLWNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFbEYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLGdCQUFnQixFQUF1QixNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7OztBQVV6RyxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsMEJBQTBCO0lBUG5FOztRQWFJLGlCQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLHlCQUFvQixHQUFHLENBQUMsQ0FBQztLQU81QjtJQUpHLFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBQzlGLENBQUM7O2dIQWJRLG1CQUFtQjtvR0FBbkIsbUJBQW1CLDJKQUhqQixDQUFDLGdCQUFnQixDQUFDLGlEQ1RqQywwNURBbURBOzJGRHZDYSxtQkFBbUI7a0JBUC9CLFNBQVM7K0JBQ0ksZ0JBQWdCLGFBR2YsQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFDWix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csRUFBRTtzQkFBVixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0cscUJBQXFCO3NCQUE3QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBCYXNlVmlld0l0ZW1Qcm9wc0NvbXBvbmVudCwgRm9ybVBhbmVsU2VydmljZSwgTWV0YW9iamVjdERhdGFNb2RlbCB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcbmltcG9ydCB7IEthbmJhblZpZXdTZXR0aW5nIH0gZnJvbSAnLi4vTW9kZWxzL2thbmJhbi12aWV3LXNldHRpbmcuaW50ZXJmYWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdiay1rYW5iYW4tY2FyZCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2thbmJhbi1jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9rYW5iYW4tY2FyZC5jb21wb25lbnQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogW0Zvcm1QYW5lbFNlcnZpY2VdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEthbmJhbkNhcmRDb21wb25lbnQgZXh0ZW5kcyBCYXNlVmlld0l0ZW1Qcm9wc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KCkgaW5kZXg6IG51bWJlcjtcbiAgICBASW5wdXQoKSBtbzogTWV0YW9iamVjdERhdGFNb2RlbDtcbiAgICBASW5wdXQoKSB2aWV3U2V0dGluZzogS2FuYmFuVmlld1NldHRpbmc7XG4gICAgQElucHV0KCkgYWxsQXZhaWxhYmxlQXNzaWduZWVzOiBNZXRhb2JqZWN0RGF0YU1vZGVsW107XG5cbiAgICBtb1Rhc2tzQ291bnQgPSA0O1xuICAgIG1vRmluaXNoZWRUYXNrc0NvdW50ID0gMjtcbiAgICBtb1Rhc2tQZXJjZW50YWdlO1xuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIHRoaXMubW9UYXNrUGVyY2VudGFnZSA9IE1hdGguZmxvb3IoKHRoaXMubW9GaW5pc2hlZFRhc2tzQ291bnQgLyB0aGlzLm1vVGFza3NDb3VudCkgKiAxMDApO1xuICAgIH1cbn1cbiIsIjxmZC1jYXJkIGNhcmRUeXBlPVwicXVpY2tWaWV3XCIgY2xhc3M9XCJkb2NzLWZsZXgtaXRlbS1tYXJnaW5cIiBzdHlsZT1cImJhY2tncm91bmQ6IHRyYW5zcGFyZW50XCIgZWxsaXBzaWZ5PlxuICAgIDxkaXYgY2xhc3M9XCJyb3cgdGFzay1jb3ZlclwiPlxuICAgICAgICA8aW1nXG4gICAgICAgICAgICBbc3JjXT1cIlxuICAgICAgICAgICAgICAgIHZpZXdTZXR0aW5nLkNvdmVyXG4gICAgICAgICAgICAgICAgICAgID8gKG1vW3ZpZXdTZXR0aW5nLkNvdmVyXT8uRmlsZUlkXG4gICAgICAgICAgICAgICAgICAgICAgfCBwaWNGaWVsZFNyYzogJ0lEJzp2aWV3U2V0dGluZ1t2aWV3U2V0dGluZy5Db3ZlciArICdDb2x1bW4nXT8uRmllbGREZWZJZClcbiAgICAgICAgICAgICAgICAgICAgOiAnJ1xuICAgICAgICAgICAgXCJcbiAgICAgICAgLz5cbiAgICA8L2Rpdj5cbiAgICA8ZmRwLWFjdGlvbi1idXR0b24tZ3JvdXAgY2xhc3M9XCJjYXJkLW1lbnVcIj5cbiAgICAgICAgPGZkcC1idXR0b25cbiAgICAgICAgICAgIGNvbnRlbnREZW5zaXR5PVwiY29tcGFjdFwiXG4gICAgICAgICAgICBnbHlwaD1cIm92ZXJmbG93XCJcbiAgICAgICAgICAgIGJ1dHRvblR5cGU9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICBbZmRwTWVudVRyaWdnZXJGb3JdPVwiYmFzaWNNZW51XCJcbiAgICAgICAgPjwvZmRwLWJ1dHRvbj5cbiAgICAgICAgPGZkcC1tZW51ICNiYXNpY01lbnUgaWQ9XCJiYXNpYy1tZW51XCIgW3hQb3NpdGlvbl09XCInYmVmb3JlJ1wiPlxuICAgICAgICAgICAgPGZkcC1tZW51LWl0ZW0+e3sgJ0VkaXQnIHwgYmJiVHJhbnNsYXRlIH19PC9mZHAtbWVudS1pdGVtPlxuICAgICAgICAgICAgPGZkcC1tZW51LWl0ZW0+e3sgJ0RlbGV0ZScgfCBiYmJUcmFuc2xhdGUgfX08L2ZkcC1tZW51LWl0ZW0+XG4gICAgICAgIDwvZmRwLW1lbnU+XG4gICAgPC9mZHAtYWN0aW9uLWJ1dHRvbi1ncm91cD5cbiAgICA8ZmQtY2FyZC1jb250ZW50PlxuICAgICAgICA8YnN1LWx5LWxheW91dC1jb250YWluZXItb2Ytcm9vdFxuICAgICAgICAgICAgKm5nSWY9XCJsYXlvdXQkIHwgYXN5bmMgYXMgbGF5b3V0OTRcIlxuICAgICAgICAgICAgW2NvbmZpZ109XCJsYXlvdXQ5NFwiXG4gICAgICAgICAgICBbaXNQYW5lbF09XCJmYWxzZVwiXG4gICAgICAgICAgICBbaXNSb290XT1cInRydWVcIlxuICAgICAgICA+PC9ic3UtbHktbGF5b3V0LWNvbnRhaW5lci1vZi1yb290PlxuICAgIDwvZmQtY2FyZC1jb250ZW50PlxuICAgIDxmZC1jYXJkLWZvb3Rlcj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImthbmJhbi1mb290ZXIgcm93XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29tbWVudCByb3dcIj5cbiAgICAgICAgICAgICAgICA8ZmQtaWNvbiBnbHlwaD1cInBvc3RcIj48L2ZkLWljb24+XG4gICAgICAgICAgICAgICAge3sgbW9bdmlld1NldHRpbmcuQ29tbWVudHNDb3VudF0gfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF0dGFjaG1lbnQgcm93XCI+XG4gICAgICAgICAgICAgICAgPGZkLWljb24gZ2x5cGg9XCJhdHRhY2htZW50XCI+PC9mZC1pY29uPlxuICAgICAgICAgICAgICAgIHt7IG1vW3ZpZXdTZXR0aW5nLkF0dGFjaGVzQ291bnRdIH19XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhc2sgcm93XCI+XG4gICAgICAgICAgICAgICAge3sgbW9bdmlld1NldHRpbmcuUHJvZ3Jlc3NMYWJlbF0gfX1cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2lyY2xlLWljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgPGZkLWljb24gZ2x5cGg9XCJhY2NlcHRcIj48L2ZkLWljb24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9mZC1jYXJkLWZvb3Rlcj5cbjwvZmQtY2FyZD5cbiJdfQ==
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
+
import { KanbanBaseComponent } from '../kanban-base/kanban-base.component';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
import * as i2 from "@fundamental-ngx/core/button";
|
|
6
|
+
import * as i3 from "@fundamental-ngx/core/form";
|
|
7
|
+
import * as i4 from "@fundamental-ngx/core/info-label";
|
|
8
|
+
import * as i5 from "@fundamental-ngx/core/popover";
|
|
9
|
+
import * as i6 from "@angular/forms";
|
|
10
|
+
import * as i7 from "barsa-novin-ray-core";
|
|
11
|
+
export class KanbanTagsComponent extends KanbanBaseComponent {
|
|
12
|
+
constructor() {
|
|
13
|
+
super(...arguments);
|
|
14
|
+
this.colorList = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10'];
|
|
15
|
+
this.currentTagLabel = '';
|
|
16
|
+
this.selectedColor = '';
|
|
17
|
+
}
|
|
18
|
+
colorClick(color) {
|
|
19
|
+
this.selectedColor = color;
|
|
20
|
+
}
|
|
21
|
+
addTag() {
|
|
22
|
+
const newTag = { Id: '', $Caption: '' };
|
|
23
|
+
newTag[this.viewSetting.TagColor] = this.selectedColor;
|
|
24
|
+
newTag[this.viewSetting.TagName] = this.currentTagLabel;
|
|
25
|
+
this.tags.push(newTag);
|
|
26
|
+
this.currentTagLabel = '';
|
|
27
|
+
this.selectedColor = '';
|
|
28
|
+
}
|
|
29
|
+
deleteTag(index) {
|
|
30
|
+
this.tags.splice(index, 1);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
KanbanTagsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: KanbanTagsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
34
|
+
KanbanTagsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: KanbanTagsComponent, selector: "bk-kanban-tags", inputs: { tags: "tags", viewSetting: "viewSetting" }, usesInheritance: true, ngImport: i0, template: "<div class=\"row tags-container\">\n <ng-container *ngFor=\"let tag of tags; let i = index\">\n <fd-popover placement=\"bottom\" [closeOnOutsideClick]=\"true\">\n <fd-popover-control>\n <div class=\"tag\">\n <fd-info-label\n [label]=\"tag[viewSetting.TagName]\"\n [color]=\"tag[viewSetting.TagColor]\"\n [title]=\"tag[viewSetting.TagName]\"\n ></fd-info-label>\n </div>\n </fd-popover-control>\n <fd-popover-body>\n <div class=\"tag-delete\">\n <button fd-button (click)=\"deleteTag(i)\" [label]=\"'Delete' | bbbTranslate\" glyph=\"decline\"></button>\n </div>\n </fd-popover-body>\n </fd-popover>\n </ng-container>\n\n <fd-popover\n #tagPopover\n [triggers]=\"[]\"\n [focusTrapped]=\"false\"\n [closeOnOutsideClick]=\"true\"\n [noArrow]=\"false\"\n placement=\"bottom\"\n [focusAutoCapture]=\"true\"\n >\n <fd-popover-control>\n <div>\n <button\n fd-button\n (click)=\"openPopover($event, tagPopover)\"\n fdType=\"transparent\"\n glyph=\"sys-add\"\n ></button>\n </div>\n </fd-popover-control>\n <fd-popover-body>\n <div class=\"new-tag\" (keydown.enter)=\"addTag()\">\n <div fd-form-item class=\"row\">\n <input fd-form-control type=\"text\" [(ngModel)]=\"currentTagLabel\" id=\"input-1\" placeholder=\" \u0646\u0627\u0645\" />\n </div>\n <div class=\"colors-colection row\">\n <div\n *ngFor=\"let color of colorList\"\n (click)=\"colorClick(color)\"\n [ngClass]=\"'fd-info-label--accent-color-' + color\"\n [class.selected-color]=\"selectedColor === color\"\n class=\"color\"\n ></div>\n </div>\n <div class=\"ok-cancel-btns row\">\n <button fd-button [label]=\"'Ok' | bbbTranslate\" [fdType]=\"'emphasized'\" (click)=\"addTag()\"></button>\n <button\n fd-button\n [label]=\"'Cancel' | bbbTranslate\"\n [fdType]=\"'transparent'\"\n (click)=\"closePopover(tagPopover)\"\n ></button>\n </div>\n </div>\n </fd-popover-body>\n </fd-popover>\n</div>\n", styles: [":host ::ng-deep .fd-info-label__text{height:auto!important}.row,.new-tag .colors-colection{display:flex;align-items:center}.tags-container{column-gap:10px;flex-wrap:wrap}.new-tag{padding:15px;max-width:200px;row-gap:15px;display:flex;flex-direction:column;justify-content:center;align-items:center}.new-tag .row,.new-tag .colors-colection{column-gap:15px;width:100%}.new-tag .colors-colection{flex-wrap:wrap;row-gap:10px}.new-tag .colors-colection .color{width:40px;height:24px;border-radius:10px;border:1px solid var(--sapBackgroundColor, #f7f7f7)}.new-tag .colors-colection .selected-color{border-color:var(--sapList_SelectionBorderColor, #0854a0)}.ok-cancel-btns{justify-content:flex-end}.tag-delete{display:flex;align-items:center;justify-content:center;width:100px;height:80px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i3.FormControlComponent, selector: "[fd-form-control]", inputs: ["state", "type", "class"] }, { kind: "directive", type: i3.InputFormControlDirective, selector: "input[fd-form-control]" }, { kind: "component", type: i3.FormItemComponent, selector: "[fd-form-item]", inputs: ["isInline", "horizontal"] }, { kind: "component", type: i4.InfoLabelComponent, selector: "fd-info-label", inputs: ["class", "type", "glyph", "font", "color", "label", "title", "ariaLabel", "ariaLabelledBy"] }, { kind: "component", type: i5.PopoverControlComponent, selector: "fd-popover-control" }, { kind: "component", type: i5.PopoverBodyComponent, selector: "fd-popover-body" }, { kind: "component", type: i5.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig"] }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i7.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: KanbanTagsComponent, decorators: [{
|
|
36
|
+
type: Component,
|
|
37
|
+
args: [{ selector: 'bk-kanban-tags', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"row tags-container\">\n <ng-container *ngFor=\"let tag of tags; let i = index\">\n <fd-popover placement=\"bottom\" [closeOnOutsideClick]=\"true\">\n <fd-popover-control>\n <div class=\"tag\">\n <fd-info-label\n [label]=\"tag[viewSetting.TagName]\"\n [color]=\"tag[viewSetting.TagColor]\"\n [title]=\"tag[viewSetting.TagName]\"\n ></fd-info-label>\n </div>\n </fd-popover-control>\n <fd-popover-body>\n <div class=\"tag-delete\">\n <button fd-button (click)=\"deleteTag(i)\" [label]=\"'Delete' | bbbTranslate\" glyph=\"decline\"></button>\n </div>\n </fd-popover-body>\n </fd-popover>\n </ng-container>\n\n <fd-popover\n #tagPopover\n [triggers]=\"[]\"\n [focusTrapped]=\"false\"\n [closeOnOutsideClick]=\"true\"\n [noArrow]=\"false\"\n placement=\"bottom\"\n [focusAutoCapture]=\"true\"\n >\n <fd-popover-control>\n <div>\n <button\n fd-button\n (click)=\"openPopover($event, tagPopover)\"\n fdType=\"transparent\"\n glyph=\"sys-add\"\n ></button>\n </div>\n </fd-popover-control>\n <fd-popover-body>\n <div class=\"new-tag\" (keydown.enter)=\"addTag()\">\n <div fd-form-item class=\"row\">\n <input fd-form-control type=\"text\" [(ngModel)]=\"currentTagLabel\" id=\"input-1\" placeholder=\" \u0646\u0627\u0645\" />\n </div>\n <div class=\"colors-colection row\">\n <div\n *ngFor=\"let color of colorList\"\n (click)=\"colorClick(color)\"\n [ngClass]=\"'fd-info-label--accent-color-' + color\"\n [class.selected-color]=\"selectedColor === color\"\n class=\"color\"\n ></div>\n </div>\n <div class=\"ok-cancel-btns row\">\n <button fd-button [label]=\"'Ok' | bbbTranslate\" [fdType]=\"'emphasized'\" (click)=\"addTag()\"></button>\n <button\n fd-button\n [label]=\"'Cancel' | bbbTranslate\"\n [fdType]=\"'transparent'\"\n (click)=\"closePopover(tagPopover)\"\n ></button>\n </div>\n </div>\n </fd-popover-body>\n </fd-popover>\n</div>\n", styles: [":host ::ng-deep .fd-info-label__text{height:auto!important}.row,.new-tag .colors-colection{display:flex;align-items:center}.tags-container{column-gap:10px;flex-wrap:wrap}.new-tag{padding:15px;max-width:200px;row-gap:15px;display:flex;flex-direction:column;justify-content:center;align-items:center}.new-tag .row,.new-tag .colors-colection{column-gap:15px;width:100%}.new-tag .colors-colection{flex-wrap:wrap;row-gap:10px}.new-tag .colors-colection .color{width:40px;height:24px;border-radius:10px;border:1px solid var(--sapBackgroundColor, #f7f7f7)}.new-tag .colors-colection .selected-color{border-color:var(--sapList_SelectionBorderColor, #0854a0)}.ok-cancel-btns{justify-content:flex-end}.tag-delete{display:flex;align-items:center;justify-content:center;width:100px;height:80px}\n"] }]
|
|
38
|
+
}], propDecorators: { tags: [{
|
|
39
|
+
type: Input
|
|
40
|
+
}], viewSetting: [{
|
|
41
|
+
type: Input
|
|
42
|
+
}] } });
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2FuYmFuLXRhZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Eta2FuYmFuL3NyYy9saWIva2FuYmFuLXRhZ3Mva2FuYmFuLXRhZ3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Eta2FuYmFuL3NyYy9saWIva2FuYmFuLXRhZ3Mva2FuYmFuLXRhZ3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7OztBQVUzRSxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsbUJBQW1CO0lBTjVEOztRQVNJLGNBQVMsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2hFLG9CQUFlLEdBQUcsRUFBRSxDQUFDO1FBQ3JCLGtCQUFhLEdBQUcsRUFBRSxDQUFDO0tBa0J0QjtJQWhCRyxVQUFVLENBQUMsS0FBYTtRQUNwQixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztJQUMvQixDQUFDO0lBRUQsTUFBTTtRQUNGLE1BQU0sTUFBTSxHQUF3QixFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQzdELE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDdkQsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUN4RCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQWE7UUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQy9CLENBQUM7O2dIQXRCUSxtQkFBbUI7b0dBQW5CLG1CQUFtQixtSUNaaEMsNHJGQWtFQTsyRkR0RGEsbUJBQW1CO2tCQU4vQixTQUFTOytCQUNJLGdCQUFnQixtQkFHVCx1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEthbmJhbkJhc2VDb21wb25lbnQgfSBmcm9tICcuLi9rYW5iYW4tYmFzZS9rYW5iYW4tYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgS2FuYmFuVmlld1NldHRpbmcgfSBmcm9tICcuLi9Nb2RlbHMva2FuYmFuLXZpZXctc2V0dGluZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTWV0YW9iamVjdERhdGFNb2RlbCB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdiay1rYW5iYW4tdGFncycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2thbmJhbi10YWdzLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9rYW5iYW4tdGFncy5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEthbmJhblRhZ3NDb21wb25lbnQgZXh0ZW5kcyBLYW5iYW5CYXNlQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSB0YWdzOiBNZXRhb2JqZWN0RGF0YU1vZGVsW107XG4gICAgQElucHV0KCkgdmlld1NldHRpbmc6IEthbmJhblZpZXdTZXR0aW5nO1xuICAgIGNvbG9yTGlzdCA9IFsnMScsICcyJywgJzMnLCAnNCcsICc1JywgJzYnLCAnNycsICc4JywgJzknLCAnMTAnXTtcbiAgICBjdXJyZW50VGFnTGFiZWwgPSAnJztcbiAgICBzZWxlY3RlZENvbG9yID0gJyc7XG5cbiAgICBjb2xvckNsaWNrKGNvbG9yOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENvbG9yID0gY29sb3I7XG4gICAgfVxuXG4gICAgYWRkVGFnKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBuZXdUYWc6IE1ldGFvYmplY3REYXRhTW9kZWwgPSB7IElkOiAnJywgJENhcHRpb246ICcnIH07XG4gICAgICAgIG5ld1RhZ1t0aGlzLnZpZXdTZXR0aW5nLlRhZ0NvbG9yXSA9IHRoaXMuc2VsZWN0ZWRDb2xvcjtcbiAgICAgICAgbmV3VGFnW3RoaXMudmlld1NldHRpbmcuVGFnTmFtZV0gPSB0aGlzLmN1cnJlbnRUYWdMYWJlbDtcbiAgICAgICAgdGhpcy50YWdzLnB1c2gobmV3VGFnKTtcbiAgICAgICAgdGhpcy5jdXJyZW50VGFnTGFiZWwgPSAnJztcbiAgICAgICAgdGhpcy5zZWxlY3RlZENvbG9yID0gJyc7XG4gICAgfVxuXG4gICAgZGVsZXRlVGFnKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50YWdzLnNwbGljZShpbmRleCwgMSk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInJvdyB0YWdzLWNvbnRhaW5lclwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHRhZyBvZiB0YWdzOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgIDxmZC1wb3BvdmVyIHBsYWNlbWVudD1cImJvdHRvbVwiIFtjbG9zZU9uT3V0c2lkZUNsaWNrXT1cInRydWVcIj5cbiAgICAgICAgICAgIDxmZC1wb3BvdmVyLWNvbnRyb2w+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhZ1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZmQtaW5mby1sYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cInRhZ1t2aWV3U2V0dGluZy5UYWdOYW1lXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY29sb3JdPVwidGFnW3ZpZXdTZXR0aW5nLlRhZ0NvbG9yXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwidGFnW3ZpZXdTZXR0aW5nLlRhZ05hbWVdXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvZmQtaW5mby1sYWJlbD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZmQtcG9wb3Zlci1jb250cm9sPlxuICAgICAgICAgICAgPGZkLXBvcG92ZXItYm9keT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFnLWRlbGV0ZVwiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGZkLWJ1dHRvbiAoY2xpY2spPVwiZGVsZXRlVGFnKGkpXCIgW2xhYmVsXT1cIidEZWxldGUnIHwgYmJiVHJhbnNsYXRlXCIgZ2x5cGg9XCJkZWNsaW5lXCI+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2ZkLXBvcG92ZXItYm9keT5cbiAgICAgICAgPC9mZC1wb3BvdmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPGZkLXBvcG92ZXJcbiAgICAgICAgI3RhZ1BvcG92ZXJcbiAgICAgICAgW3RyaWdnZXJzXT1cIltdXCJcbiAgICAgICAgW2ZvY3VzVHJhcHBlZF09XCJmYWxzZVwiXG4gICAgICAgIFtjbG9zZU9uT3V0c2lkZUNsaWNrXT1cInRydWVcIlxuICAgICAgICBbbm9BcnJvd109XCJmYWxzZVwiXG4gICAgICAgIHBsYWNlbWVudD1cImJvdHRvbVwiXG4gICAgICAgIFtmb2N1c0F1dG9DYXB0dXJlXT1cInRydWVcIlxuICAgID5cbiAgICAgICAgPGZkLXBvcG92ZXItY29udHJvbD5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5Qb3BvdmVyKCRldmVudCwgdGFnUG9wb3ZlcilcIlxuICAgICAgICAgICAgICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICAgICAgICAgIGdseXBoPVwic3lzLWFkZFwiXG4gICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZmQtcG9wb3Zlci1jb250cm9sPlxuICAgICAgICA8ZmQtcG9wb3Zlci1ib2R5PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5ldy10YWdcIiAoa2V5ZG93bi5lbnRlcik9XCJhZGRUYWcoKVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgZmQtZm9ybS1pdGVtIGNsYXNzPVwicm93XCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBmZC1mb3JtLWNvbnRyb2wgdHlwZT1cInRleHRcIiBbKG5nTW9kZWwpXT1cImN1cnJlbnRUYWdMYWJlbFwiIGlkPVwiaW5wdXQtMVwiIHBsYWNlaG9sZGVyPVwiINmG2KfZhVwiIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbG9ycy1jb2xlY3Rpb24gcm93XCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjb2xvciBvZiBjb2xvckxpc3RcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNvbG9yQ2xpY2soY29sb3IpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIidmZC1pbmZvLWxhYmVsLS1hY2NlbnQtY29sb3ItJyArIGNvbG9yXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZC1jb2xvcl09XCJzZWxlY3RlZENvbG9yID09PSBjb2xvclwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNvbG9yXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvay1jYW5jZWwtYnRucyByb3dcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBmZC1idXR0b24gW2xhYmVsXT1cIidPaycgfCBiYmJUcmFuc2xhdGVcIiBbZmRUeXBlXT1cIidlbXBoYXNpemVkJ1wiIChjbGljayk9XCJhZGRUYWcoKVwiPjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInQ2FuY2VsJyB8IGJiYlRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZmRUeXBlXT1cIid0cmFuc3BhcmVudCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsb3NlUG9wb3Zlcih0YWdQb3BvdmVyKVwiXG4gICAgICAgICAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2ZkLXBvcG92ZXItYm9keT5cbiAgICA8L2ZkLXBvcG92ZXI+XG48L2Rpdj5cbiJdfQ==
|