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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"barsa-kanban.mjs","sources":["../../../projects/barsa-kanban/src/lib/kanban-base/kanban-base.component.ts","../../../projects/barsa-kanban/src/lib/kanban-base/kanban-base.component.html","../../../projects/barsa-kanban/src/lib/kanban-tags/kanban-tags.component.ts","../../../projects/barsa-kanban/src/lib/kanban-tags/kanban-tags.component.html","../../../projects/barsa-kanban/src/lib/kanban-card/kanban-card.component.ts","../../../projects/barsa-kanban/src/lib/kanban-card/kanban-card.component.html","../../../projects/barsa-kanban/src/lib/avatar-group/barsa-avatar-group.component.ts","../../../projects/barsa-kanban/src/lib/avatar-group/barsa-avatar-group.component.html","../../../projects/barsa-kanban/src/lib/kanban-view/kanban-view.component.ts","../../../projects/barsa-kanban/src/lib/kanban-view/kanban-view.component.html","../../../projects/barsa-kanban/src/lib/barsa-kanban.module.ts","../../../projects/barsa-kanban/src/barsa-kanban.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component } from '@angular/core';\n\nimport { BaseComponent } from 'barsa-novin-ray-core';\nimport { PopoverComponent } from '@fundamental-ngx/core';\n\n@Component({\n selector: 'bk-kanban-base',\n templateUrl: './kanban-base.component.html',\n styleUrls: ['./kanban-base.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class KanbanBaseComponent extends BaseComponent {\n openPopover(e, popover: PopoverComponent): void {\n e.stopPropagation();\n e.preventDefault();\n popover.toggle();\n }\n\n closePopover(popover: PopoverComponent): void {\n popover.close();\n }\n}\n","<p>kanban-base works!</p>\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nimport { KanbanBaseComponent } from '../kanban-base/kanban-base.component';\nimport { KanbanViewSetting } from '../Models/kanban-view-setting.interface';\nimport { MetaobjectDataModel } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bk-kanban-tags',\n templateUrl: './kanban-tags.component.html',\n styleUrls: ['./kanban-tags.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class KanbanTagsComponent extends KanbanBaseComponent {\n @Input() tags: MetaobjectDataModel[];\n @Input() viewSetting: KanbanViewSetting;\n colorList = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10'];\n currentTagLabel = '';\n selectedColor = '';\n\n colorClick(color: string): void {\n this.selectedColor = color;\n }\n\n addTag(): void {\n const newTag: MetaobjectDataModel = { Id: '', $Caption: '' };\n newTag[this.viewSetting.TagColor] = this.selectedColor;\n newTag[this.viewSetting.TagName] = this.currentTagLabel;\n this.tags.push(newTag);\n this.currentTagLabel = '';\n this.selectedColor = '';\n }\n\n deleteTag(index: number): void {\n this.tags.splice(index, 1);\n }\n}\n","<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=\" نام\" />\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","import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';\n\nimport { BaseViewItemPropsComponent, FormPanelService, MetaobjectDataModel } from 'barsa-novin-ray-core';\nimport { KanbanViewSetting } from '../Models/kanban-view-setting.interface';\n\n@Component({\n selector: 'bk-kanban-card',\n templateUrl: './kanban-card.component.html',\n styleUrls: ['./kanban-card.component.scss'],\n providers: [FormPanelService],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class KanbanCardComponent extends BaseViewItemPropsComponent implements OnInit {\n @Input() index: number;\n @Input() mo: MetaobjectDataModel;\n @Input() viewSetting: KanbanViewSetting;\n @Input() allAvailableAssignees: MetaobjectDataModel[];\n\n moTasksCount = 4;\n moFinishedTasksCount = 2;\n moTaskPercentage;\n\n ngOnInit(): void {\n super.ngOnInit();\n this.moTaskPercentage = Math.floor((this.moFinishedTasksCount / this.moTasksCount) * 100);\n }\n}\n","<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","import { ChangeDetectionStrategy, Component, Input, ViewChild } from '@angular/core';\n\nimport { ENTER, ESCAPE, SPACE, TAB } from '@angular/cdk/keycodes';\nimport { KeyUtil, Size } from '@fundamental-ngx/core/utils';\nimport { AvatarGroupComponent, PopoverBodyComponent, PopoverComponent } from '@fundamental-ngx/core';\nimport { KanbanBaseComponent } from '../kanban-base/kanban-base.component';\nimport { MetaobjectDataModel } from 'barsa-novin-ray-core';\nimport { KanbanViewSetting } from '../Models/kanban-view-setting.interface';\n\n@Component({\n selector: 'bk-avatar-group',\n templateUrl: './barsa-avatar-group.component.html',\n styleUrls: ['./barsa-avatar-group.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BarsaAvatarGroupComponent extends KanbanBaseComponent {\n @ViewChild('overflowPopoverBody')\n popoverBodyComponent: PopoverBodyComponent;\n @ViewChild(AvatarGroupComponent, { static: true, read: AvatarGroupComponent }) avatarGroupCom: AvatarGroupComponent;\n @Input() existedItems: MetaobjectDataModel[];\n @Input() availableItems: MetaobjectDataModel[];\n @Input() viewSetting: KanbanViewSetting;\n @Input() visibleFields: string[] = [];\n @Input() addItem: boolean;\n @Input() size: Size = 'l';\n\n personDetails: any = null;\n overflowPopoverStage: 'main' | 'detail' = 'main';\n overflowItemsCount;\n get isDetailStage(): boolean {\n return this.overflowPopoverStage === 'detail';\n }\n\n isOpenChanged(isOpened: boolean): void {\n if (isOpened) {\n this.openOverflowMain();\n }\n }\n\n newItem(newItem): void {\n const exist = this.existedItems.find((item) => item.Id === newItem.Id);\n if (!exist) {\n this.existedItems.push(newItem);\n }\n }\n\n deleteAvatar(idx: number): void {\n this.existedItems.splice(idx, 1);\n }\n\n openOverflowMain(): void {\n this.personDetails = null;\n this.overflowPopoverStage = 'main';\n\n setTimeout(() => this.popoverBodyComponent?._focusFirstTabbableElement(), 0);\n }\n\n handleControlClick(event: MouseEvent, popover: PopoverComponent): void {\n popover.open();\n }\n\n handleControlKeydown(event: KeyboardEvent, popover: PopoverComponent): void {\n if (!KeyUtil.isKeyCode(event, [ESCAPE, TAB, SPACE, ENTER])) {\n return;\n }\n\n if (KeyUtil.isKeyCode(event, [ESCAPE, TAB])) {\n popover.close();\n }\n\n if (KeyUtil.isKeyCode(event, [SPACE, ENTER])) {\n popover.open();\n }\n }\n}\n","<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","import { ChangeDetectionStrategy, Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core';\nimport { moveItemInArray } from '@angular/cdk/drag-drop';\n\nimport { MetaobjectDataModel, ReportViewBaseComponent } from 'barsa-novin-ray-core';\nimport { KanbanViewSetting } from '../Models/kanban-view-setting.interface';\nimport { DropInfo } from '../Models/drop-info';\n\n@Component({\n selector: 'bk-kanban-view',\n templateUrl: './kanban-view.component.html',\n styleUrls: ['./kanban-view.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class KanbanViewComponent extends ReportViewBaseComponent<KanbanViewSetting> implements OnInit {\n @ViewChild('inputEl', { read: ElementRef }) inputEl: ElementRef<any>;\n @Input() kanbanColumns: MetaobjectDataModel[];\n @Input() groupbyProperty = 'State';\n dropActionTodo: DropInfo;\n allAvailableAssignees: MetaobjectDataModel[];\n isNewColumnMode = false;\n newCard: any = { Id: null, $Caption: null };\n newColumn: any = { Id: null, $Caption: null };\n\n ngOnInit(): void {\n super.ngOnInit();\n\n const columnsReport = this.viewSetting.ColumnsReport.$Caption;\n this._portalService.ReportExecute(columnsReport).subscribe((report) => {\n this.kanbanColumns = report.MoDataList;\n this._changeDetect();\n });\n this.formSetting.View.ControlInfo.forEach((c) => (c.InlineEditMode = true));\n const assigneesReport = this.viewSetting.AssigneesReport.$Caption;\n this._portalService.ReportExecute(assigneesReport).subscribe((report) => {\n this.allAvailableAssignees = report.MoDataList;\n this._changeDetect();\n });\n\n this.viewSetting = {\n ...this.viewSetting,\n ...this._findColumn(this.allColumns, [\n this.viewSetting.Cover,\n this.viewSetting.State,\n this.viewSetting.Caption\n ])\n };\n }\n\n onAddNewColumn(): void {\n this.kanbanColumns.push(this.newColumn);\n this._cdr.detectChanges();\n this._resetNewColumn();\n this._scrollInputIntoView();\n }\n\n onActiveNewColumnMode(): void {\n this._changeNewColumnMode(true);\n }\n\n onCancelNewColumn(): void {\n this._changeNewColumnMode(false);\n this._resetNewColumn();\n }\n\n onInitNewCard(groupby: string): void {\n this._resetNewCard();\n this.newCard[this.groupbyProperty] = groupby;\n }\n\n onAddNewCard(e): void {\n e.stopPropagation();\n e.preventDefault();\n this._addNewCard();\n }\n\n onNewCardInputFocusout(): void {\n if (this.newCard.$Caption) {\n this._addNewCard();\n } else {\n this._cancelNewCard();\n }\n }\n\n onCancelNewCard(e: MouseEvent): void {\n e.stopPropagation();\n e.preventDefault();\n this._cancelNewCard();\n }\n\n onDrop(event, isColumn?: boolean): void {\n let previousIndex;\n let currentIndex;\n const array = event.container.data;\n\n if (isColumn) {\n previousIndex = event.previousIndex;\n currentIndex = event.currentIndex;\n } else {\n const draggedItemId = this.dropActionTodo.draggedId;\n if (!draggedItemId) {\n return;\n }\n const draggedItem = this._getMoById(draggedItemId);\n const targetState = this.dropActionTodo.targetState;\n previousIndex = array.indexOf(draggedItem);\n currentIndex = this.dropActionTodo.targetIndex;\n draggedItem.State = targetState;\n this._stopDragging();\n }\n\n moveItemInArray(array, previousIndex, currentIndex);\n }\n\n onDragMove(event, draggedMo, draggedIndex: number, targetState: MetaobjectDataModel): void {\n const elementFromPoint = document.elementFromPoint(event.pointerPosition.x, event.pointerPosition.y);\n\n if (targetState) {\n }\n if (!elementFromPoint) {\n this._stopDragging();\n return;\n }\n const targetNodeElement = elementFromPoint.closest('[state]');\n if (!targetNodeElement) {\n this._stopDragging();\n return;\n }\n this.dropActionTodo = {\n draggedId: draggedMo.Id,\n targetId: targetNodeElement.getAttribute('id'),\n targetState: null,\n targetIndex: Number(targetNodeElement.getAttribute('index'))\n };\n const targetRect = targetNodeElement.getBoundingClientRect();\n const oneThird = targetRect.height / 3;\n\n const isCardTarget = !targetNodeElement.classList.contains('column');\n\n const isBefore = event.pointerPosition.y - targetRect.top < oneThird && isCardTarget;\n\n const isAfter = event.pointerPosition.y - targetRect.top > 2 * oneThird && isCardTarget;\n\n const isInside = !isCardTarget;\n\n const targetIndex = this.dropActionTodo.targetIndex ?? -1;\n const targetMo = this.moDataList[targetIndex];\n\n if (isCardTarget) {\n this.dropActionTodo.targetState = targetMo[this.viewSetting.State];\n } else {\n this.dropActionTodo.targetState = {\n $Caption: targetNodeElement.getAttribute('state')!,\n Id: targetNodeElement.getAttribute('id')!,\n $TypeDefId: draggedMo[this.viewSetting.State]?.$TypeDefId\n };\n }\n if (isBefore) {\n this.dropActionTodo.action = 'before';\n this.dropActionTodo.targetIndex = draggedIndex > targetIndex ? targetIndex : targetIndex - 1;\n } else if (isAfter) {\n this.dropActionTodo.action = 'after';\n this.dropActionTodo.targetIndex = draggedIndex < targetIndex ? targetIndex : targetIndex + 1;\n } else if (isInside) {\n this.dropActionTodo.action = 'inside';\n this.dropActionTodo.targetIndex = 0;\n }\n console.log(this.dropActionTodo.targetState);\n this._showDragInfo();\n }\n private _changeDetect(): void {\n this._cdr.detectChanges();\n }\n\n private _stopDragging(): void {\n this._clearDragInfo();\n this._resetDropActionTodo();\n }\n\n private _changeNewColumnMode(mode: boolean): void {\n this.isNewColumnMode = mode;\n }\n\n private _resetDropActionTodo(): void {\n this.dropActionTodo = {\n targetId: null,\n draggedId: null,\n targetState: null,\n targetIndex: null,\n action: null\n };\n }\n\n private _scrollInputIntoView(): void {\n const inputEl: HTMLInputElement = this.inputEl.nativeElement;\n inputEl.focus();\n inputEl.scrollIntoView({ inline: 'end' });\n }\n\n private _resetNewColumn(): void {\n this.newColumn = { Id: '', $Caption: '' };\n }\n\n private _clearDragInfo(dropped = false): void {\n if (dropped) {\n this._resetDropActionTodo();\n }\n const elDom = this._el.nativeElement;\n elDom\n .querySelectorAll('.drop-before')\n .forEach((element) => this._renderer2.removeClass(element, 'drop-before'));\n elDom.querySelectorAll('.drop-after').forEach((element) => this._renderer2.removeClass(element, 'drop-after'));\n elDom\n .querySelectorAll('.drop-inside')\n .forEach((element) => this._renderer2.removeClass(element, 'drop-inside'));\n }\n\n private _showDragInfo(): void {\n this._clearDragInfo();\n if (this.dropActionTodo.targetId) {\n const targetNodeElement = this._el.nativeElement.querySelector('#' + this.dropActionTodo.targetId);\n if (!targetNodeElement) {\n this._resetDropActionTodo();\n return;\n }\n this._renderer2.addClass(targetNodeElement, 'drop-' + this.dropActionTodo?.action);\n }\n }\n\n private _addNewCard(): void {\n this.moDataList.push(this.newCard);\n const currentGroupby = this.newCard[this.groupbyProperty];\n this.onInitNewCard(currentGroupby);\n }\n\n private _resetNewCard(): void {\n this.newCard = { Id: null, $Caption: null };\n }\n\n private _cancelNewCard(): void {\n this._resetNewCard();\n }\n\n private _getMoById(id: string): MetaobjectDataModel {\n return this.moDataList.find((c) => c.Id === id);\n }\n\n private _findColumn(allColumns, columnsName: string[]): object {\n const columns = {};\n columnsName.forEach((name) => {\n columns[name + 'Column'] = this._findColumnByDbName.transform(this.allColumns, name);\n });\n return columns;\n }\n}\n","<fd-layout-panel>\n <fd-layout-panel-body [bleed]=\"true\">\n <table fd-table *ngIf=\"isCheckList\">\n <thead fd-table-header>\n <tr fd-table-row>\n <th fd-table-cell>\n <fd-checkbox\n name=\"allCheckbox\"\n [ngModel]=\"allChecked\"\n (ngModelChange)=\"onAllCheckbox($event)\"\n >{{ 'All' | bbbTranslate }}</fd-checkbox\n >\n </th>\n </tr>\n </thead>\n </table>\n </fd-layout-panel-body>\n</fd-layout-panel>\n\n<fd-layout-grid\n *ngIf=\"moDataList?.length; else noData\"\n class=\"columns\"\n cdkDropList\n cdkDropListOrientation=\"horizontal\"\n [cdkDropListData]=\"kanbanColumns\"\n [id]=\"'$Root'\"\n (cdkDropListDropped)=\"onDrop($event, true)\"\n>\n <div\n *ngFor=\"let column of kanbanColumns; let columnIndex = index\"\n [fdLayoutGridCol]=\"12\"\n [colMd]=\"6\"\n [colLg]=\"4\"\n [colXl]=\"3\"\n class=\"column\"\n [id]=\"column.Id\"\n [attr.state]=\"column.$Caption\"\n cdkDrag\n >\n <ng-container\n *ngTemplateOutlet=\"\n columnCard;\n context: {\n column: column,\n columnIndex: columnIndex\n }\n \"\n ></ng-container>\n </div>\n <div\n [fdLayoutGridCol]=\"12\"\n [colMd]=\"6\"\n [colLg]=\"4\"\n [colXl]=\"3\"\n class=\"newColumn\"\n (click)=\"onActiveNewColumnMode()\"\n *ngIf=\"!isNewColumnMode; else newColumnInput\"\n >\n <ng-container>\n <span>ستون جدید</span>\n </ng-container>\n </div>\n <ng-template #newColumnInput>\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"6\" [colLg]=\"4\" [colXl]=\"3\">\n <input\n #inputEl\n fd-form-control\n type=\"text\"\n autofocus\n (focusout)=\"onCancelNewColumn()\"\n [(ngModel)]=\"newColumn.$Caption\"\n (keydown.enter)=\"onAddNewColumn()\"\n id=\"new-column-name\"\n placeholder=\" نام\"\n />\n </div>\n </ng-template>\n</fd-layout-grid>\n\n<!--noData-->\n<ng-template #noData>\n <bsu-no-data></bsu-no-data>\n</ng-template>\n\n<!--column card-->\n<ng-template #columnCard let-column=\"column\" let-columnIndex=\"columnIndex\">\n <fd-card cardType=\"quickView\" class=\"docs-flex-item-margin\" ellipsify>\n <fd-card-header>\n <span fd-card-title>{{ column.$Caption }}</span>\n </fd-card-header>\n <fd-card-content\n cdkDropList\n (cdkDropListDropped)=\"onDrop($event)\"\n [cdkDropListSortingDisabled]=\"true\"\n [cdkDropListData]=\"moDataList\"\n >\n <ng-container *ngFor=\"let mo of moDataList; let index = index\">\n <bk-kanban-card\n [mo]=\"mo\"\n [viewSetting]=\"viewSetting\"\n [formSetting]=\"formSetting\"\n [allAvailableAssignees]=\"allAvailableAssignees\"\n [index]=\"index\"\n *ngIf=\"mo[viewSetting.State].$Caption === column.$Caption\"\n [attr.id]=\"mo.Id\"\n [inlineEditMode]=\"true\"\n [isChecked]=\"true\"\n [attr.state]=\"column.$Caption\"\n [attr.index]=\"index\"\n [class.selected]=\"mo.$IsChecked\"\n (cdkDragMoved)=\"onDragMove($event, mo, index, column)\"\n (click)=\"onRowCheck({mo, index})\"\n (dblclick)=\"onRowClick({mo, index})\"\n cdkDrag\n >\n </bk-kanban-card>\n </ng-container>\n </fd-card-content>\n <fd-card-footer class=\"column-footer\">\n <div class=\"new-card\" *ngIf=\"newCard[groupbyProperty] === column.$Caption; else addNewCard\">\n <fd-card>\n <div fd-form-item>\n <textarea\n fd-form-control\n [autofocus]=\"true\"\n [(ngModel)]=\"newCard.$Caption\"\n (keydown.enter)=\"onAddNewCard($event)\"\n (focusout)=\"onNewCardInputFocusout()\"\n [placeholder]=\"'Title' | bbbTranslate\"\n ></textarea>\n </div>\n </fd-card>\n <div class=\"new-card-actions\">\n <button\n fd-button\n (click)=\"onAddNewCard($event)\"\n fdType=\"emphasized\"\n class=\"add-card-btn\"\n [label]=\"'افزودن'\"\n ></button>\n <fd-icon (mousedown)=\"onCancelNewCard($event)\" glyph=\"decline\"></fd-icon>\n </div>\n </div>\n\n <ng-template #addNewCard>\n <div class=\"add-new-card\" (click)=\"onInitNewCard(column.$Caption)\">\n <span>\n <fd-icon glyph=\"add\"></fd-icon>\n کارت جدید\n </span>\n </div>\n </ng-template>\n </fd-card-footer>\n </fd-card>\n</ng-template>\n","import { ComponentFactoryResolver, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BarsaNovinRayCoreModule, BaseModule, DynamicComponentService } from 'barsa-novin-ray-core';\nimport { KanbanViewComponent } from './kanban-view/kanban-view.component';\nimport { FundamentalNgxCoreModule } from '@fundamental-ngx/core';\nimport { BarsaAvatarGroupComponent } from './avatar-group/barsa-avatar-group.component';\nimport { FundamentalNgxPlatformModule } from '@fundamental-ngx/platform';\nimport { BarsaEchartsModule } from 'barsa-echarts';\nimport { FormsModule } from '@angular/forms';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { KanbanCardComponent } from './kanban-card/kanban-card.component';\nimport { KanbanTagsComponent } from './kanban-tags/kanban-tags.component';\nimport { KanbanBaseComponent } from './kanban-base/kanban-base.component';\nimport { HttpClientModule } from '@angular/common/http';\nimport { BarsaSapUiModule } from 'barsa-sap-ui';\n\nconst components = [\n KanbanViewComponent,\n BarsaAvatarGroupComponent,\n KanbanCardComponent,\n KanbanTagsComponent,\n KanbanBaseComponent\n];\n\n@NgModule({\n declarations: [...components],\n schemas: [NO_ERRORS_SCHEMA],\n imports: [\n CommonModule,\n BarsaNovinRayCoreModule,\n FundamentalNgxCoreModule,\n FundamentalNgxPlatformModule,\n BarsaEchartsModule,\n BarsaSapUiModule,\n FormsModule,\n DragDropModule,\n HttpClientModule\n ],\n exports: [...components]\n})\nexport class BarsaKanbanModule extends BaseModule {\n protected dynamicComponents = [...components];\n\n constructor(protected dcm: DynamicComponentService, protected componentFactoryResolver: ComponentFactoryResolver) {\n super(dcm, componentFactoryResolver, 'BarsaKanbanModule');\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i3","i5","i6","i7","i4","i8","i9","i11","i12","i14.KanbanCardComponent","i1"],"mappings":"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"}
|