barsa-kanban 1.0.340 → 1.0.342

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.
@@ -152,7 +152,7 @@ export class KanbanViewComponent extends ReportViewBaseComponent {
152
152
  this.dropActionTodo.action = 'inside';
153
153
  this.dropActionTodo.targetIndex = 0;
154
154
  }
155
- console.log(this.dropActionTodo.targetState);
155
+ // console.log(this.dropActionTodo.targetState);
156
156
  this._showDragInfo();
157
157
  }
158
158
  _changeDetect() {
@@ -241,4 +241,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
241
241
  }], groupbyProperty: [{
242
242
  type: Input
243
243
  }] } });
244
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2FuYmFuLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Eta2FuYmFuL3NyYy9saWIva2FuYmFuLXZpZXcva2FuYmFuLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Eta2FuYmFuL3NyYy9saWIva2FuYmFuLXZpZXcva2FuYmFuLXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFekQsT0FBTyxFQUF1Qix1QkFBdUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FBVXBGLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSx1QkFBMEM7SUFObkY7O1FBU2Esb0JBQWUsR0FBRyxPQUFPLENBQUM7UUFHbkMsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFDeEIsWUFBTyxHQUFRLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDNUMsY0FBUyxHQUFRLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7S0F3T2pEO0lBdE9HLFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFakIsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDO1FBQzlELElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ2xFLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFB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TyxHQUFHLEVBQUUsQ0FBQztRQUNuQixXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDekIsT0FBTyxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDekYsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDOztnSEEvT1EsbUJBQW1CO29HQUFuQixtQkFBbUIscU5BQ0UsVUFBVSxvRENkNUMsdytMQTJKQTsyRkQ5SWEsbUJBQW1CO2tCQU4vQixTQUFTOytCQUNJLGdCQUFnQixtQkFHVCx1QkFBdUIsQ0FBQyxNQUFNOzhCQUdILE9BQU87c0JBQWxELFNBQVM7dUJBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFDakMsYUFBYTtzQkFBckIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IG1vdmVJdGVtSW5BcnJheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xyXG5cclxuaW1wb3J0IHsgTWV0YW9iamVjdERhdGFNb2RlbCwgUmVwb3J0Vmlld0Jhc2VDb21wb25lbnQgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcbmltcG9ydCB7IEthbmJhblZpZXdTZXR0aW5nIH0gZnJvbSAnLi4vTW9kZWxzL2thbmJhbi12aWV3LXNldHRpbmcuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgRHJvcEluZm8gfSBmcm9tICcuLi9Nb2RlbHMvZHJvcC1pbmZvJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdiay1rYW5iYW4tdmlldycsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4va2FuYmFuLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4va2FuYmFuLXZpZXcuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBLYW5iYW5WaWV3Q29tcG9uZW50IGV4dGVuZHMgUmVwb3J0Vmlld0Jhc2VDb21wb25lbnQ8S2FuYmFuVmlld1NldHRpbmc+IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIEBWaWV3Q2hpbGQoJ2lucHV0RWwnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgaW5wdXRFbDogRWxlbWVudFJlZjxhbnk+O1xyXG4gICAgQElucHV0KCkga2FuYmFuQ29sdW1uczogTWV0YW9iamVjdERhdGFNb2RlbFtdO1xyXG4gICAgQElucHV0KCkgZ3JvdXBieVByb3BlcnR5ID0gJ1N0YXRlJztcclxuICAgIGRyb3BBY3Rpb25Ub2RvOiBEcm9wSW5mbztcclxuICAgIGFsbEF2YWlsYWJsZUFzc2lnbmVlczogTWV0YW9iamVjdERhdGFNb2RlbFtdO1xyXG4gICAgaXNOZXdDb2x1bW5Nb2RlID0gZmFsc2U7XHJcbiAgICBuZXdDYXJkOiBhbnkgPSB7IElkOiBudWxsLCAkQ2FwdGlvbjogbnVsbCB9O1xyXG4gICAgbmV3Q29sdW1uOiBhbnkgPSB7IElkOiBudWxsLCAkQ2FwdGlvbjogbnVsbCB9O1xyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcblxyXG4gICAgICAgIGNvbnN0IGNvbHVtbnNSZXBvcnQgPSB0aGlzLnZpZXdTZXR0aW5nLkNvbHVtbnNSZXBvcnQuJENhcHRpb247XHJcbiAgICAgICAgdGhpcy5fcG9ydGFsU2VydmljZS5SZXBvcnRFeGVjdXRlKGNvbHVtbnNSZXBvcnQpLnN1YnNjcmliZSgocmVwb3J0KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMua2FuYmFuQ29sdW1ucyA9IHJlcG9ydC5Nb0RhdGFMaXN0O1xyXG4gICAgICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3QoKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmZvcm1TZXR0aW5nLlZpZXcuQ29udHJvbEluZm8uZm9yRWFjaCgoYykgPT4gKGMuSW5saW5lRWRpdE1vZGUgPSB0cnVlKSk7XHJcbiAgICAgICAgY29uc3QgYXNzaWduZWVzUmVwb3J0ID0gdGhpcy52aWV3U2V0dGluZy5Bc3NpZ25lZXNSZXBvcnQuJENhcHRpb247XHJcbiAgICAgICAgdGhpcy5fcG9ydGFsU2VydmljZS5SZXBvcnRFeGVjdXRlKGFzc2lnbmVlc1JlcG9ydCkuc3Vic2NyaWJlKChyZXBvcnQpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5hbGxBdmFpbGFibGVBc3NpZ25lZXMgPSByZXBvcnQuTW9EYXRhTGlzdDtcclxuICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0KCk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMudmlld1NldHRpbmcgPSB7XHJcbiAgICAgICAgICAgIC4uLnRoaXMudmlld1NldHRpbmcsXHJcbiAgICAgICAgICAgIC4uLnRoaXMuX2ZpbmRDb2x1bW4odGhpcy5hbGxDb2x1bW5zLCBbXHJcbiAgICAgICAgICAgICAgICB0aGlzLnZpZXdTZXR0aW5nLkNvdmVyLFxyXG4gICAgICAgICAgICAgICAgdGhpcy52aWV3U2V0dGluZy5TdGF0ZSxcclxuICAgICAgICAgICAgICAgIHRoaXMudmlld1NldHRpbmcuQ2FwdGlvblxyXG4gICAgICAgICAgICBdKVxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgb25BZGROZXdDb2x1bW4oKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5rYW5iYW5Db2x1bW5zLnB1c2godGhpcy5uZXdDb2x1bW4pO1xyXG4gICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgdGhpcy5fcmVzZXROZXdDb2x1bW4oKTtcclxuICAgICAgICB0aGlzLl9zY3JvbGxJbnB1dEludG9WaWV3KCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25BY3RpdmVOZXdDb2x1bW5Nb2RlKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2NoYW5nZU5ld0NvbHVtbk1vZGUodHJ1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgb25DYW5jZWxOZXdDb2x1bW4oKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fY2hhbmdlTmV3Q29sdW1uTW9kZShmYWxzZSk7XHJcbiAgICAgICAgdGhpcy5fcmVzZXROZXdDb2x1bW4oKTtcclxuICAgIH1cclxuXHJcbiAgICBvbkluaXROZXdDYXJkKGdyb3VwYnk6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3Jlc2V0TmV3Q2FyZCgpO1xyXG4gICAgICAgIHRoaXMubmV3Q2FyZFt0aGlzLmdyb3VwYnlQcm9wZXJ0eV0gPSBncm91cGJ5O1xyXG4gICAgfVxyXG5cclxuICAgIG9uQWRkTmV3Q2FyZChlKTogdm9pZCB7XHJcbiAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgdGhpcy5fYWRkTmV3Q2FyZCgpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uTmV3Q2FyZElucHV0Rm9jdXNvdXQoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMubmV3Q2FyZC4kQ2FwdGlvbikge1xyXG4gICAgICAgICAgICB0aGlzLl9hZGROZXdDYXJkKCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5fY2FuY2VsTmV3Q2FyZCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBvbkNhbmNlbE5ld0NhcmQoZTogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIHRoaXMuX2NhbmNlbE5ld0NhcmQoKTtcclxuICAgIH1cclxuXHJcbiAgICBvbkRyb3AoZXZlbnQsIGlzQ29sdW1uPzogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgICAgIGxldCBwcmV2aW91c0luZGV4O1xyXG4gICAgICAgIGxldCBjdXJyZW50SW5kZXg7XHJcbiAgICAgICAgY29uc3QgYXJyYXkgPSBldmVudC5jb250YWluZXIuZGF0YTtcclxuXHJcbiAgICAgICAgaWYgKGlzQ29sdW1uKSB7XHJcbiAgICAgICAgICAgIHByZXZpb3VzSW5kZXggPSBldmVudC5wcmV2aW91c0luZGV4O1xyXG4gICAgICAgICAgICBjdXJyZW50SW5kZXggPSBldmVudC5jdXJyZW50SW5kZXg7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgY29uc3QgZHJhZ2dlZEl0ZW1JZCA9IHRoaXMuZHJvcEFjdGlvblRvZG8uZHJhZ2dlZElkO1xyXG4gICAgICAgICAgICBpZiAoIWRyYWdnZWRJdGVtSWQpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjb25zdCBkcmFnZ2VkSXRlbSA9IHRoaXMuX2dldE1vQnlJZChkcmFnZ2VkSXRlbUlkKTtcclxuICAgICAgICAgICAgY29uc3QgdGFyZ2V0U3RhdGUgPSB0aGlzLmRyb3BBY3Rpb25Ub2RvLnRhcmdldFN0YXRlO1xyXG4gICAgICAgICAgICBwcmV2aW91c0luZGV4ID0gYXJyYXkuaW5kZXhPZihkcmFnZ2VkSXRlbSk7XHJcbiAgICAgICAgICAgIGN1cnJlbnRJbmRleCA9IHRoaXMuZHJvcEFjdGlvblRvZG8udGFyZ2V0SW5kZXg7XHJcbiAgICAgICAgICAgIGRyYWdnZWRJdGVtLlN0YXRlID0gdGFyZ2V0U3RhdGU7XHJcbiAgICAgICAgICAgIHRoaXMuX3N0b3BEcmFnZ2luZygpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbW92ZUl0ZW1JbkFycmF5KGFycmF5LCBwcmV2aW91c0luZGV4LCBjdXJyZW50SW5kZXgpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uRHJhZ01vdmUoZXZlbnQsIGRyYWdnZWRNbywgZHJhZ2dlZEluZGV4OiBudW1iZXIsIHRhcmdldFN0YXRlOiBNZXRhb2JqZWN0RGF0YU1vZGVsKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZWxlbWVudEZyb21Qb2ludCA9IGRvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQoZXZlbnQucG9pbnRlclBvc2l0aW9uLngsIGV2ZW50LnBvaW50ZXJQb3NpdGlvbi55KTtcclxuXHJcbiAgICAgICAgaWYgKHRhcmdldFN0YXRlKSB7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICghZWxlbWVudEZyb21Qb2ludCkge1xyXG4gICAgICAgICAgICB0aGlzLl9zdG9wRHJhZ2dpbmcoKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCB0YXJnZXROb2RlRWxlbWVudCA9IGVsZW1lbnRGcm9tUG9pbnQuY2xvc2VzdCgnW3N0YXRlXScpO1xyXG4gICAgICAgIGlmICghdGFyZ2V0Tm9kZUVsZW1lbnQpIHtcclxuICAgICAgICAgICAgdGhpcy5fc3RvcERyYWdnaW5nKCk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5kcm9wQWN0aW9uVG9kbyA9IHtcclxuICAgICAgICAgICAgZHJhZ2dlZElkOiBkcmFnZ2VkTW8uSWQsXHJcbiAgICAgICAgICAgIHRhcmdldElkOiB0YXJnZXROb2RlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2lkJyksXHJcbiAgICAgICAgICAgIHRhcmdldFN0YXRlOiBudWxsLFxyXG4gICAgICAgICAgICB0YXJnZXRJbmRleDogTnVtYmVyKHRhcmdldE5vZGVFbGVtZW50LmdldEF0dHJpYnV0ZSgnaW5kZXgnKSlcclxuICAgICAgICB9O1xyXG4gICAgICAgIGNvbnN0IHRhcmdldFJlY3QgPSB0YXJnZXROb2RlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgICAgICBjb25zdCBvbmVUaGlyZCA9IHRhcmdldFJlY3QuaGVpZ2h0IC8gMztcclxuXHJcbiAgICAgICAgY29uc3QgaXNDYXJkVGFyZ2V0ID0gIXRhcmdldE5vZGVFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnY29sdW1uJyk7XHJcblxyXG4gICAgICAgIGNvbnN0IGlzQmVmb3JlID0gZXZlbnQucG9pbnRlclBvc2l0aW9uLnkgLSB0YXJnZXRSZWN0LnRvcCA8IG9uZVRoaXJkICYmIGlzQ2FyZFRhcmdldDtcclxuXHJcbiAgICAgICAgY29uc3QgaXNBZnRlciA9IGV2ZW50LnBvaW50ZXJQb3NpdGlvbi55IC0gdGFyZ2V0UmVjdC50b3AgPiAyICogb25lVGhpcmQgJiYgaXNDYXJkVGFyZ2V0O1xyXG5cclxuICAgICAgICBjb25zdCBpc0luc2lkZSA9ICFpc0NhcmRUYXJnZXQ7XHJcblxyXG4gICAgICAgIGNvbnN0IHRhcmdldEluZGV4ID0gdGhpcy5kcm9wQWN0aW9uVG9kby50YXJnZXRJbmRleCA/PyAtMTtcclxuICAgICAgICBjb25zdCB0YXJnZXRNbyA9IHRoaXMubW9EYXRhTGlzdFt0YXJnZXRJbmRleF07XHJcblxyXG4gICAgICAgIGlmIChpc0NhcmRUYXJnZXQpIHtcclxuICAgICAgICAgICAgdGhpcy5kcm9wQWN0aW9uVG9kby50YXJnZXRTdGF0ZSA9IHRhcmdldE1vW3RoaXMudmlld1NldHRpbmcuU3RhdGVdO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuZHJvcEFjdGlvblRvZG8udGFyZ2V0U3RhdGUgPSB7XHJcbiAgICAgICAgICAgICAgICAkQ2FwdGlvbjogdGFyZ2V0Tm9kZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCdzdGF0ZScpISxcclxuICAgICAgICAgICAgICAgIElkOiB0YXJnZXROb2RlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2lkJykhLFxyXG4gICAgICAgICAgICAgICAgJFR5cGVEZWZJZDogZHJhZ2dlZE1vW3RoaXMudmlld1NldHRpbmcuU3RhdGVdPy4kVHlwZURlZklkXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChpc0JlZm9yZSkge1xyXG4gICAgICAgICAgICB0aGlzLmRyb3BBY3Rpb25Ub2RvLmFjdGlvbiA9ICdiZWZvcmUnO1xyXG4gICAgICAgICAgICB0aGlzLmRyb3BBY3Rpb25Ub2RvLnRhcmdldEluZGV4ID0gZHJhZ2dlZEluZGV4ID4gdGFyZ2V0SW5kZXggPyB0YXJnZXRJbmRleCA6IHRhcmdldEluZGV4IC0gMTtcclxuICAgICAgICB9IGVsc2UgaWYgKGlzQWZ0ZXIpIHtcclxuICAgICAgICAgICAgdGhpcy5kcm9wQWN0aW9uVG9kby5hY3Rpb24gPSAnYWZ0ZXInO1xyXG4gICAgICAgICAgICB0aGlzLmRyb3BBY3Rpb25Ub2RvLnRhcmdldEluZGV4ID0gZHJhZ2dlZEluZGV4IDwgdGFyZ2V0SW5kZXggPyB0YXJnZXRJbmRleCA6IHRhcmdldEluZGV4ICsgMTtcclxuICAgICAgICB9IGVsc2UgaWYgKGlzSW5zaWRlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZHJvcEFjdGlvblRvZG8uYWN0aW9uID0gJ2luc2lkZSc7XHJcbiAgICAgICAgICAgIHRoaXMuZHJvcEFjdGlvblRvZG8udGFyZ2V0SW5kZXggPSAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zb2xlLmxvZyh0aGlzLmRyb3BBY3Rpb25Ub2RvLnRhcmdldFN0YXRlKTtcclxuICAgICAgICB0aGlzLl9zaG93RHJhZ0luZm8oKTtcclxuICAgIH1cclxuICAgIHByaXZhdGUgX2NoYW5nZURldGVjdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3N0b3BEcmFnZ2luZygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9jbGVhckRyYWdJbmZvKCk7XHJcbiAgICAgICAgdGhpcy5fcmVzZXREcm9wQWN0aW9uVG9kbygpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2NoYW5nZU5ld0NvbHVtbk1vZGUobW9kZTogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaXNOZXdDb2x1bW5Nb2RlID0gbW9kZTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9yZXNldERyb3BBY3Rpb25Ub2RvKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZHJvcEFjdGlvblRvZG8gPSB7XHJcbiAgICAgICAgICAgIHRhcmdldElkOiBudWxsLFxyXG4gICAgICAgICAgICBkcmFnZ2VkSWQ6IG51bGwsXHJcbiAgICAgICAgICAgIHRhcmdldFN0YXRlOiBudWxsLFxyXG4gICAgICAgICAgICB0YXJnZXRJbmRleDogbnVsbCxcclxuICAgICAgICAgICAgYWN0aW9uOiBudWxsXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9zY3JvbGxJbnB1dEludG9WaWV3KCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGlucHV0RWw6IEhUTUxJbnB1dEVsZW1lbnQgPSB0aGlzLmlucHV0RWwubmF0aXZlRWxlbWVudDtcclxuICAgICAgICBpbnB1dEVsLmZvY3VzKCk7XHJcbiAgICAgICAgaW5wdXRFbC5zY3JvbGxJbnRvVmlldyh7IGlubGluZTogJ2VuZCcgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfcmVzZXROZXdDb2x1bW4oKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5uZXdDb2x1bW4gPSB7IElkOiAnJywgJENhcHRpb246ICcnIH07XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfY2xlYXJEcmFnSW5mbyhkcm9wcGVkID0gZmFsc2UpOiB2b2lkIHtcclxuICAgICAgICBpZiAoZHJvcHBlZCkge1xyXG4gICAgICAgICAgICB0aGlzLl9yZXNldERyb3BBY3Rpb25Ub2RvKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGVsRG9tID0gdGhpcy5fZWwubmF0aXZlRWxlbWVudDtcclxuICAgICAgICBlbERvbVxyXG4gICAgICAgICAgICAucXVlcnlTZWxlY3RvckFsbCgnLmRyb3AtYmVmb3JlJylcclxuICAgICAgICAgICAgLmZvckVhY2goKGVsZW1lbnQpID0+IHRoaXMuX3JlbmRlcmVyMi5yZW1vdmVDbGFzcyhlbGVtZW50LCAnZHJvcC1iZWZvcmUnKSk7XHJcbiAgICAgICAgZWxEb20ucXVlcnlTZWxlY3RvckFsbCgnLmRyb3AtYWZ0ZXInKS5mb3JFYWNoKChlbGVtZW50KSA9PiB0aGlzLl9yZW5kZXJlcjIucmVtb3ZlQ2xhc3MoZWxlbWVudCwgJ2Ryb3AtYWZ0ZXInKSk7XHJcbiAgICAgICAgZWxEb21cclxuICAgICAgICAgICAgLnF1ZXJ5U2VsZWN0b3JBbGwoJy5kcm9wLWluc2lkZScpXHJcbiAgICAgICAgICAgIC5mb3JFYWNoKChlbGVtZW50KSA9PiB0aGlzLl9yZW5kZXJlcjIucmVtb3ZlQ2xhc3MoZWxlbWVudCwgJ2Ryb3AtaW5zaWRlJykpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3Nob3dEcmFnSW5mbygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9jbGVhckRyYWdJbmZvKCk7XHJcbiAgICAgICAgaWYgKHRoaXMuZHJvcEFjdGlvblRvZG8udGFyZ2V0SWQpIHtcclxuICAgICAgICAgICAgY29uc3QgdGFyZ2V0Tm9kZUVsZW1lbnQgPSB0aGlzLl9lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJyMnICsgdGhpcy5kcm9wQWN0aW9uVG9kby50YXJnZXRJZCk7XHJcbiAgICAgICAgICAgIGlmICghdGFyZ2V0Tm9kZUVsZW1lbnQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Jlc2V0RHJvcEFjdGlvblRvZG8oKTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLl9yZW5kZXJlcjIuYWRkQ2xhc3ModGFyZ2V0Tm9kZUVsZW1lbnQsICdkcm9wLScgKyB0aGlzLmRyb3BBY3Rpb25Ub2RvPy5hY3Rpb24pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9hZGROZXdDYXJkKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMubW9EYXRhTGlzdC5wdXNoKHRoaXMubmV3Q2FyZCk7XHJcbiAgICAgICAgY29uc3QgY3VycmVudEdyb3VwYnkgPSB0aGlzLm5ld0NhcmRbdGhpcy5ncm91cGJ5UHJvcGVydHldO1xyXG4gICAgICAgIHRoaXMub25Jbml0TmV3Q2FyZChjdXJyZW50R3JvdXBieSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfcmVzZXROZXdDYXJkKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMubmV3Q2FyZCA9IHsgSWQ6IG51bGwsICRDYXB0aW9uOiBudWxsIH07XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfY2FuY2VsTmV3Q2FyZCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9yZXNldE5ld0NhcmQoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9nZXRNb0J5SWQoaWQ6IHN0cmluZyk6IE1ldGFvYmplY3REYXRhTW9kZWwge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm1vRGF0YUxpc3QuZmluZCgoYykgPT4gYy5JZCA9PT0gaWQpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2ZpbmRDb2x1bW4oYWxsQ29sdW1ucywgY29sdW1uc05hbWU6IHN0cmluZ1tdKTogb2JqZWN0IHtcclxuICAgICAgICBjb25zdCBjb2x1bW5zID0ge307XHJcbiAgICAgICAgY29sdW1uc05hbWUuZm9yRWFjaCgobmFtZSkgPT4ge1xyXG4gICAgICAgICAgICBjb2x1bW5zW25hbWUgKyAnQ29sdW1uJ10gPSB0aGlzLl9maW5kQ29sdW1uQnlEYk5hbWUudHJhbnNmb3JtKHRoaXMuYWxsQ29sdW1ucywgbmFtZSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIGNvbHVtbnM7XHJcbiAgICB9XHJcbn1cclxuIiwiPGZkLWxheW91dC1wYW5lbD5cclxuICAgIDxmZC1sYXlvdXQtcGFuZWwtYm9keSBbYmxlZWRdPVwidHJ1ZVwiPlxyXG4gICAgICAgIDx0YWJsZSBmZC10YWJsZSAqbmdJZj1cImlzQ2hlY2tMaXN0XCI+XHJcbiAgICAgICAgICAgIDx0aGVhZCBmZC10YWJsZS1oZWFkZXI+XHJcbiAgICAgICAgICAgICAgICA8dHIgZmQtdGFibGUtcm93PlxyXG4gICAgICAgICAgICAgICAgICAgIDx0aCBmZC10YWJsZS1jZWxsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmQtY2hlY2tib3hcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9XCJhbGxDaGVja2JveFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJhbGxDaGVja2VkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uQWxsQ2hlY2tib3goJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+e3sgJ0FsbCcgfCBiYmJUcmFuc2xhdGUgfX08L2ZkLWNoZWNrYm94XHJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgPC90aGVhZD5cclxuICAgICAgICA8L3RhYmxlPlxyXG4gICAgPC9mZC1sYXlvdXQtcGFuZWwtYm9keT5cclxuPC9mZC1sYXlvdXQtcGFuZWw+XHJcblxyXG48ZmQtbGF5b3V0LWdyaWRcclxuICAgICpuZ0lmPVwibW9EYXRhTGlzdD8ubGVuZ3RoOyBlbHNlIG5vRGF0YVwiXHJcbiAgICBjbGFzcz1cImNvbHVtbnNcIlxyXG4gICAgY2RrRHJvcExpc3RcclxuICAgIGNka0Ryb3BMaXN0T3JpZW50YXRpb249XCJob3Jpem9udGFsXCJcclxuICAgIFtjZGtEcm9wTGlzdERhdGFdPVwia2FuYmFuQ29sdW1uc1wiXHJcbiAgICBbaWRdPVwiJyRSb290J1wiXHJcbiAgICAoY2RrRHJvcExpc3REcm9wcGVkKT1cIm9uRHJvcCgkZXZlbnQsIHRydWUpXCJcclxuPlxyXG4gICAgPGRpdlxyXG4gICAgICAgICpuZ0Zvcj1cImxldCBjb2x1bW4gb2Yga2FuYmFuQ29sdW1uczsgbGV0IGNvbHVtbkluZGV4ID0gaW5kZXhcIlxyXG4gICAgICAgIFtmZExheW91dEdyaWRDb2xdPVwiMTJcIlxyXG4gICAgICAgIFtjb2xNZF09XCI2XCJcclxuICAgICAgICBbY29sTGddPVwiNFwiXHJcbiAgICAgICAgW2NvbFhsXT1cIjNcIlxyXG4gICAgICAgIGNsYXNzPVwiY29sdW1uXCJcclxuICAgICAgICBbaWRdPVwiY29sdW1uLklkXCJcclxuICAgICAgICBbYXR0ci5zdGF0ZV09XCJjb2x1bW4uJENhcHRpb25cIlxyXG4gICAgICAgIGNka0RyYWdcclxuICAgID5cclxuICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXHJcbiAgICAgICAgICAgICAgICBjb2x1bW5DYXJkO1xyXG4gICAgICAgICAgICAgICAgY29udGV4dDoge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbHVtbjogY29sdW1uLFxyXG4gICAgICAgICAgICAgICAgICAgIGNvbHVtbkluZGV4OiBjb2x1bW5JbmRleFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcIlxyXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdlxyXG4gICAgICAgIFtmZExheW91dEdyaWRDb2xdPVwiMTJcIlxyXG4gICAgICAgIFtjb2xNZF09XCI2XCJcclxuICAgICAgICBbY29sTGddPVwiNFwiXHJcbiAgICAgICAgW2NvbFhsXT1cIjNcIlxyXG4gICAgICAgIGNsYXNzPVwibmV3Q29sdW1uXCJcclxuICAgICAgICAoY2xpY2spPVwib25BY3RpdmVOZXdDb2x1bW5Nb2RlKClcIlxyXG4gICAgICAgICpuZ0lmPVwiIWlzTmV3Q29sdW1uTW9kZTsgZWxzZSBuZXdDb2x1bW5JbnB1dFwiXHJcbiAgICA+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPHNwYW4+2LPYqtmI2YYg2KzYr9uM2K88L3NwYW4+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxuZy10ZW1wbGF0ZSAjbmV3Q29sdW1uSW5wdXQ+XHJcbiAgICAgICAgPGRpdiBbZmRMYXlvdXRHcmlkQ29sXT1cIjEyXCIgW2NvbE1kXT1cIjZcIiBbY29sTGddPVwiNFwiIFtjb2xYbF09XCIzXCI+XHJcbiAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgI2lucHV0RWxcclxuICAgICAgICAgICAgICAgIGZkLWZvcm0tY29udHJvbFxyXG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgYXV0b2ZvY3VzXHJcbiAgICAgICAgICAgICAgICAoZm9jdXNvdXQpPVwib25DYW5jZWxOZXdDb2x1bW4oKVwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cIm5ld0NvbHVtbi4kQ2FwdGlvblwiXHJcbiAgICAgICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJvbkFkZE5ld0NvbHVtbigpXCJcclxuICAgICAgICAgICAgICAgIGlkPVwibmV3LWNvbHVtbi1uYW1lXCJcclxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiINmG2KfZhVwiXHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG48L2ZkLWxheW91dC1ncmlkPlxyXG5cclxuPCEtLW5vRGF0YS0tPlxyXG48bmctdGVtcGxhdGUgI25vRGF0YT5cclxuICAgIDxic3Utbm8tZGF0YT48L2JzdS1uby1kYXRhPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPCEtLWNvbHVtbiBjYXJkLS0+XHJcbjxuZy10ZW1wbGF0ZSAjY29sdW1uQ2FyZCBsZXQtY29sdW1uPVwiY29sdW1uXCIgbGV0LWNvbHVtbkluZGV4PVwiY29sdW1uSW5kZXhcIj5cclxuICAgIDxmZC1jYXJkIGNhcmRUeXBlPVwicXVpY2tWaWV3XCIgY2xhc3M9XCJkb2NzLWZsZXgtaXRlbS1tYXJnaW5cIiBlbGxpcHNpZnk+XHJcbiAgICAgICAgPGZkLWNhcmQtaGVhZGVyPlxyXG4gICAgICAgICAgICA8c3BhbiBmZC1jYXJkLXRpdGxlPnt7IGNvbHVtbi4kQ2FwdGlvbiB9fTwvc3Bhbj5cclxuICAgICAgICA8L2ZkLWNhcmQtaGVhZGVyPlxyXG4gICAgICAgIDxmZC1jYXJkLWNvbnRlbnRcclxuICAgICAgICAgICAgY2RrRHJvcExpc3RcclxuICAgICAgICAgICAgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJvbkRyb3AoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIFtjZGtEcm9wTGlzdFNvcnRpbmdEaXNhYmxlZF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgW2Nka0Ryb3BMaXN0RGF0YV09XCJtb0RhdGFMaXN0XCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG1vIG9mIG1vRGF0YUxpc3Q7IGxldCBpbmRleCA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICA8Ymsta2FuYmFuLWNhcmRcclxuICAgICAgICAgICAgICAgICAgICBbbW9dPVwibW9cIlxyXG4gICAgICAgICAgICAgICAgICAgIFt2aWV3U2V0dGluZ109XCJ2aWV3U2V0dGluZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgW2Zvcm1TZXR0aW5nXT1cImZvcm1TZXR0aW5nXCJcclxuICAgICAgICAgICAgICAgICAgICBbYWxsQXZhaWxhYmxlQXNzaWduZWVzXT1cImFsbEF2YWlsYWJsZUFzc2lnbmVlc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgW2luZGV4XT1cImluZGV4XCJcclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIm1vW3ZpZXdTZXR0aW5nLlN0YXRlXS4kQ2FwdGlvbiA9PT0gY29sdW1uLiRDYXB0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5pZF09XCJtby5JZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2lubGluZUVkaXRNb2RlXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtpc0NoZWNrZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3RhdGVdPVwiY29sdW1uLiRDYXB0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5pbmRleF09XCJpbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cIm1vLiRJc0NoZWNrZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjZGtEcmFnTW92ZWQpPVwib25EcmFnTW92ZSgkZXZlbnQsIG1vLCBpbmRleCwgY29sdW1uKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uUm93Q2hlY2soe21vLCBpbmRleH0pXCJcclxuICAgICAgICAgICAgICAgICAgICAoZGJsY2xpY2spPVwib25Sb3dDbGljayh7bW8sIGluZGV4fSlcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNka0RyYWdcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDwvYmsta2FuYmFuLWNhcmQ+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZmQtY2FyZC1jb250ZW50PlxyXG4gICAgICAgIDxmZC1jYXJkLWZvb3RlciBjbGFzcz1cImNvbHVtbi1mb290ZXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5ldy1jYXJkXCIgKm5nSWY9XCJuZXdDYXJkW2dyb3VwYnlQcm9wZXJ0eV0gPT09IGNvbHVtbi4kQ2FwdGlvbjsgZWxzZSBhZGROZXdDYXJkXCI+XHJcbiAgICAgICAgICAgICAgICA8ZmQtY2FyZD5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGZkLWZvcm0taXRlbT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRleHRhcmVhXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZC1mb3JtLWNvbnRyb2xcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdXRvZm9jdXNdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cIm5ld0NhcmQuJENhcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwib25BZGROZXdDYXJkKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZvY3Vzb3V0KT1cIm9uTmV3Q2FyZElucHV0Rm9jdXNvdXQoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1RpdGxlJyB8IGJiYlRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L3RleHRhcmVhPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9mZC1jYXJkPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5ldy1jYXJkLWFjdGlvbnNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25BZGROZXdDYXJkKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmZFR5cGU9XCJlbXBoYXNpemVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZGQtY2FyZC1idG5cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ9in2YHYstmI2K/ZhidcIlxyXG4gICAgICAgICAgICAgICAgICAgID48L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8ZmQtaWNvbiAobW91c2Vkb3duKT1cIm9uQ2FuY2VsTmV3Q2FyZCgkZXZlbnQpXCIgZ2x5cGg9XCJkZWNsaW5lXCI+PC9mZC1pY29uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNhZGROZXdDYXJkPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZC1uZXctY2FyZFwiIChjbGljayk9XCJvbkluaXROZXdDYXJkKGNvbHVtbi4kQ2FwdGlvbilcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZkLWljb24gZ2x5cGg9XCJhZGRcIj48L2ZkLWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgINqp2KfYsdiqINis2K/bjNivXHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9mZC1jYXJkLWZvb3Rlcj5cclxuICAgIDwvZmQtY2FyZD5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
244
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2FuYmFuLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Eta2FuYmFuL3NyYy9saWIva2FuYmFuLXZpZXcva2FuYmFuLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Eta2FuYmFuL3NyYy9saWIva2FuYmFuLXZpZXcva2FuYmFuLXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFekQsT0FBTyxFQUF1Qix1QkFBdUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FBVXBGLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSx1QkFBMEM7SUFObkY7O1FBU2Esb0JBQWUsR0FBRyxPQUFPLENBQUM7UUFHbkMsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFDeEIsWUFBTyxHQUFRLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDNUMsY0FBUyxHQUFRLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7S0F3T2pEO0lBdE9HLFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFakIsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDO1FBQzlELElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ2xFLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFB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SUFBSSxFQUFFLEVBQUU7WUFDekIsT0FBTyxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDekYsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDOztnSEEvT1EsbUJBQW1CO29HQUFuQixtQkFBbUIscU5BQ0UsVUFBVSxvRENkNUMsdytMQTJKQTsyRkQ5SWEsbUJBQW1CO2tCQU4vQixTQUFTOytCQUNJLGdCQUFnQixtQkFHVCx1QkFBdUIsQ0FBQyxNQUFNOzhCQUdILE9BQU87c0JBQWxELFNBQVM7dUJBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFDakMsYUFBYTtzQkFBckIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBtb3ZlSXRlbUluQXJyYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcblxuaW1wb3J0IHsgTWV0YW9iamVjdERhdGFNb2RlbCwgUmVwb3J0Vmlld0Jhc2VDb21wb25lbnQgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XG5pbXBvcnQgeyBLYW5iYW5WaWV3U2V0dGluZyB9IGZyb20gJy4uL01vZGVscy9rYW5iYW4tdmlldy1zZXR0aW5nLmludGVyZmFjZSc7XG5pbXBvcnQgeyBEcm9wSW5mbyB9IGZyb20gJy4uL01vZGVscy9kcm9wLWluZm8nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JrLWthbmJhbi12aWV3JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4va2FuYmFuLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2thbmJhbi12aWV3LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgS2FuYmFuVmlld0NvbXBvbmVudCBleHRlbmRzIFJlcG9ydFZpZXdCYXNlQ29tcG9uZW50PEthbmJhblZpZXdTZXR0aW5nPiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQFZpZXdDaGlsZCgnaW5wdXRFbCcsIHsgcmVhZDogRWxlbWVudFJlZiB9KSBpbnB1dEVsOiBFbGVtZW50UmVmPGFueT47XG4gICAgQElucHV0KCkga2FuYmFuQ29sdW1uczogTWV0YW9iamVjdERhdGFNb2RlbFtdO1xuICAgIEBJbnB1dCgpIGdyb3VwYnlQcm9wZXJ0eSA9ICdTdGF0ZSc7XG4gICAgZHJvcEFjdGlvblRvZG86IERyb3BJbmZvO1xuICAgIGFsbEF2YWlsYWJsZUFzc2lnbmVlczogTWV0YW9iamVjdERhdGFNb2RlbFtdO1xuICAgIGlzTmV3Q29sdW1uTW9kZSA9IGZhbHNlO1xuICAgIG5ld0NhcmQ6IGFueSA9IHsgSWQ6IG51bGwsICRDYXB0aW9uOiBudWxsIH07XG4gICAgbmV3Q29sdW1uOiBhbnkgPSB7IElkOiBudWxsLCAkQ2FwdGlvbjogbnVsbCB9O1xuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG5cbiAgICAgICAgY29uc3QgY29sdW1uc1JlcG9ydCA9IHRoaXMudmlld1NldHRpbmcuQ29sdW1uc1JlcG9ydC4kQ2FwdGlvbjtcbiAgICAgICAgdGhpcy5fcG9ydGFsU2VydmljZS5SZXBvcnRFeGVjdXRlKGNvbHVtbnNSZXBvcnQpLnN1YnNjcmliZSgocmVwb3J0KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmthbmJhbkNvbHVtbnMgPSByZXBvcnQuTW9EYXRhTGlzdDtcbiAgICAgICAgICAgIHRoaXMuX2NoYW5nZURldGVjdCgpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5mb3JtU2V0dGluZy5WaWV3LkNvbnRyb2xJbmZvLmZvckVhY2goKGMpID0+IChjLklubGluZUVkaXRNb2RlID0gdHJ1ZSkpO1xuICAgICAgICBjb25zdCBhc3NpZ25lZXNSZXBvcnQgPSB0aGlzLnZpZXdTZXR0aW5nLkFzc2lnbmVlc1JlcG9ydC4kQ2FwdGlvbjtcbiAgICAgICAgdGhpcy5fcG9ydGFsU2VydmljZS5SZXBvcnRFeGVjdXRlKGFzc2lnbmVlc1JlcG9ydCkuc3Vic2NyaWJlKChyZXBvcnQpID0+IHtcbiAgICAgICAgICAgIHRoaXMuYWxsQXZhaWxhYmxlQXNzaWduZWVzID0gcmVwb3J0Lk1vRGF0YUxpc3Q7XG4gICAgICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3QoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy52aWV3U2V0dGluZyA9IHtcbiAgICAgICAgICAgIC4uLnRoaXMudmlld1NldHRpbmcsXG4gICAgICAgICAgICAuLi50aGlzLl9maW5kQ29sdW1uKHRoaXMuYWxsQ29sdW1ucywgW1xuICAgICAgICAgICAgICAgIHRoaXMudmlld1NldHRpbmcuQ292ZXIsXG4gICAgICAgICAgICAgICAgdGhpcy52aWV3U2V0dGluZy5TdGF0ZSxcbiAgICAgICAgICAgICAgICB0aGlzLnZpZXdTZXR0aW5nLkNhcHRpb25cbiAgICAgICAgICAgIF0pXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgb25BZGROZXdDb2x1bW4oKTogdm9pZCB7XG4gICAgICAgIHRoaXMua2FuYmFuQ29sdW1ucy5wdXNoKHRoaXMubmV3Q29sdW1uKTtcbiAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgdGhpcy5fcmVzZXROZXdDb2x1bW4oKTtcbiAgICAgICAgdGhpcy5fc2Nyb2xsSW5wdXRJbnRvVmlldygpO1xuICAgIH1cblxuICAgIG9uQWN0aXZlTmV3Q29sdW1uTW9kZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY2hhbmdlTmV3Q29sdW1uTW9kZSh0cnVlKTtcbiAgICB9XG5cbiAgICBvbkNhbmNlbE5ld0NvbHVtbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY2hhbmdlTmV3Q29sdW1uTW9kZShmYWxzZSk7XG4gICAgICAgIHRoaXMuX3Jlc2V0TmV3Q29sdW1uKCk7XG4gICAgfVxuXG4gICAgb25Jbml0TmV3Q2FyZChncm91cGJ5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcmVzZXROZXdDYXJkKCk7XG4gICAgICAgIHRoaXMubmV3Q2FyZFt0aGlzLmdyb3VwYnlQcm9wZXJ0eV0gPSBncm91cGJ5O1xuICAgIH1cblxuICAgIG9uQWRkTmV3Q2FyZChlKTogdm9pZCB7XG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5fYWRkTmV3Q2FyZCgpO1xuICAgIH1cblxuICAgIG9uTmV3Q2FyZElucHV0Rm9jdXNvdXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm5ld0NhcmQuJENhcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuX2FkZE5ld0NhcmQoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2NhbmNlbE5ld0NhcmQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQ2FuY2VsTmV3Q2FyZChlOiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5fY2FuY2VsTmV3Q2FyZCgpO1xuICAgIH1cblxuICAgIG9uRHJvcChldmVudCwgaXNDb2x1bW4/OiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGxldCBwcmV2aW91c0luZGV4O1xuICAgICAgICBsZXQgY3VycmVudEluZGV4O1xuICAgICAgICBjb25zdCBhcnJheSA9IGV2ZW50LmNvbnRhaW5lci5kYXRhO1xuXG4gICAgICAgIGlmIChpc0NvbHVtbikge1xuICAgICAgICAgICAgcHJldmlvdXNJbmRleCA9IGV2ZW50LnByZXZpb3VzSW5kZXg7XG4gICAgICAgICAgICBjdXJyZW50SW5kZXggPSBldmVudC5jdXJyZW50SW5kZXg7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBkcmFnZ2VkSXRlbUlkID0gdGhpcy5kcm9wQWN0aW9uVG9kby5kcmFnZ2VkSWQ7XG4gICAgICAgICAgICBpZiAoIWRyYWdnZWRJdGVtSWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBkcmFnZ2VkSXRlbSA9IHRoaXMuX2dldE1vQnlJZChkcmFnZ2VkSXRlbUlkKTtcbiAgICAgICAgICAgIGNvbnN0IHRhcmdldFN0YXRlID0gdGhpcy5kcm9wQWN0aW9uVG9kby50YXJnZXRTdGF0ZTtcbiAgICAgICAgICAgIHByZXZpb3VzSW5kZXggPSBhcnJheS5pbmRleE9mKGRyYWdnZWRJdGVtKTtcbiAgICAgICAgICAgIGN1cnJlbnRJbmRleCA9IHRoaXMuZHJvcEFjdGlvblRvZG8udGFyZ2V0SW5kZXg7XG4gICAgICAgICAgICBkcmFnZ2VkSXRlbS5TdGF0ZSA9IHRhcmdldFN0YXRlO1xuICAgICAgICAgICAgdGhpcy5fc3RvcERyYWdnaW5nKCk7XG4gICAgICAgIH1cblxuICAgICAgICBtb3ZlSXRlbUluQXJyYXkoYXJyYXksIHByZXZpb3VzSW5kZXgsIGN1cnJlbnRJbmRleCk7XG4gICAgfVxuXG4gICAgb25EcmFnTW92ZShldmVudCwgZHJhZ2dlZE1vLCBkcmFnZ2VkSW5kZXg6IG51bWJlciwgdGFyZ2V0U3RhdGU6IE1ldGFvYmplY3REYXRhTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZWxlbWVudEZyb21Qb2ludCA9IGRvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQoZXZlbnQucG9pbnRlclBvc2l0aW9uLngsIGV2ZW50LnBvaW50ZXJQb3NpdGlvbi55KTtcblxuICAgICAgICBpZiAodGFyZ2V0U3RhdGUpIHtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWVsZW1lbnRGcm9tUG9pbnQpIHtcbiAgICAgICAgICAgIHRoaXMuX3N0b3BEcmFnZ2luZygpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHRhcmdldE5vZGVFbGVtZW50ID0gZWxlbWVudEZyb21Qb2ludC5jbG9zZXN0KCdbc3RhdGVdJyk7XG4gICAgICAgIGlmICghdGFyZ2V0Tm9kZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuX3N0b3BEcmFnZ2luZygpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZHJvcEFjdGlvblRvZG8gPSB7XG4gICAgICAgICAgICBkcmFnZ2VkSWQ6IGRyYWdnZWRNby5JZCxcbiAgICAgICAgICAgIHRhcmdldElkOiB0YXJnZXROb2RlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2lkJyksXG4gICAgICAgICAgICB0YXJnZXRTdGF0ZTogbnVsbCxcbiAgICAgICAgICAgIHRhcmdldEluZGV4OiBOdW1iZXIodGFyZ2V0Tm9kZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCdpbmRleCcpKVxuICAgICAgICB9O1xuICAgICAgICBjb25zdCB0YXJnZXRSZWN0ID0gdGFyZ2V0Tm9kZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IG9uZVRoaXJkID0gdGFyZ2V0UmVjdC5oZWlnaHQgLyAzO1xuXG4gICAgICAgIGNvbnN0IGlzQ2FyZFRhcmdldCA9ICF0YXJnZXROb2RlRWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ2NvbHVtbicpO1xuXG4gICAgICAgIGNvbnN0IGlzQmVmb3JlID0gZXZlbnQucG9pbnRlclBvc2l0aW9uLnkgLSB0YXJnZXRSZWN0LnRvcCA8IG9uZVRoaXJkICYmIGlzQ2FyZFRhcmdldDtcblxuICAgICAgICBjb25zdCBpc0FmdGVyID0gZXZlbnQucG9pbnRlclBvc2l0aW9uLnkgLSB0YXJnZXRSZWN0LnRvcCA+IDIgKiBvbmVUaGlyZCAmJiBpc0NhcmRUYXJnZXQ7XG5cbiAgICAgICAgY29uc3QgaXNJbnNpZGUgPSAhaXNDYXJkVGFyZ2V0O1xuXG4gICAgICAgIGNvbnN0IHRhcmdldEluZGV4ID0gdGhpcy5kcm9wQWN0aW9uVG9kby50YXJnZXRJbmRleCA/PyAtMTtcbiAgICAgICAgY29uc3QgdGFyZ2V0TW8gPSB0aGlzLm1vRGF0YUxpc3RbdGFyZ2V0SW5kZXhdO1xuXG4gICAgICAgIGlmIChpc0NhcmRUYXJnZXQpIHtcbiAgICAgICAgICAgIHRoaXMuZHJvcEFjdGlvblRvZG8udGFyZ2V0U3RhdGUgPSB0YXJnZXRNb1t0aGlzLnZpZXdTZXR0aW5nLlN0YXRlXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZHJvcEFjdGlvblRvZG8udGFyZ2V0U3RhdGUgPSB7XG4gICAgICAgICAgICAgICAgJENhcHRpb246IHRhcmdldE5vZGVFbGVtZW50LmdldEF0dHJpYnV0ZSgnc3RhdGUnKSEsXG4gICAgICAgICAgICAgICAgSWQ6IHRhcmdldE5vZGVFbGVtZW50LmdldEF0dHJpYnV0ZSgnaWQnKSEsXG4gICAgICAgICAgICAgICAgJFR5cGVEZWZJZDogZHJhZ2dlZE1vW3RoaXMudmlld1NldHRpbmcuU3RhdGVdPy4kVHlwZURlZklkXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGlmIChpc0JlZm9yZSkge1xuICAgICAgICAgICAgdGhpcy5kcm9wQWN0aW9uVG9kby5hY3Rpb24gPSAnYmVmb3JlJztcbiAgICAgICAgICAgIHRoaXMuZHJvcEFjdGlvblRvZG8udGFyZ2V0SW5kZXggPSBkcmFnZ2VkSW5kZXggPiB0YXJnZXRJbmRleCA/IHRhcmdldEluZGV4IDogdGFyZ2V0SW5kZXggLSAxO1xuICAgICAgICB9IGVsc2UgaWYgKGlzQWZ0ZXIpIHtcbiAgICAgICAgICAgIHRoaXMuZHJvcEFjdGlvblRvZG8uYWN0aW9uID0gJ2FmdGVyJztcbiAgICAgICAgICAgIHRoaXMuZHJvcEFjdGlvblRvZG8udGFyZ2V0SW5kZXggPSBkcmFnZ2VkSW5kZXggPCB0YXJnZXRJbmRleCA/IHRhcmdldEluZGV4IDogdGFyZ2V0SW5kZXggKyAxO1xuICAgICAgICB9IGVsc2UgaWYgKGlzSW5zaWRlKSB7XG4gICAgICAgICAgICB0aGlzLmRyb3BBY3Rpb25Ub2RvLmFjdGlvbiA9ICdpbnNpZGUnO1xuICAgICAgICAgICAgdGhpcy5kcm9wQWN0aW9uVG9kby50YXJnZXRJbmRleCA9IDA7XG4gICAgICAgIH1cbiAgICAgICAgLy8gY29uc29sZS5sb2codGhpcy5kcm9wQWN0aW9uVG9kby50YXJnZXRTdGF0ZSk7XG4gICAgICAgIHRoaXMuX3Nob3dEcmFnSW5mbygpO1xuICAgIH1cbiAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3QoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc3RvcERyYWdnaW5nKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9jbGVhckRyYWdJbmZvKCk7XG4gICAgICAgIHRoaXMuX3Jlc2V0RHJvcEFjdGlvblRvZG8oKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9jaGFuZ2VOZXdDb2x1bW5Nb2RlKG1vZGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc05ld0NvbHVtbk1vZGUgPSBtb2RlO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3Jlc2V0RHJvcEFjdGlvblRvZG8oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZHJvcEFjdGlvblRvZG8gPSB7XG4gICAgICAgICAgICB0YXJnZXRJZDogbnVsbCxcbiAgICAgICAgICAgIGRyYWdnZWRJZDogbnVsbCxcbiAgICAgICAgICAgIHRhcmdldFN0YXRlOiBudWxsLFxuICAgICAgICAgICAgdGFyZ2V0SW5kZXg6IG51bGwsXG4gICAgICAgICAgICBhY3Rpb246IG51bGxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9zY3JvbGxJbnB1dEludG9WaWV3KCk6IHZvaWQge1xuICAgICAgICBjb25zdCBpbnB1dEVsOiBIVE1MSW5wdXRFbGVtZW50ID0gdGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGlucHV0RWwuZm9jdXMoKTtcbiAgICAgICAgaW5wdXRFbC5zY3JvbGxJbnRvVmlldyh7IGlubGluZTogJ2VuZCcgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfcmVzZXROZXdDb2x1bW4oKTogdm9pZCB7XG4gICAgICAgIHRoaXMubmV3Q29sdW1uID0geyBJZDogJycsICRDYXB0aW9uOiAnJyB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgX2NsZWFyRHJhZ0luZm8oZHJvcHBlZCA9IGZhbHNlKTogdm9pZCB7XG4gICAgICAgIGlmIChkcm9wcGVkKSB7XG4gICAgICAgICAgICB0aGlzLl9yZXNldERyb3BBY3Rpb25Ub2RvKCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZWxEb20gPSB0aGlzLl9lbC5uYXRpdmVFbGVtZW50O1xuICAgICAgICBlbERvbVxuICAgICAgICAgICAgLnF1ZXJ5U2VsZWN0b3JBbGwoJy5kcm9wLWJlZm9yZScpXG4gICAgICAgICAgICAuZm9yRWFjaCgoZWxlbWVudCkgPT4gdGhpcy5fcmVuZGVyZXIyLnJlbW92ZUNsYXNzKGVsZW1lbnQsICdkcm9wLWJlZm9yZScpKTtcbiAgICAgICAgZWxEb20ucXVlcnlTZWxlY3RvckFsbCgnLmRyb3AtYWZ0ZXInKS5mb3JFYWNoKChlbGVtZW50KSA9PiB0aGlzLl9yZW5kZXJlcjIucmVtb3ZlQ2xhc3MoZWxlbWVudCwgJ2Ryb3AtYWZ0ZXInKSk7XG4gICAgICAgIGVsRG9tXG4gICAgICAgICAgICAucXVlcnlTZWxlY3RvckFsbCgnLmRyb3AtaW5zaWRlJylcbiAgICAgICAgICAgIC5mb3JFYWNoKChlbGVtZW50KSA9PiB0aGlzLl9yZW5kZXJlcjIucmVtb3ZlQ2xhc3MoZWxlbWVudCwgJ2Ryb3AtaW5zaWRlJykpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3Nob3dEcmFnSW5mbygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY2xlYXJEcmFnSW5mbygpO1xuICAgICAgICBpZiAodGhpcy5kcm9wQWN0aW9uVG9kby50YXJnZXRJZCkge1xuICAgICAgICAgICAgY29uc3QgdGFyZ2V0Tm9kZUVsZW1lbnQgPSB0aGlzLl9lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJyMnICsgdGhpcy5kcm9wQWN0aW9uVG9kby50YXJnZXRJZCk7XG4gICAgICAgICAgICBpZiAoIXRhcmdldE5vZGVFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fcmVzZXREcm9wQWN0aW9uVG9kbygpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyMi5hZGRDbGFzcyh0YXJnZXROb2RlRWxlbWVudCwgJ2Ryb3AtJyArIHRoaXMuZHJvcEFjdGlvblRvZG8/LmFjdGlvbik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9hZGROZXdDYXJkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1vRGF0YUxpc3QucHVzaCh0aGlzLm5ld0NhcmQpO1xuICAgICAgICBjb25zdCBjdXJyZW50R3JvdXBieSA9IHRoaXMubmV3Q2FyZFt0aGlzLmdyb3VwYnlQcm9wZXJ0eV07XG4gICAgICAgIHRoaXMub25Jbml0TmV3Q2FyZChjdXJyZW50R3JvdXBieSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfcmVzZXROZXdDYXJkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm5ld0NhcmQgPSB7IElkOiBudWxsLCAkQ2FwdGlvbjogbnVsbCB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgX2NhbmNlbE5ld0NhcmQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Jlc2V0TmV3Q2FyZCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2dldE1vQnlJZChpZDogc3RyaW5nKTogTWV0YW9iamVjdERhdGFNb2RlbCB7XG4gICAgICAgIHJldHVybiB0aGlzLm1vRGF0YUxpc3QuZmluZCgoYykgPT4gYy5JZCA9PT0gaWQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2ZpbmRDb2x1bW4oYWxsQ29sdW1ucywgY29sdW1uc05hbWU6IHN0cmluZ1tdKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgY29sdW1ucyA9IHt9O1xuICAgICAgICBjb2x1bW5zTmFtZS5mb3JFYWNoKChuYW1lKSA9PiB7XG4gICAgICAgICAgICBjb2x1bW5zW25hbWUgKyAnQ29sdW1uJ10gPSB0aGlzLl9maW5kQ29sdW1uQnlEYk5hbWUudHJhbnNmb3JtKHRoaXMuYWxsQ29sdW1ucywgbmFtZSk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gY29sdW1ucztcbiAgICB9XG59XG4iLCI8ZmQtbGF5b3V0LXBhbmVsPlxyXG4gICAgPGZkLWxheW91dC1wYW5lbC1ib2R5IFtibGVlZF09XCJ0cnVlXCI+XHJcbiAgICAgICAgPHRhYmxlIGZkLXRhYmxlICpuZ0lmPVwiaXNDaGVja0xpc3RcIj5cclxuICAgICAgICAgICAgPHRoZWFkIGZkLXRhYmxlLWhlYWRlcj5cclxuICAgICAgICAgICAgICAgIDx0ciBmZC10YWJsZS1yb3c+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRoIGZkLXRhYmxlLWNlbGw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1jaGVja2JveFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cImFsbENoZWNrYm94XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cImFsbENoZWNrZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25BbGxDaGVja2JveCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID57eyAnQWxsJyB8IGJiYlRyYW5zbGF0ZSB9fTwvZmQtY2hlY2tib3hcclxuICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgIDwvdGFibGU+XHJcbiAgICA8L2ZkLWxheW91dC1wYW5lbC1ib2R5PlxyXG48L2ZkLWxheW91dC1wYW5lbD5cclxuXHJcbjxmZC1sYXlvdXQtZ3JpZFxyXG4gICAgKm5nSWY9XCJtb0RhdGFMaXN0Py5sZW5ndGg7IGVsc2Ugbm9EYXRhXCJcclxuICAgIGNsYXNzPVwiY29sdW1uc1wiXHJcbiAgICBjZGtEcm9wTGlzdFxyXG4gICAgY2RrRHJvcExpc3RPcmllbnRhdGlvbj1cImhvcml6b250YWxcIlxyXG4gICAgW2Nka0Ryb3BMaXN0RGF0YV09XCJrYW5iYW5Db2x1bW5zXCJcclxuICAgIFtpZF09XCInJFJvb3QnXCJcclxuICAgIChjZGtEcm9wTGlzdERyb3BwZWQpPVwib25Ecm9wKCRldmVudCwgdHJ1ZSlcIlxyXG4+XHJcbiAgICA8ZGl2XHJcbiAgICAgICAgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBrYW5iYW5Db2x1bW5zOyBsZXQgY29sdW1uSW5kZXggPSBpbmRleFwiXHJcbiAgICAgICAgW2ZkTGF5b3V0R3JpZENvbF09XCIxMlwiXHJcbiAgICAgICAgW2NvbE1kXT1cIjZcIlxyXG4gICAgICAgIFtjb2xMZ109XCI0XCJcclxuICAgICAgICBbY29sWGxdPVwiM1wiXHJcbiAgICAgICAgY2xhc3M9XCJjb2x1bW5cIlxyXG4gICAgICAgIFtpZF09XCJjb2x1bW4uSWRcIlxyXG4gICAgICAgIFthdHRyLnN0YXRlXT1cImNvbHVtbi4kQ2FwdGlvblwiXHJcbiAgICAgICAgY2RrRHJhZ1xyXG4gICAgPlxyXG4gICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcclxuICAgICAgICAgICAgICAgIGNvbHVtbkNhcmQ7XHJcbiAgICAgICAgICAgICAgICBjb250ZXh0OiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uOiBjb2x1bW4sXHJcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uSW5kZXg6IGNvbHVtbkluZGV4XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFwiXHJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2XHJcbiAgICAgICAgW2ZkTGF5b3V0R3JpZENvbF09XCIxMlwiXHJcbiAgICAgICAgW2NvbE1kXT1cIjZcIlxyXG4gICAgICAgIFtjb2xMZ109XCI0XCJcclxuICAgICAgICBbY29sWGxdPVwiM1wiXHJcbiAgICAgICAgY2xhc3M9XCJuZXdDb2x1bW5cIlxyXG4gICAgICAgIChjbGljayk9XCJvbkFjdGl2ZU5ld0NvbHVtbk1vZGUoKVwiXHJcbiAgICAgICAgKm5nSWY9XCIhaXNOZXdDb2x1bW5Nb2RlOyBlbHNlIG5ld0NvbHVtbklucHV0XCJcclxuICAgID5cclxuICAgICAgICA8bmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8c3Bhbj7Ys9iq2YjZhiDYrNiv24zYrzwvc3Bhbj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG4gICAgPG5nLXRlbXBsYXRlICNuZXdDb2x1bW5JbnB1dD5cclxuICAgICAgICA8ZGl2IFtmZExheW91dEdyaWRDb2xdPVwiMTJcIiBbY29sTWRdPVwiNlwiIFtjb2xMZ109XCI0XCIgW2NvbFhsXT1cIjNcIj5cclxuICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICAjaW5wdXRFbFxyXG4gICAgICAgICAgICAgICAgZmQtZm9ybS1jb250cm9sXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICBhdXRvZm9jdXNcclxuICAgICAgICAgICAgICAgIChmb2N1c291dCk9XCJvbkNhbmNlbE5ld0NvbHVtbigpXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwibmV3Q29sdW1uLiRDYXB0aW9uXCJcclxuICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uQWRkTmV3Q29sdW1uKClcIlxyXG4gICAgICAgICAgICAgICAgaWQ9XCJuZXctY29sdW1uLW5hbWVcIlxyXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCIg2YbYp9mFXCJcclxuICAgICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbjwvZmQtbGF5b3V0LWdyaWQ+XHJcblxyXG48IS0tbm9EYXRhLS0+XHJcbjxuZy10ZW1wbGF0ZSAjbm9EYXRhPlxyXG4gICAgPGJzdS1uby1kYXRhPjwvYnN1LW5vLWRhdGE+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48IS0tY29sdW1uIGNhcmQtLT5cclxuPG5nLXRlbXBsYXRlICNjb2x1bW5DYXJkIGxldC1jb2x1bW49XCJjb2x1bW5cIiBsZXQtY29sdW1uSW5kZXg9XCJjb2x1bW5JbmRleFwiPlxyXG4gICAgPGZkLWNhcmQgY2FyZFR5cGU9XCJxdWlja1ZpZXdcIiBjbGFzcz1cImRvY3MtZmxleC1pdGVtLW1hcmdpblwiIGVsbGlwc2lmeT5cclxuICAgICAgICA8ZmQtY2FyZC1oZWFkZXI+XHJcbiAgICAgICAgICAgIDxzcGFuIGZkLWNhcmQtdGl0bGU+e3sgY29sdW1uLiRDYXB0aW9uIH19PC9zcGFuPlxyXG4gICAgICAgIDwvZmQtY2FyZC1oZWFkZXI+XHJcbiAgICAgICAgPGZkLWNhcmQtY29udGVudFxyXG4gICAgICAgICAgICBjZGtEcm9wTGlzdFxyXG4gICAgICAgICAgICAoY2RrRHJvcExpc3REcm9wcGVkKT1cIm9uRHJvcCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgW2Nka0Ryb3BMaXN0U29ydGluZ0Rpc2FibGVkXT1cInRydWVcIlxyXG4gICAgICAgICAgICBbY2RrRHJvcExpc3REYXRhXT1cIm1vRGF0YUxpc3RcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbW8gb2YgbW9EYXRhTGlzdDsgbGV0IGluZGV4ID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgICAgIDxiay1rYW5iYW4tY2FyZFxyXG4gICAgICAgICAgICAgICAgICAgIFttb109XCJtb1wiXHJcbiAgICAgICAgICAgICAgICAgICAgW3ZpZXdTZXR0aW5nXT1cInZpZXdTZXR0aW5nXCJcclxuICAgICAgICAgICAgICAgICAgICBbZm9ybVNldHRpbmddPVwiZm9ybVNldHRpbmdcIlxyXG4gICAgICAgICAgICAgICAgICAgIFthbGxBdmFpbGFibGVBc3NpZ25lZXNdPVwiYWxsQXZhaWxhYmxlQXNzaWduZWVzXCJcclxuICAgICAgICAgICAgICAgICAgICBbaW5kZXhdPVwiaW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwibW9bdmlld1NldHRpbmcuU3RhdGVdLiRDYXB0aW9uID09PSBjb2x1bW4uJENhcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmlkXT1cIm1vLklkXCJcclxuICAgICAgICAgICAgICAgICAgICBbaW5saW5lRWRpdE1vZGVdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2lzQ2hlY2tlZF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdGF0ZV09XCJjb2x1bW4uJENhcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmluZGV4XT1cImluZGV4XCJcclxuICAgICAgICAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwibW8uJElzQ2hlY2tlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNka0RyYWdNb3ZlZCk9XCJvbkRyYWdNb3ZlKCRldmVudCwgbW8sIGluZGV4LCBjb2x1bW4pXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Sb3dDaGVjayh7bW8sIGluZGV4fSlcIlxyXG4gICAgICAgICAgICAgICAgICAgIChkYmxjbGljayk9XCJvblJvd0NsaWNrKHttbywgaW5kZXh9KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2RrRHJhZ1xyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPC9iay1rYW5iYW4tY2FyZD5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9mZC1jYXJkLWNvbnRlbnQ+XHJcbiAgICAgICAgPGZkLWNhcmQtZm9vdGVyIGNsYXNzPVwiY29sdW1uLWZvb3RlclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmV3LWNhcmRcIiAqbmdJZj1cIm5ld0NhcmRbZ3JvdXBieVByb3BlcnR5XSA9PT0gY29sdW1uLiRDYXB0aW9uOyBlbHNlIGFkZE5ld0NhcmRcIj5cclxuICAgICAgICAgICAgICAgIDxmZC1jYXJkPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgZmQtZm9ybS1pdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGV4dGFyZWFcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZkLWZvcm0tY29udHJvbFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F1dG9mb2N1c109XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwibmV3Q2FyZC4kQ2FwdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJvbkFkZE5ld0NhcmQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZm9jdXNvdXQpPVwib25OZXdDYXJkSW5wdXRGb2N1c291dCgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInVGl0bGUnIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvdGV4dGFyZWE+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2ZkLWNhcmQ+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmV3LWNhcmQtYWN0aW9uc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkFkZE5ld0NhcmQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZkVHlwZT1cImVtcGhhc2l6ZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFkZC1jYXJkLWJ0blwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCIn2KfZgdiy2YjYr9mGJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxmZC1pY29uIChtb3VzZWRvd24pPVwib25DYW5jZWxOZXdDYXJkKCRldmVudClcIiBnbHlwaD1cImRlY2xpbmVcIj48L2ZkLWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2FkZE5ld0NhcmQ+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRkLW5ldy1jYXJkXCIgKGNsaWNrKT1cIm9uSW5pdE5ld0NhcmQoY29sdW1uLiRDYXB0aW9uKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmQtaWNvbiBnbHlwaD1cImFkZFwiPjwvZmQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAg2qnYp9ix2Kog2KzYr9uM2K9cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2ZkLWNhcmQtZm9vdGVyPlxyXG4gICAgPC9mZC1jYXJkPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
@@ -315,7 +315,7 @@ class KanbanViewComponent extends ReportViewBaseComponent {
315
315
  this.dropActionTodo.action = 'inside';
316
316
  this.dropActionTodo.targetIndex = 0;
317
317
  }
318
- console.log(this.dropActionTodo.targetState);
318
+ // console.log(this.dropActionTodo.targetState);
319
319
  this._showDragInfo();
320
320
  }
321
321
  _changeDetect() {
@@ -1 +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';\r\n\r\nimport { BaseComponent } from 'barsa-novin-ray-core';\r\nimport { PopoverComponent } from '@fundamental-ngx/core';\r\n\r\n@Component({\r\n selector: 'bk-kanban-base',\r\n templateUrl: './kanban-base.component.html',\r\n styleUrls: ['./kanban-base.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class KanbanBaseComponent extends BaseComponent {\r\n openPopover(e, popover: PopoverComponent): void {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n popover.toggle();\r\n }\r\n\r\n closePopover(popover: PopoverComponent): void {\r\n popover.close();\r\n }\r\n}\r\n","<p>kanban-base works!</p>\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\n\r\nimport { KanbanBaseComponent } from '../kanban-base/kanban-base.component';\r\nimport { KanbanViewSetting } from '../Models/kanban-view-setting.interface';\r\nimport { MetaobjectDataModel } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bk-kanban-tags',\r\n templateUrl: './kanban-tags.component.html',\r\n styleUrls: ['./kanban-tags.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class KanbanTagsComponent extends KanbanBaseComponent {\r\n @Input() tags: MetaobjectDataModel[];\r\n @Input() viewSetting: KanbanViewSetting;\r\n colorList = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10'];\r\n currentTagLabel = '';\r\n selectedColor = '';\r\n\r\n colorClick(color: string): void {\r\n this.selectedColor = color;\r\n }\r\n\r\n addTag(): void {\r\n const newTag: MetaobjectDataModel = { Id: '', $Caption: '' };\r\n newTag[this.viewSetting.TagColor] = this.selectedColor;\r\n newTag[this.viewSetting.TagName] = this.currentTagLabel;\r\n this.tags.push(newTag);\r\n this.currentTagLabel = '';\r\n this.selectedColor = '';\r\n }\r\n\r\n deleteTag(index: number): void {\r\n this.tags.splice(index, 1);\r\n }\r\n}\r\n","<div class=\"row tags-container\">\r\n <ng-container *ngFor=\"let tag of tags; let i = index\">\r\n <fd-popover placement=\"bottom\" [closeOnOutsideClick]=\"true\">\r\n <fd-popover-control>\r\n <div class=\"tag\">\r\n <fd-info-label\r\n [label]=\"tag[viewSetting.TagName]\"\r\n [color]=\"tag[viewSetting.TagColor]\"\r\n [title]=\"tag[viewSetting.TagName]\"\r\n ></fd-info-label>\r\n </div>\r\n </fd-popover-control>\r\n <fd-popover-body>\r\n <div class=\"tag-delete\">\r\n <button fd-button (click)=\"deleteTag(i)\" [label]=\"'Delete' | bbbTranslate\" glyph=\"decline\"></button>\r\n </div>\r\n </fd-popover-body>\r\n </fd-popover>\r\n </ng-container>\r\n\r\n <fd-popover\r\n #tagPopover\r\n [triggers]=\"[]\"\r\n [focusTrapped]=\"false\"\r\n [closeOnOutsideClick]=\"true\"\r\n [noArrow]=\"false\"\r\n placement=\"bottom\"\r\n [focusAutoCapture]=\"true\"\r\n >\r\n <fd-popover-control>\r\n <div>\r\n <button\r\n fd-button\r\n (click)=\"openPopover($event, tagPopover)\"\r\n fdType=\"transparent\"\r\n glyph=\"sys-add\"\r\n ></button>\r\n </div>\r\n </fd-popover-control>\r\n <fd-popover-body>\r\n <div class=\"new-tag\" (keydown.enter)=\"addTag()\">\r\n <div fd-form-item class=\"row\">\r\n <input fd-form-control type=\"text\" [(ngModel)]=\"currentTagLabel\" id=\"input-1\" placeholder=\" نام\" />\r\n </div>\r\n <div class=\"colors-colection row\">\r\n <div\r\n *ngFor=\"let color of colorList\"\r\n (click)=\"colorClick(color)\"\r\n [ngClass]=\"'fd-info-label--accent-color-' + color\"\r\n [class.selected-color]=\"selectedColor === color\"\r\n class=\"color\"\r\n ></div>\r\n </div>\r\n <div class=\"ok-cancel-btns row\">\r\n <button fd-button [label]=\"'Ok' | bbbTranslate\" [fdType]=\"'emphasized'\" (click)=\"addTag()\"></button>\r\n <button\r\n fd-button\r\n [label]=\"'Cancel' | bbbTranslate\"\r\n [fdType]=\"'transparent'\"\r\n (click)=\"closePopover(tagPopover)\"\r\n ></button>\r\n </div>\r\n </div>\r\n </fd-popover-body>\r\n </fd-popover>\r\n</div>\r\n","import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';\r\n\r\nimport { BaseViewItemPropsComponent, FormPanelService, MetaobjectDataModel } from 'barsa-novin-ray-core';\r\nimport { KanbanViewSetting } from '../Models/kanban-view-setting.interface';\r\n\r\n@Component({\r\n selector: 'bk-kanban-card',\r\n templateUrl: './kanban-card.component.html',\r\n styleUrls: ['./kanban-card.component.scss'],\r\n providers: [FormPanelService],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class KanbanCardComponent extends BaseViewItemPropsComponent implements OnInit {\r\n @Input() index: number;\r\n @Input() mo: MetaobjectDataModel;\r\n @Input() viewSetting: KanbanViewSetting;\r\n @Input() allAvailableAssignees: MetaobjectDataModel[];\r\n\r\n moTasksCount = 4;\r\n moFinishedTasksCount = 2;\r\n moTaskPercentage;\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.moTaskPercentage = Math.floor((this.moFinishedTasksCount / this.moTasksCount) * 100);\r\n }\r\n}\r\n","<fd-card cardType=\"quickView\" class=\"docs-flex-item-margin\" style=\"background: transparent\" ellipsify>\r\n <div class=\"row task-cover\">\r\n <img\r\n [src]=\"\r\n viewSetting.Cover\r\n ? (mo[viewSetting.Cover]?.FileId\r\n | picFieldSrc: 'ID':viewSetting[viewSetting.Cover + 'Column']?.FieldDefId)\r\n : ''\r\n \"\r\n />\r\n </div>\r\n <fdp-action-button-group class=\"card-menu\">\r\n <fdp-button\r\n contentDensity=\"compact\"\r\n glyph=\"overflow\"\r\n buttonType=\"transparent\"\r\n [fdpMenuTriggerFor]=\"basicMenu\"\r\n ></fdp-button>\r\n <fdp-menu #basicMenu id=\"basic-menu\" [xPosition]=\"'before'\">\r\n <fdp-menu-item>{{ 'Edit' | bbbTranslate }}</fdp-menu-item>\r\n <fdp-menu-item>{{ 'Delete' | bbbTranslate }}</fdp-menu-item>\r\n </fdp-menu>\r\n </fdp-action-button-group>\r\n <fd-card-content>\r\n <bsu-ly-layout-container-of-root\r\n *ngIf=\"layout$ | async as layout94\"\r\n [config]=\"layout94\"\r\n [isPanel]=\"false\"\r\n [isRoot]=\"true\"\r\n ></bsu-ly-layout-container-of-root>\r\n </fd-card-content>\r\n <fd-card-footer>\r\n <div class=\"kanban-footer row\">\r\n <div class=\"comment row\">\r\n <fd-icon glyph=\"post\"></fd-icon>\r\n {{ mo[viewSetting.CommentsCount] }}\r\n </div>\r\n <div class=\"attachment row\">\r\n <fd-icon glyph=\"attachment\"></fd-icon>\r\n {{ mo[viewSetting.AttachesCount] }}\r\n </div>\r\n\r\n <div class=\"task row\">\r\n {{ mo[viewSetting.ProgressLabel] }}\r\n <div class=\"circle-icon\">\r\n <fd-icon glyph=\"accept\"></fd-icon>\r\n </div>\r\n </div>\r\n </div>\r\n </fd-card-footer>\r\n</fd-card>\r\n","import { ChangeDetectionStrategy, Component, Input, ViewChild } from '@angular/core';\r\n\r\nimport { ENTER, ESCAPE, SPACE, TAB } from '@angular/cdk/keycodes';\r\nimport { KeyUtil, Size } from '@fundamental-ngx/core/utils';\r\nimport { AvatarGroupComponent, PopoverBodyComponent, PopoverComponent } from '@fundamental-ngx/core';\r\nimport { KanbanBaseComponent } from '../kanban-base/kanban-base.component';\r\nimport { MetaobjectDataModel } from 'barsa-novin-ray-core';\r\nimport { KanbanViewSetting } from '../Models/kanban-view-setting.interface';\r\n\r\n@Component({\r\n selector: 'bk-avatar-group',\r\n templateUrl: './barsa-avatar-group.component.html',\r\n styleUrls: ['./barsa-avatar-group.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class BarsaAvatarGroupComponent extends KanbanBaseComponent {\r\n @ViewChild('overflowPopoverBody')\r\n popoverBodyComponent: PopoverBodyComponent;\r\n @ViewChild(AvatarGroupComponent, { static: true, read: AvatarGroupComponent }) avatarGroupCom: AvatarGroupComponent;\r\n @Input() existedItems: MetaobjectDataModel[];\r\n @Input() availableItems: MetaobjectDataModel[];\r\n @Input() viewSetting: KanbanViewSetting;\r\n @Input() visibleFields: string[] = [];\r\n @Input() addItem: boolean;\r\n @Input() size: Size = 'l';\r\n\r\n personDetails: any = null;\r\n overflowPopoverStage: 'main' | 'detail' = 'main';\r\n overflowItemsCount;\r\n get isDetailStage(): boolean {\r\n return this.overflowPopoverStage === 'detail';\r\n }\r\n\r\n isOpenChanged(isOpened: boolean): void {\r\n if (isOpened) {\r\n this.openOverflowMain();\r\n }\r\n }\r\n\r\n newItem(newItem): void {\r\n const exist = this.existedItems.find((item) => item.Id === newItem.Id);\r\n if (!exist) {\r\n this.existedItems.push(newItem);\r\n }\r\n }\r\n\r\n deleteAvatar(idx: number): void {\r\n this.existedItems.splice(idx, 1);\r\n }\r\n\r\n openOverflowMain(): void {\r\n this.personDetails = null;\r\n this.overflowPopoverStage = 'main';\r\n\r\n setTimeout(() => this.popoverBodyComponent?._focusFirstTabbableElement(), 0);\r\n }\r\n\r\n handleControlClick(event: MouseEvent, popover: PopoverComponent): void {\r\n popover.open();\r\n }\r\n\r\n handleControlKeydown(event: KeyboardEvent, popover: PopoverComponent): void {\r\n if (!KeyUtil.isKeyCode(event, [ESCAPE, TAB, SPACE, ENTER])) {\r\n return;\r\n }\r\n\r\n if (KeyUtil.isKeyCode(event, [ESCAPE, TAB])) {\r\n popover.close();\r\n }\r\n\r\n if (KeyUtil.isKeyCode(event, [SPACE, ENTER])) {\r\n popover.open();\r\n }\r\n }\r\n}\r\n","<fd-avatar-group #avatarGroupCom type=\"group\" [size]=\"size\">\r\n <fd-popover\r\n [noArrow]=\"false\"\r\n [focusTrapped]=\"true\"\r\n [focusAutoCapture]=\"true\"\r\n [triggers]=\"[]\"\r\n [closeOnOutsideClick]=\"true\"\r\n [closeOnEscapeKey]=\"true\"\r\n (isOpenChange)=\"isOpenChanged($event)\"\r\n placement=\"bottom\"\r\n [maxWidth]=\"312\"\r\n #overflowPopover\r\n >\r\n <fd-popover-control\r\n fd-avatar-group-popover-control\r\n [attr.aria-label]=\"\r\n 'Has popup type dialog Conjoined avatars, ' +\r\n ' avatars displayed, ' +\r\n avatarGroupCom?.overflowItemsCount +\r\n ' avatars hidden, activate for complete list'\r\n \"\r\n (click)=\"handleControlClick($event, overflowPopover)\"\r\n (keydown)=\"handleControlKeydown($event, overflowPopover)\"\r\n >\r\n <div *ngFor=\"let person of existedItems\" fd-avatar-group-item>\r\n <fd-avatar\r\n *ngIf=\"!person[viewSetting.AssigneeImage]\"\r\n [label]=\"person[viewSetting.AssigneeName]\"\r\n [title]=\"person[viewSetting.AssigneeName]\"\r\n [ariaLabel]=\"person[viewSetting.AssigneeName] + ' avatar'\"\r\n role=\"img\"\r\n [circle]=\"true\"\r\n [border]=\"true\"\r\n [size]=\"size\"\r\n ></fd-avatar>\r\n\r\n <fd-avatar\r\n *ngIf=\"person[viewSetting.AssigneeImage] as avatar\"\r\n role=\"img\"\r\n [title]=\"person[viewSetting.AssigneeName]\"\r\n [ariaLabel]=\"person[viewSetting.AssigneeName] + ' avatar'\"\r\n [circle]=\"true\"\r\n [border]=\"true\"\r\n [size]=\"size\"\r\n [image]=\"(avatar.FileId | picFieldSrc: 'ID':person.Id) || ''\"\r\n >\r\n </fd-avatar>\r\n </div>\r\n <button\r\n *ngIf=\"avatarGroupCom.overflowItemsCount && avatarGroupCom.overflowItemsCount > 0\"\r\n fd-button\r\n fd-avatar-group-overflow-button\r\n tabindex=\"-1\"\r\n [compact]=\"false\"\r\n [size]=\"size\"\r\n >\r\n <bdi fd-avatar-group-overflow-button-text> +{{ avatarGroupCom.overflowItemsCount }} </bdi>\r\n </button>\r\n </fd-popover-control>\r\n <fd-popover-body #overflowPopoverBody aria-labelledby=\"avatar-group-1-popover-header\" role=\"tooltip\">\r\n <div class=\"fd-popover__wrapper\">\r\n <div fd-popover-body-header>\r\n <div fd-bar barDesign=\"header\">\r\n <div fd-bar-left>\r\n <fd-button-bar\r\n *ngIf=\"isDetailStage\"\r\n (click)=\"openOverflowMain()\"\r\n glyph=\"navigation-left-arrow\"\r\n fdType=\"transparent\"\r\n aria-label=\"Back\"\r\n title=\"Back\"\r\n ></fd-button-bar>\r\n <fd-bar-element id=\"avatar-group-1-popover-header\">\r\n {{ isDetailStage ? 'Business Card' : 'Team Members (' + existedItems?.length + ')' }}\r\n </fd-bar-element>\r\n <fd-bar-element *ngIf=\"isDetailStage\">&nbsp;</fd-bar-element>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div\r\n fd-avatar-group-overflow-body\r\n [noPadding]=\"isDetailStage\"\r\n [noHorizontalScroll]=\"isDetailStage\"\r\n [noVerticalScroll]=\"false\"\r\n >\r\n <ng-container *ngIf=\"overflowPopoverStage === 'main'\">\r\n <ng-container *ngFor=\"let person of existedItems; let idx = index\">\r\n <div fd-avatar-group-overflow-item>\r\n <fd-popover [triggers]=\"['click']\">\r\n <fd-popover-control>\r\n <fd-avatar\r\n *ngIf=\"!person[viewSetting.AssigneeImage]\"\r\n fd-avatar-group-focusable-avatar\r\n [circle]=\"true\"\r\n size=\"s\"\r\n [label]=\"person[viewSetting.AssigneeName]\"\r\n [title]=\"person[viewSetting.AssigneeName]\"\r\n [ariaLabel]=\"person[viewSetting.AssigneeName] + ' avatar'\"\r\n role=\"img\"\r\n ></fd-avatar>\r\n <fd-avatar\r\n *ngIf=\"person[viewSetting.AssigneeImage] as avatar\"\r\n fd-avatar-group-focusable-avatar\r\n role=\"img\"\r\n [title]=\"person[viewSetting.AssigneeName]\"\r\n [ariaLabel]=\"person[viewSetting.AssigneeName] + ' avatar'\"\r\n [circle]=\"true\"\r\n size=\"s\"\r\n [image]=\"(avatar.FileId | picFieldSrc: 'ID':person.Id) || ''\"\r\n ></fd-avatar>\r\n </fd-popover-control>\r\n <fd-popover-body>\r\n <div class=\"avatar-actions\">\r\n <button\r\n fd-button\r\n (click)=\"deleteAvatar(idx)\"\r\n [label]=\"'Delete' | bbbTranslate\"\r\n glyph=\"decline\"\r\n ></button>\r\n <button\r\n fd-button\r\n [label]=\"'Show' | bbbTranslate\"\r\n glyph=\"detail-view\"\r\n ></button>\r\n </div>\r\n </fd-popover-body>\r\n </fd-popover>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </fd-popover-body>\r\n </fd-popover>\r\n</fd-avatar-group>\r\n\r\n<fd-popover\r\n #peoplePopover\r\n *ngIf=\"addItem\"\r\n [triggers]=\"[]\"\r\n [focusTrapped]=\"false\"\r\n [closeOnOutsideClick]=\"true\"\r\n [noArrow]=\"false\"\r\n placement=\"bottom\"\r\n [focusAutoCapture]=\"true\"\r\n>\r\n <fd-popover-control>\r\n <div>\r\n <button\r\n fd-button\r\n (click)=\"openPopover($event, peoplePopover)\"\r\n fdType=\"transparent\"\r\n glyph=\"sys-add\"\r\n ></button>\r\n </div>\r\n </fd-popover-control>\r\n <fd-popover-body>\r\n <ul fd-list>\r\n <li fd-list-item *ngFor=\"let item of availableItems\" (click)=\"newItem(item)\">\r\n <ng-container *ngIf=\"visibleFields.length > 0; else default\">\r\n <ng-container *ngFor=\"let field of visibleFields\">\r\n {{ item[field] }}\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #default>\r\n {{ item }}\r\n </ng-template>\r\n </li>\r\n </ul>\r\n </fd-popover-body>\r\n</fd-popover>\r\n","import { ChangeDetectionStrategy, Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { moveItemInArray } from '@angular/cdk/drag-drop';\r\n\r\nimport { MetaobjectDataModel, ReportViewBaseComponent } from 'barsa-novin-ray-core';\r\nimport { KanbanViewSetting } from '../Models/kanban-view-setting.interface';\r\nimport { DropInfo } from '../Models/drop-info';\r\n\r\n@Component({\r\n selector: 'bk-kanban-view',\r\n templateUrl: './kanban-view.component.html',\r\n styleUrls: ['./kanban-view.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class KanbanViewComponent extends ReportViewBaseComponent<KanbanViewSetting> implements OnInit {\r\n @ViewChild('inputEl', { read: ElementRef }) inputEl: ElementRef<any>;\r\n @Input() kanbanColumns: MetaobjectDataModel[];\r\n @Input() groupbyProperty = 'State';\r\n dropActionTodo: DropInfo;\r\n allAvailableAssignees: MetaobjectDataModel[];\r\n isNewColumnMode = false;\r\n newCard: any = { Id: null, $Caption: null };\r\n newColumn: any = { Id: null, $Caption: null };\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n\r\n const columnsReport = this.viewSetting.ColumnsReport.$Caption;\r\n this._portalService.ReportExecute(columnsReport).subscribe((report) => {\r\n this.kanbanColumns = report.MoDataList;\r\n this._changeDetect();\r\n });\r\n this.formSetting.View.ControlInfo.forEach((c) => (c.InlineEditMode = true));\r\n const assigneesReport = this.viewSetting.AssigneesReport.$Caption;\r\n this._portalService.ReportExecute(assigneesReport).subscribe((report) => {\r\n this.allAvailableAssignees = report.MoDataList;\r\n this._changeDetect();\r\n });\r\n\r\n this.viewSetting = {\r\n ...this.viewSetting,\r\n ...this._findColumn(this.allColumns, [\r\n this.viewSetting.Cover,\r\n this.viewSetting.State,\r\n this.viewSetting.Caption\r\n ])\r\n };\r\n }\r\n\r\n onAddNewColumn(): void {\r\n this.kanbanColumns.push(this.newColumn);\r\n this._cdr.detectChanges();\r\n this._resetNewColumn();\r\n this._scrollInputIntoView();\r\n }\r\n\r\n onActiveNewColumnMode(): void {\r\n this._changeNewColumnMode(true);\r\n }\r\n\r\n onCancelNewColumn(): void {\r\n this._changeNewColumnMode(false);\r\n this._resetNewColumn();\r\n }\r\n\r\n onInitNewCard(groupby: string): void {\r\n this._resetNewCard();\r\n this.newCard[this.groupbyProperty] = groupby;\r\n }\r\n\r\n onAddNewCard(e): void {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n this._addNewCard();\r\n }\r\n\r\n onNewCardInputFocusout(): void {\r\n if (this.newCard.$Caption) {\r\n this._addNewCard();\r\n } else {\r\n this._cancelNewCard();\r\n }\r\n }\r\n\r\n onCancelNewCard(e: MouseEvent): void {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n this._cancelNewCard();\r\n }\r\n\r\n onDrop(event, isColumn?: boolean): void {\r\n let previousIndex;\r\n let currentIndex;\r\n const array = event.container.data;\r\n\r\n if (isColumn) {\r\n previousIndex = event.previousIndex;\r\n currentIndex = event.currentIndex;\r\n } else {\r\n const draggedItemId = this.dropActionTodo.draggedId;\r\n if (!draggedItemId) {\r\n return;\r\n }\r\n const draggedItem = this._getMoById(draggedItemId);\r\n const targetState = this.dropActionTodo.targetState;\r\n previousIndex = array.indexOf(draggedItem);\r\n currentIndex = this.dropActionTodo.targetIndex;\r\n draggedItem.State = targetState;\r\n this._stopDragging();\r\n }\r\n\r\n moveItemInArray(array, previousIndex, currentIndex);\r\n }\r\n\r\n onDragMove(event, draggedMo, draggedIndex: number, targetState: MetaobjectDataModel): void {\r\n const elementFromPoint = document.elementFromPoint(event.pointerPosition.x, event.pointerPosition.y);\r\n\r\n if (targetState) {\r\n }\r\n if (!elementFromPoint) {\r\n this._stopDragging();\r\n return;\r\n }\r\n const targetNodeElement = elementFromPoint.closest('[state]');\r\n if (!targetNodeElement) {\r\n this._stopDragging();\r\n return;\r\n }\r\n this.dropActionTodo = {\r\n draggedId: draggedMo.Id,\r\n targetId: targetNodeElement.getAttribute('id'),\r\n targetState: null,\r\n targetIndex: Number(targetNodeElement.getAttribute('index'))\r\n };\r\n const targetRect = targetNodeElement.getBoundingClientRect();\r\n const oneThird = targetRect.height / 3;\r\n\r\n const isCardTarget = !targetNodeElement.classList.contains('column');\r\n\r\n const isBefore = event.pointerPosition.y - targetRect.top < oneThird && isCardTarget;\r\n\r\n const isAfter = event.pointerPosition.y - targetRect.top > 2 * oneThird && isCardTarget;\r\n\r\n const isInside = !isCardTarget;\r\n\r\n const targetIndex = this.dropActionTodo.targetIndex ?? -1;\r\n const targetMo = this.moDataList[targetIndex];\r\n\r\n if (isCardTarget) {\r\n this.dropActionTodo.targetState = targetMo[this.viewSetting.State];\r\n } else {\r\n this.dropActionTodo.targetState = {\r\n $Caption: targetNodeElement.getAttribute('state')!,\r\n Id: targetNodeElement.getAttribute('id')!,\r\n $TypeDefId: draggedMo[this.viewSetting.State]?.$TypeDefId\r\n };\r\n }\r\n if (isBefore) {\r\n this.dropActionTodo.action = 'before';\r\n this.dropActionTodo.targetIndex = draggedIndex > targetIndex ? targetIndex : targetIndex - 1;\r\n } else if (isAfter) {\r\n this.dropActionTodo.action = 'after';\r\n this.dropActionTodo.targetIndex = draggedIndex < targetIndex ? targetIndex : targetIndex + 1;\r\n } else if (isInside) {\r\n this.dropActionTodo.action = 'inside';\r\n this.dropActionTodo.targetIndex = 0;\r\n }\r\n console.log(this.dropActionTodo.targetState);\r\n this._showDragInfo();\r\n }\r\n private _changeDetect(): void {\r\n this._cdr.detectChanges();\r\n }\r\n\r\n private _stopDragging(): void {\r\n this._clearDragInfo();\r\n this._resetDropActionTodo();\r\n }\r\n\r\n private _changeNewColumnMode(mode: boolean): void {\r\n this.isNewColumnMode = mode;\r\n }\r\n\r\n private _resetDropActionTodo(): void {\r\n this.dropActionTodo = {\r\n targetId: null,\r\n draggedId: null,\r\n targetState: null,\r\n targetIndex: null,\r\n action: null\r\n };\r\n }\r\n\r\n private _scrollInputIntoView(): void {\r\n const inputEl: HTMLInputElement = this.inputEl.nativeElement;\r\n inputEl.focus();\r\n inputEl.scrollIntoView({ inline: 'end' });\r\n }\r\n\r\n private _resetNewColumn(): void {\r\n this.newColumn = { Id: '', $Caption: '' };\r\n }\r\n\r\n private _clearDragInfo(dropped = false): void {\r\n if (dropped) {\r\n this._resetDropActionTodo();\r\n }\r\n const elDom = this._el.nativeElement;\r\n elDom\r\n .querySelectorAll('.drop-before')\r\n .forEach((element) => this._renderer2.removeClass(element, 'drop-before'));\r\n elDom.querySelectorAll('.drop-after').forEach((element) => this._renderer2.removeClass(element, 'drop-after'));\r\n elDom\r\n .querySelectorAll('.drop-inside')\r\n .forEach((element) => this._renderer2.removeClass(element, 'drop-inside'));\r\n }\r\n\r\n private _showDragInfo(): void {\r\n this._clearDragInfo();\r\n if (this.dropActionTodo.targetId) {\r\n const targetNodeElement = this._el.nativeElement.querySelector('#' + this.dropActionTodo.targetId);\r\n if (!targetNodeElement) {\r\n this._resetDropActionTodo();\r\n return;\r\n }\r\n this._renderer2.addClass(targetNodeElement, 'drop-' + this.dropActionTodo?.action);\r\n }\r\n }\r\n\r\n private _addNewCard(): void {\r\n this.moDataList.push(this.newCard);\r\n const currentGroupby = this.newCard[this.groupbyProperty];\r\n this.onInitNewCard(currentGroupby);\r\n }\r\n\r\n private _resetNewCard(): void {\r\n this.newCard = { Id: null, $Caption: null };\r\n }\r\n\r\n private _cancelNewCard(): void {\r\n this._resetNewCard();\r\n }\r\n\r\n private _getMoById(id: string): MetaobjectDataModel {\r\n return this.moDataList.find((c) => c.Id === id);\r\n }\r\n\r\n private _findColumn(allColumns, columnsName: string[]): object {\r\n const columns = {};\r\n columnsName.forEach((name) => {\r\n columns[name + 'Column'] = this._findColumnByDbName.transform(this.allColumns, name);\r\n });\r\n return columns;\r\n }\r\n}\r\n","<fd-layout-panel>\r\n <fd-layout-panel-body [bleed]=\"true\">\r\n <table fd-table *ngIf=\"isCheckList\">\r\n <thead fd-table-header>\r\n <tr fd-table-row>\r\n <th fd-table-cell>\r\n <fd-checkbox\r\n name=\"allCheckbox\"\r\n [ngModel]=\"allChecked\"\r\n (ngModelChange)=\"onAllCheckbox($event)\"\r\n >{{ 'All' | bbbTranslate }}</fd-checkbox\r\n >\r\n </th>\r\n </tr>\r\n </thead>\r\n </table>\r\n </fd-layout-panel-body>\r\n</fd-layout-panel>\r\n\r\n<fd-layout-grid\r\n *ngIf=\"moDataList?.length; else noData\"\r\n class=\"columns\"\r\n cdkDropList\r\n cdkDropListOrientation=\"horizontal\"\r\n [cdkDropListData]=\"kanbanColumns\"\r\n [id]=\"'$Root'\"\r\n (cdkDropListDropped)=\"onDrop($event, true)\"\r\n>\r\n <div\r\n *ngFor=\"let column of kanbanColumns; let columnIndex = index\"\r\n [fdLayoutGridCol]=\"12\"\r\n [colMd]=\"6\"\r\n [colLg]=\"4\"\r\n [colXl]=\"3\"\r\n class=\"column\"\r\n [id]=\"column.Id\"\r\n [attr.state]=\"column.$Caption\"\r\n cdkDrag\r\n >\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnCard;\r\n context: {\r\n column: column,\r\n columnIndex: columnIndex\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n <div\r\n [fdLayoutGridCol]=\"12\"\r\n [colMd]=\"6\"\r\n [colLg]=\"4\"\r\n [colXl]=\"3\"\r\n class=\"newColumn\"\r\n (click)=\"onActiveNewColumnMode()\"\r\n *ngIf=\"!isNewColumnMode; else newColumnInput\"\r\n >\r\n <ng-container>\r\n <span>ستون جدید</span>\r\n </ng-container>\r\n </div>\r\n <ng-template #newColumnInput>\r\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"6\" [colLg]=\"4\" [colXl]=\"3\">\r\n <input\r\n #inputEl\r\n fd-form-control\r\n type=\"text\"\r\n autofocus\r\n (focusout)=\"onCancelNewColumn()\"\r\n [(ngModel)]=\"newColumn.$Caption\"\r\n (keydown.enter)=\"onAddNewColumn()\"\r\n id=\"new-column-name\"\r\n placeholder=\" نام\"\r\n />\r\n </div>\r\n </ng-template>\r\n</fd-layout-grid>\r\n\r\n<!--noData-->\r\n<ng-template #noData>\r\n <bsu-no-data></bsu-no-data>\r\n</ng-template>\r\n\r\n<!--column card-->\r\n<ng-template #columnCard let-column=\"column\" let-columnIndex=\"columnIndex\">\r\n <fd-card cardType=\"quickView\" class=\"docs-flex-item-margin\" ellipsify>\r\n <fd-card-header>\r\n <span fd-card-title>{{ column.$Caption }}</span>\r\n </fd-card-header>\r\n <fd-card-content\r\n cdkDropList\r\n (cdkDropListDropped)=\"onDrop($event)\"\r\n [cdkDropListSortingDisabled]=\"true\"\r\n [cdkDropListData]=\"moDataList\"\r\n >\r\n <ng-container *ngFor=\"let mo of moDataList; let index = index\">\r\n <bk-kanban-card\r\n [mo]=\"mo\"\r\n [viewSetting]=\"viewSetting\"\r\n [formSetting]=\"formSetting\"\r\n [allAvailableAssignees]=\"allAvailableAssignees\"\r\n [index]=\"index\"\r\n *ngIf=\"mo[viewSetting.State].$Caption === column.$Caption\"\r\n [attr.id]=\"mo.Id\"\r\n [inlineEditMode]=\"true\"\r\n [isChecked]=\"true\"\r\n [attr.state]=\"column.$Caption\"\r\n [attr.index]=\"index\"\r\n [class.selected]=\"mo.$IsChecked\"\r\n (cdkDragMoved)=\"onDragMove($event, mo, index, column)\"\r\n (click)=\"onRowCheck({mo, index})\"\r\n (dblclick)=\"onRowClick({mo, index})\"\r\n cdkDrag\r\n >\r\n </bk-kanban-card>\r\n </ng-container>\r\n </fd-card-content>\r\n <fd-card-footer class=\"column-footer\">\r\n <div class=\"new-card\" *ngIf=\"newCard[groupbyProperty] === column.$Caption; else addNewCard\">\r\n <fd-card>\r\n <div fd-form-item>\r\n <textarea\r\n fd-form-control\r\n [autofocus]=\"true\"\r\n [(ngModel)]=\"newCard.$Caption\"\r\n (keydown.enter)=\"onAddNewCard($event)\"\r\n (focusout)=\"onNewCardInputFocusout()\"\r\n [placeholder]=\"'Title' | bbbTranslate\"\r\n ></textarea>\r\n </div>\r\n </fd-card>\r\n <div class=\"new-card-actions\">\r\n <button\r\n fd-button\r\n (click)=\"onAddNewCard($event)\"\r\n fdType=\"emphasized\"\r\n class=\"add-card-btn\"\r\n [label]=\"'افزودن'\"\r\n ></button>\r\n <fd-icon (mousedown)=\"onCancelNewCard($event)\" glyph=\"decline\"></fd-icon>\r\n </div>\r\n </div>\r\n\r\n <ng-template #addNewCard>\r\n <div class=\"add-new-card\" (click)=\"onInitNewCard(column.$Caption)\">\r\n <span>\r\n <fd-icon glyph=\"add\"></fd-icon>\r\n کارت جدید\r\n </span>\r\n </div>\r\n </ng-template>\r\n </fd-card-footer>\r\n </fd-card>\r\n</ng-template>\r\n","import { ComponentFactoryResolver, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { BarsaNovinRayCoreModule, BaseModule, DynamicComponentService } from 'barsa-novin-ray-core';\r\nimport { KanbanViewComponent } from './kanban-view/kanban-view.component';\r\nimport { FundamentalNgxCoreModule } from '@fundamental-ngx/core';\r\nimport { BarsaAvatarGroupComponent } from './avatar-group/barsa-avatar-group.component';\r\nimport { FundamentalNgxPlatformModule } from '@fundamental-ngx/platform';\r\nimport { BarsaEchartsModule } from 'barsa-echarts';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { KanbanCardComponent } from './kanban-card/kanban-card.component';\r\nimport { KanbanTagsComponent } from './kanban-tags/kanban-tags.component';\r\nimport { KanbanBaseComponent } from './kanban-base/kanban-base.component';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { BarsaSapUiModule } from 'barsa-sap-ui';\r\n\r\nconst components = [\r\n KanbanViewComponent,\r\n BarsaAvatarGroupComponent,\r\n KanbanCardComponent,\r\n KanbanTagsComponent,\r\n KanbanBaseComponent\r\n];\r\n\r\n@NgModule({\r\n declarations: [...components],\r\n schemas: [NO_ERRORS_SCHEMA],\r\n imports: [\r\n CommonModule,\r\n BarsaNovinRayCoreModule,\r\n FundamentalNgxCoreModule,\r\n FundamentalNgxPlatformModule,\r\n BarsaEchartsModule,\r\n BarsaSapUiModule,\r\n FormsModule,\r\n DragDropModule,\r\n HttpClientModule\r\n ],\r\n exports: [...components]\r\n})\r\nexport class BarsaKanbanModule extends BaseModule {\r\n protected dynamicComponents = [...components];\r\n\r\n constructor(protected dcm: DynamicComponentService, protected componentFactoryResolver: ComponentFactoryResolver) {\r\n super(dcm, componentFactoryResolver, 'BarsaKanbanModule');\r\n }\r\n}\r\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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"}
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';\r\n\r\nimport { BaseComponent } from 'barsa-novin-ray-core';\r\nimport { PopoverComponent } from '@fundamental-ngx/core';\r\n\r\n@Component({\r\n selector: 'bk-kanban-base',\r\n templateUrl: './kanban-base.component.html',\r\n styleUrls: ['./kanban-base.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class KanbanBaseComponent extends BaseComponent {\r\n openPopover(e, popover: PopoverComponent): void {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n popover.toggle();\r\n }\r\n\r\n closePopover(popover: PopoverComponent): void {\r\n popover.close();\r\n }\r\n}\r\n","<p>kanban-base works!</p>\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\n\r\nimport { KanbanBaseComponent } from '../kanban-base/kanban-base.component';\r\nimport { KanbanViewSetting } from '../Models/kanban-view-setting.interface';\r\nimport { MetaobjectDataModel } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bk-kanban-tags',\r\n templateUrl: './kanban-tags.component.html',\r\n styleUrls: ['./kanban-tags.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class KanbanTagsComponent extends KanbanBaseComponent {\r\n @Input() tags: MetaobjectDataModel[];\r\n @Input() viewSetting: KanbanViewSetting;\r\n colorList = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10'];\r\n currentTagLabel = '';\r\n selectedColor = '';\r\n\r\n colorClick(color: string): void {\r\n this.selectedColor = color;\r\n }\r\n\r\n addTag(): void {\r\n const newTag: MetaobjectDataModel = { Id: '', $Caption: '' };\r\n newTag[this.viewSetting.TagColor] = this.selectedColor;\r\n newTag[this.viewSetting.TagName] = this.currentTagLabel;\r\n this.tags.push(newTag);\r\n this.currentTagLabel = '';\r\n this.selectedColor = '';\r\n }\r\n\r\n deleteTag(index: number): void {\r\n this.tags.splice(index, 1);\r\n }\r\n}\r\n","<div class=\"row tags-container\">\r\n <ng-container *ngFor=\"let tag of tags; let i = index\">\r\n <fd-popover placement=\"bottom\" [closeOnOutsideClick]=\"true\">\r\n <fd-popover-control>\r\n <div class=\"tag\">\r\n <fd-info-label\r\n [label]=\"tag[viewSetting.TagName]\"\r\n [color]=\"tag[viewSetting.TagColor]\"\r\n [title]=\"tag[viewSetting.TagName]\"\r\n ></fd-info-label>\r\n </div>\r\n </fd-popover-control>\r\n <fd-popover-body>\r\n <div class=\"tag-delete\">\r\n <button fd-button (click)=\"deleteTag(i)\" [label]=\"'Delete' | bbbTranslate\" glyph=\"decline\"></button>\r\n </div>\r\n </fd-popover-body>\r\n </fd-popover>\r\n </ng-container>\r\n\r\n <fd-popover\r\n #tagPopover\r\n [triggers]=\"[]\"\r\n [focusTrapped]=\"false\"\r\n [closeOnOutsideClick]=\"true\"\r\n [noArrow]=\"false\"\r\n placement=\"bottom\"\r\n [focusAutoCapture]=\"true\"\r\n >\r\n <fd-popover-control>\r\n <div>\r\n <button\r\n fd-button\r\n (click)=\"openPopover($event, tagPopover)\"\r\n fdType=\"transparent\"\r\n glyph=\"sys-add\"\r\n ></button>\r\n </div>\r\n </fd-popover-control>\r\n <fd-popover-body>\r\n <div class=\"new-tag\" (keydown.enter)=\"addTag()\">\r\n <div fd-form-item class=\"row\">\r\n <input fd-form-control type=\"text\" [(ngModel)]=\"currentTagLabel\" id=\"input-1\" placeholder=\" نام\" />\r\n </div>\r\n <div class=\"colors-colection row\">\r\n <div\r\n *ngFor=\"let color of colorList\"\r\n (click)=\"colorClick(color)\"\r\n [ngClass]=\"'fd-info-label--accent-color-' + color\"\r\n [class.selected-color]=\"selectedColor === color\"\r\n class=\"color\"\r\n ></div>\r\n </div>\r\n <div class=\"ok-cancel-btns row\">\r\n <button fd-button [label]=\"'Ok' | bbbTranslate\" [fdType]=\"'emphasized'\" (click)=\"addTag()\"></button>\r\n <button\r\n fd-button\r\n [label]=\"'Cancel' | bbbTranslate\"\r\n [fdType]=\"'transparent'\"\r\n (click)=\"closePopover(tagPopover)\"\r\n ></button>\r\n </div>\r\n </div>\r\n </fd-popover-body>\r\n </fd-popover>\r\n</div>\r\n","import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';\r\n\r\nimport { BaseViewItemPropsComponent, FormPanelService, MetaobjectDataModel } from 'barsa-novin-ray-core';\r\nimport { KanbanViewSetting } from '../Models/kanban-view-setting.interface';\r\n\r\n@Component({\r\n selector: 'bk-kanban-card',\r\n templateUrl: './kanban-card.component.html',\r\n styleUrls: ['./kanban-card.component.scss'],\r\n providers: [FormPanelService],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class KanbanCardComponent extends BaseViewItemPropsComponent implements OnInit {\r\n @Input() index: number;\r\n @Input() mo: MetaobjectDataModel;\r\n @Input() viewSetting: KanbanViewSetting;\r\n @Input() allAvailableAssignees: MetaobjectDataModel[];\r\n\r\n moTasksCount = 4;\r\n moFinishedTasksCount = 2;\r\n moTaskPercentage;\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.moTaskPercentage = Math.floor((this.moFinishedTasksCount / this.moTasksCount) * 100);\r\n }\r\n}\r\n","<fd-card cardType=\"quickView\" class=\"docs-flex-item-margin\" style=\"background: transparent\" ellipsify>\r\n <div class=\"row task-cover\">\r\n <img\r\n [src]=\"\r\n viewSetting.Cover\r\n ? (mo[viewSetting.Cover]?.FileId\r\n | picFieldSrc: 'ID':viewSetting[viewSetting.Cover + 'Column']?.FieldDefId)\r\n : ''\r\n \"\r\n />\r\n </div>\r\n <fdp-action-button-group class=\"card-menu\">\r\n <fdp-button\r\n contentDensity=\"compact\"\r\n glyph=\"overflow\"\r\n buttonType=\"transparent\"\r\n [fdpMenuTriggerFor]=\"basicMenu\"\r\n ></fdp-button>\r\n <fdp-menu #basicMenu id=\"basic-menu\" [xPosition]=\"'before'\">\r\n <fdp-menu-item>{{ 'Edit' | bbbTranslate }}</fdp-menu-item>\r\n <fdp-menu-item>{{ 'Delete' | bbbTranslate }}</fdp-menu-item>\r\n </fdp-menu>\r\n </fdp-action-button-group>\r\n <fd-card-content>\r\n <bsu-ly-layout-container-of-root\r\n *ngIf=\"layout$ | async as layout94\"\r\n [config]=\"layout94\"\r\n [isPanel]=\"false\"\r\n [isRoot]=\"true\"\r\n ></bsu-ly-layout-container-of-root>\r\n </fd-card-content>\r\n <fd-card-footer>\r\n <div class=\"kanban-footer row\">\r\n <div class=\"comment row\">\r\n <fd-icon glyph=\"post\"></fd-icon>\r\n {{ mo[viewSetting.CommentsCount] }}\r\n </div>\r\n <div class=\"attachment row\">\r\n <fd-icon glyph=\"attachment\"></fd-icon>\r\n {{ mo[viewSetting.AttachesCount] }}\r\n </div>\r\n\r\n <div class=\"task row\">\r\n {{ mo[viewSetting.ProgressLabel] }}\r\n <div class=\"circle-icon\">\r\n <fd-icon glyph=\"accept\"></fd-icon>\r\n </div>\r\n </div>\r\n </div>\r\n </fd-card-footer>\r\n</fd-card>\r\n","import { ChangeDetectionStrategy, Component, Input, ViewChild } from '@angular/core';\r\n\r\nimport { ENTER, ESCAPE, SPACE, TAB } from '@angular/cdk/keycodes';\r\nimport { KeyUtil, Size } from '@fundamental-ngx/core/utils';\r\nimport { AvatarGroupComponent, PopoverBodyComponent, PopoverComponent } from '@fundamental-ngx/core';\r\nimport { KanbanBaseComponent } from '../kanban-base/kanban-base.component';\r\nimport { MetaobjectDataModel } from 'barsa-novin-ray-core';\r\nimport { KanbanViewSetting } from '../Models/kanban-view-setting.interface';\r\n\r\n@Component({\r\n selector: 'bk-avatar-group',\r\n templateUrl: './barsa-avatar-group.component.html',\r\n styleUrls: ['./barsa-avatar-group.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class BarsaAvatarGroupComponent extends KanbanBaseComponent {\r\n @ViewChild('overflowPopoverBody')\r\n popoverBodyComponent: PopoverBodyComponent;\r\n @ViewChild(AvatarGroupComponent, { static: true, read: AvatarGroupComponent }) avatarGroupCom: AvatarGroupComponent;\r\n @Input() existedItems: MetaobjectDataModel[];\r\n @Input() availableItems: MetaobjectDataModel[];\r\n @Input() viewSetting: KanbanViewSetting;\r\n @Input() visibleFields: string[] = [];\r\n @Input() addItem: boolean;\r\n @Input() size: Size = 'l';\r\n\r\n personDetails: any = null;\r\n overflowPopoverStage: 'main' | 'detail' = 'main';\r\n overflowItemsCount;\r\n get isDetailStage(): boolean {\r\n return this.overflowPopoverStage === 'detail';\r\n }\r\n\r\n isOpenChanged(isOpened: boolean): void {\r\n if (isOpened) {\r\n this.openOverflowMain();\r\n }\r\n }\r\n\r\n newItem(newItem): void {\r\n const exist = this.existedItems.find((item) => item.Id === newItem.Id);\r\n if (!exist) {\r\n this.existedItems.push(newItem);\r\n }\r\n }\r\n\r\n deleteAvatar(idx: number): void {\r\n this.existedItems.splice(idx, 1);\r\n }\r\n\r\n openOverflowMain(): void {\r\n this.personDetails = null;\r\n this.overflowPopoverStage = 'main';\r\n\r\n setTimeout(() => this.popoverBodyComponent?._focusFirstTabbableElement(), 0);\r\n }\r\n\r\n handleControlClick(event: MouseEvent, popover: PopoverComponent): void {\r\n popover.open();\r\n }\r\n\r\n handleControlKeydown(event: KeyboardEvent, popover: PopoverComponent): void {\r\n if (!KeyUtil.isKeyCode(event, [ESCAPE, TAB, SPACE, ENTER])) {\r\n return;\r\n }\r\n\r\n if (KeyUtil.isKeyCode(event, [ESCAPE, TAB])) {\r\n popover.close();\r\n }\r\n\r\n if (KeyUtil.isKeyCode(event, [SPACE, ENTER])) {\r\n popover.open();\r\n }\r\n }\r\n}\r\n","<fd-avatar-group #avatarGroupCom type=\"group\" [size]=\"size\">\r\n <fd-popover\r\n [noArrow]=\"false\"\r\n [focusTrapped]=\"true\"\r\n [focusAutoCapture]=\"true\"\r\n [triggers]=\"[]\"\r\n [closeOnOutsideClick]=\"true\"\r\n [closeOnEscapeKey]=\"true\"\r\n (isOpenChange)=\"isOpenChanged($event)\"\r\n placement=\"bottom\"\r\n [maxWidth]=\"312\"\r\n #overflowPopover\r\n >\r\n <fd-popover-control\r\n fd-avatar-group-popover-control\r\n [attr.aria-label]=\"\r\n 'Has popup type dialog Conjoined avatars, ' +\r\n ' avatars displayed, ' +\r\n avatarGroupCom?.overflowItemsCount +\r\n ' avatars hidden, activate for complete list'\r\n \"\r\n (click)=\"handleControlClick($event, overflowPopover)\"\r\n (keydown)=\"handleControlKeydown($event, overflowPopover)\"\r\n >\r\n <div *ngFor=\"let person of existedItems\" fd-avatar-group-item>\r\n <fd-avatar\r\n *ngIf=\"!person[viewSetting.AssigneeImage]\"\r\n [label]=\"person[viewSetting.AssigneeName]\"\r\n [title]=\"person[viewSetting.AssigneeName]\"\r\n [ariaLabel]=\"person[viewSetting.AssigneeName] + ' avatar'\"\r\n role=\"img\"\r\n [circle]=\"true\"\r\n [border]=\"true\"\r\n [size]=\"size\"\r\n ></fd-avatar>\r\n\r\n <fd-avatar\r\n *ngIf=\"person[viewSetting.AssigneeImage] as avatar\"\r\n role=\"img\"\r\n [title]=\"person[viewSetting.AssigneeName]\"\r\n [ariaLabel]=\"person[viewSetting.AssigneeName] + ' avatar'\"\r\n [circle]=\"true\"\r\n [border]=\"true\"\r\n [size]=\"size\"\r\n [image]=\"(avatar.FileId | picFieldSrc: 'ID':person.Id) || ''\"\r\n >\r\n </fd-avatar>\r\n </div>\r\n <button\r\n *ngIf=\"avatarGroupCom.overflowItemsCount && avatarGroupCom.overflowItemsCount > 0\"\r\n fd-button\r\n fd-avatar-group-overflow-button\r\n tabindex=\"-1\"\r\n [compact]=\"false\"\r\n [size]=\"size\"\r\n >\r\n <bdi fd-avatar-group-overflow-button-text> +{{ avatarGroupCom.overflowItemsCount }} </bdi>\r\n </button>\r\n </fd-popover-control>\r\n <fd-popover-body #overflowPopoverBody aria-labelledby=\"avatar-group-1-popover-header\" role=\"tooltip\">\r\n <div class=\"fd-popover__wrapper\">\r\n <div fd-popover-body-header>\r\n <div fd-bar barDesign=\"header\">\r\n <div fd-bar-left>\r\n <fd-button-bar\r\n *ngIf=\"isDetailStage\"\r\n (click)=\"openOverflowMain()\"\r\n glyph=\"navigation-left-arrow\"\r\n fdType=\"transparent\"\r\n aria-label=\"Back\"\r\n title=\"Back\"\r\n ></fd-button-bar>\r\n <fd-bar-element id=\"avatar-group-1-popover-header\">\r\n {{ isDetailStage ? 'Business Card' : 'Team Members (' + existedItems?.length + ')' }}\r\n </fd-bar-element>\r\n <fd-bar-element *ngIf=\"isDetailStage\">&nbsp;</fd-bar-element>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div\r\n fd-avatar-group-overflow-body\r\n [noPadding]=\"isDetailStage\"\r\n [noHorizontalScroll]=\"isDetailStage\"\r\n [noVerticalScroll]=\"false\"\r\n >\r\n <ng-container *ngIf=\"overflowPopoverStage === 'main'\">\r\n <ng-container *ngFor=\"let person of existedItems; let idx = index\">\r\n <div fd-avatar-group-overflow-item>\r\n <fd-popover [triggers]=\"['click']\">\r\n <fd-popover-control>\r\n <fd-avatar\r\n *ngIf=\"!person[viewSetting.AssigneeImage]\"\r\n fd-avatar-group-focusable-avatar\r\n [circle]=\"true\"\r\n size=\"s\"\r\n [label]=\"person[viewSetting.AssigneeName]\"\r\n [title]=\"person[viewSetting.AssigneeName]\"\r\n [ariaLabel]=\"person[viewSetting.AssigneeName] + ' avatar'\"\r\n role=\"img\"\r\n ></fd-avatar>\r\n <fd-avatar\r\n *ngIf=\"person[viewSetting.AssigneeImage] as avatar\"\r\n fd-avatar-group-focusable-avatar\r\n role=\"img\"\r\n [title]=\"person[viewSetting.AssigneeName]\"\r\n [ariaLabel]=\"person[viewSetting.AssigneeName] + ' avatar'\"\r\n [circle]=\"true\"\r\n size=\"s\"\r\n [image]=\"(avatar.FileId | picFieldSrc: 'ID':person.Id) || ''\"\r\n ></fd-avatar>\r\n </fd-popover-control>\r\n <fd-popover-body>\r\n <div class=\"avatar-actions\">\r\n <button\r\n fd-button\r\n (click)=\"deleteAvatar(idx)\"\r\n [label]=\"'Delete' | bbbTranslate\"\r\n glyph=\"decline\"\r\n ></button>\r\n <button\r\n fd-button\r\n [label]=\"'Show' | bbbTranslate\"\r\n glyph=\"detail-view\"\r\n ></button>\r\n </div>\r\n </fd-popover-body>\r\n </fd-popover>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </fd-popover-body>\r\n </fd-popover>\r\n</fd-avatar-group>\r\n\r\n<fd-popover\r\n #peoplePopover\r\n *ngIf=\"addItem\"\r\n [triggers]=\"[]\"\r\n [focusTrapped]=\"false\"\r\n [closeOnOutsideClick]=\"true\"\r\n [noArrow]=\"false\"\r\n placement=\"bottom\"\r\n [focusAutoCapture]=\"true\"\r\n>\r\n <fd-popover-control>\r\n <div>\r\n <button\r\n fd-button\r\n (click)=\"openPopover($event, peoplePopover)\"\r\n fdType=\"transparent\"\r\n glyph=\"sys-add\"\r\n ></button>\r\n </div>\r\n </fd-popover-control>\r\n <fd-popover-body>\r\n <ul fd-list>\r\n <li fd-list-item *ngFor=\"let item of availableItems\" (click)=\"newItem(item)\">\r\n <ng-container *ngIf=\"visibleFields.length > 0; else default\">\r\n <ng-container *ngFor=\"let field of visibleFields\">\r\n {{ item[field] }}\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #default>\r\n {{ item }}\r\n </ng-template>\r\n </li>\r\n </ul>\r\n </fd-popover-body>\r\n</fd-popover>\r\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>\r\n <fd-layout-panel-body [bleed]=\"true\">\r\n <table fd-table *ngIf=\"isCheckList\">\r\n <thead fd-table-header>\r\n <tr fd-table-row>\r\n <th fd-table-cell>\r\n <fd-checkbox\r\n name=\"allCheckbox\"\r\n [ngModel]=\"allChecked\"\r\n (ngModelChange)=\"onAllCheckbox($event)\"\r\n >{{ 'All' | bbbTranslate }}</fd-checkbox\r\n >\r\n </th>\r\n </tr>\r\n </thead>\r\n </table>\r\n </fd-layout-panel-body>\r\n</fd-layout-panel>\r\n\r\n<fd-layout-grid\r\n *ngIf=\"moDataList?.length; else noData\"\r\n class=\"columns\"\r\n cdkDropList\r\n cdkDropListOrientation=\"horizontal\"\r\n [cdkDropListData]=\"kanbanColumns\"\r\n [id]=\"'$Root'\"\r\n (cdkDropListDropped)=\"onDrop($event, true)\"\r\n>\r\n <div\r\n *ngFor=\"let column of kanbanColumns; let columnIndex = index\"\r\n [fdLayoutGridCol]=\"12\"\r\n [colMd]=\"6\"\r\n [colLg]=\"4\"\r\n [colXl]=\"3\"\r\n class=\"column\"\r\n [id]=\"column.Id\"\r\n [attr.state]=\"column.$Caption\"\r\n cdkDrag\r\n >\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnCard;\r\n context: {\r\n column: column,\r\n columnIndex: columnIndex\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n <div\r\n [fdLayoutGridCol]=\"12\"\r\n [colMd]=\"6\"\r\n [colLg]=\"4\"\r\n [colXl]=\"3\"\r\n class=\"newColumn\"\r\n (click)=\"onActiveNewColumnMode()\"\r\n *ngIf=\"!isNewColumnMode; else newColumnInput\"\r\n >\r\n <ng-container>\r\n <span>ستون جدید</span>\r\n </ng-container>\r\n </div>\r\n <ng-template #newColumnInput>\r\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"6\" [colLg]=\"4\" [colXl]=\"3\">\r\n <input\r\n #inputEl\r\n fd-form-control\r\n type=\"text\"\r\n autofocus\r\n (focusout)=\"onCancelNewColumn()\"\r\n [(ngModel)]=\"newColumn.$Caption\"\r\n (keydown.enter)=\"onAddNewColumn()\"\r\n id=\"new-column-name\"\r\n placeholder=\" نام\"\r\n />\r\n </div>\r\n </ng-template>\r\n</fd-layout-grid>\r\n\r\n<!--noData-->\r\n<ng-template #noData>\r\n <bsu-no-data></bsu-no-data>\r\n</ng-template>\r\n\r\n<!--column card-->\r\n<ng-template #columnCard let-column=\"column\" let-columnIndex=\"columnIndex\">\r\n <fd-card cardType=\"quickView\" class=\"docs-flex-item-margin\" ellipsify>\r\n <fd-card-header>\r\n <span fd-card-title>{{ column.$Caption }}</span>\r\n </fd-card-header>\r\n <fd-card-content\r\n cdkDropList\r\n (cdkDropListDropped)=\"onDrop($event)\"\r\n [cdkDropListSortingDisabled]=\"true\"\r\n [cdkDropListData]=\"moDataList\"\r\n >\r\n <ng-container *ngFor=\"let mo of moDataList; let index = index\">\r\n <bk-kanban-card\r\n [mo]=\"mo\"\r\n [viewSetting]=\"viewSetting\"\r\n [formSetting]=\"formSetting\"\r\n [allAvailableAssignees]=\"allAvailableAssignees\"\r\n [index]=\"index\"\r\n *ngIf=\"mo[viewSetting.State].$Caption === column.$Caption\"\r\n [attr.id]=\"mo.Id\"\r\n [inlineEditMode]=\"true\"\r\n [isChecked]=\"true\"\r\n [attr.state]=\"column.$Caption\"\r\n [attr.index]=\"index\"\r\n [class.selected]=\"mo.$IsChecked\"\r\n (cdkDragMoved)=\"onDragMove($event, mo, index, column)\"\r\n (click)=\"onRowCheck({mo, index})\"\r\n (dblclick)=\"onRowClick({mo, index})\"\r\n cdkDrag\r\n >\r\n </bk-kanban-card>\r\n </ng-container>\r\n </fd-card-content>\r\n <fd-card-footer class=\"column-footer\">\r\n <div class=\"new-card\" *ngIf=\"newCard[groupbyProperty] === column.$Caption; else addNewCard\">\r\n <fd-card>\r\n <div fd-form-item>\r\n <textarea\r\n fd-form-control\r\n [autofocus]=\"true\"\r\n [(ngModel)]=\"newCard.$Caption\"\r\n (keydown.enter)=\"onAddNewCard($event)\"\r\n (focusout)=\"onNewCardInputFocusout()\"\r\n [placeholder]=\"'Title' | bbbTranslate\"\r\n ></textarea>\r\n </div>\r\n </fd-card>\r\n <div class=\"new-card-actions\">\r\n <button\r\n fd-button\r\n (click)=\"onAddNewCard($event)\"\r\n fdType=\"emphasized\"\r\n class=\"add-card-btn\"\r\n [label]=\"'افزودن'\"\r\n ></button>\r\n <fd-icon (mousedown)=\"onCancelNewCard($event)\" glyph=\"decline\"></fd-icon>\r\n </div>\r\n </div>\r\n\r\n <ng-template #addNewCard>\r\n <div class=\"add-new-card\" (click)=\"onInitNewCard(column.$Caption)\">\r\n <span>\r\n <fd-icon glyph=\"add\"></fd-icon>\r\n کارت جدید\r\n </span>\r\n </div>\r\n </ng-template>\r\n </fd-card-footer>\r\n </fd-card>\r\n</ng-template>\r\n","import { ComponentFactoryResolver, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { BarsaNovinRayCoreModule, BaseModule, DynamicComponentService } from 'barsa-novin-ray-core';\r\nimport { KanbanViewComponent } from './kanban-view/kanban-view.component';\r\nimport { FundamentalNgxCoreModule } from '@fundamental-ngx/core';\r\nimport { BarsaAvatarGroupComponent } from './avatar-group/barsa-avatar-group.component';\r\nimport { FundamentalNgxPlatformModule } from '@fundamental-ngx/platform';\r\nimport { BarsaEchartsModule } from 'barsa-echarts';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { KanbanCardComponent } from './kanban-card/kanban-card.component';\r\nimport { KanbanTagsComponent } from './kanban-tags/kanban-tags.component';\r\nimport { KanbanBaseComponent } from './kanban-base/kanban-base.component';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { BarsaSapUiModule } from 'barsa-sap-ui';\r\n\r\nconst components = [\r\n KanbanViewComponent,\r\n BarsaAvatarGroupComponent,\r\n KanbanCardComponent,\r\n KanbanTagsComponent,\r\n KanbanBaseComponent\r\n];\r\n\r\n@NgModule({\r\n declarations: [...components],\r\n schemas: [NO_ERRORS_SCHEMA],\r\n imports: [\r\n CommonModule,\r\n BarsaNovinRayCoreModule,\r\n FundamentalNgxCoreModule,\r\n FundamentalNgxPlatformModule,\r\n BarsaEchartsModule,\r\n BarsaSapUiModule,\r\n FormsModule,\r\n DragDropModule,\r\n HttpClientModule\r\n ],\r\n exports: [...components]\r\n})\r\nexport class BarsaKanbanModule extends BaseModule {\r\n protected dynamicComponents = [...components];\r\n\r\n constructor(protected dcm: DynamicComponentService, protected componentFactoryResolver: ComponentFactoryResolver) {\r\n super(dcm, componentFactoryResolver, 'BarsaKanbanModule');\r\n }\r\n}\r\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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"}
@@ -317,7 +317,7 @@ class KanbanViewComponent extends ReportViewBaseComponent {
317
317
  this.dropActionTodo.action = 'inside';
318
318
  this.dropActionTodo.targetIndex = 0;
319
319
  }
320
- console.log(this.dropActionTodo.targetState);
320
+ // console.log(this.dropActionTodo.targetState);
321
321
  this._showDragInfo();
322
322
  }
323
323
  _changeDetect() {
@@ -1 +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';\r\n\r\nimport { BaseComponent } from 'barsa-novin-ray-core';\r\nimport { PopoverComponent } from '@fundamental-ngx/core';\r\n\r\n@Component({\r\n selector: 'bk-kanban-base',\r\n templateUrl: './kanban-base.component.html',\r\n styleUrls: ['./kanban-base.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class KanbanBaseComponent extends BaseComponent {\r\n openPopover(e, popover: PopoverComponent): void {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n popover.toggle();\r\n }\r\n\r\n closePopover(popover: PopoverComponent): void {\r\n popover.close();\r\n }\r\n}\r\n","<p>kanban-base works!</p>\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\n\r\nimport { KanbanBaseComponent } from '../kanban-base/kanban-base.component';\r\nimport { KanbanViewSetting } from '../Models/kanban-view-setting.interface';\r\nimport { MetaobjectDataModel } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bk-kanban-tags',\r\n templateUrl: './kanban-tags.component.html',\r\n styleUrls: ['./kanban-tags.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class KanbanTagsComponent extends KanbanBaseComponent {\r\n @Input() tags: MetaobjectDataModel[];\r\n @Input() viewSetting: KanbanViewSetting;\r\n colorList = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10'];\r\n currentTagLabel = '';\r\n selectedColor = '';\r\n\r\n colorClick(color: string): void {\r\n this.selectedColor = color;\r\n }\r\n\r\n addTag(): void {\r\n const newTag: MetaobjectDataModel = { Id: '', $Caption: '' };\r\n newTag[this.viewSetting.TagColor] = this.selectedColor;\r\n newTag[this.viewSetting.TagName] = this.currentTagLabel;\r\n this.tags.push(newTag);\r\n this.currentTagLabel = '';\r\n this.selectedColor = '';\r\n }\r\n\r\n deleteTag(index: number): void {\r\n this.tags.splice(index, 1);\r\n }\r\n}\r\n","<div class=\"row tags-container\">\r\n <ng-container *ngFor=\"let tag of tags; let i = index\">\r\n <fd-popover placement=\"bottom\" [closeOnOutsideClick]=\"true\">\r\n <fd-popover-control>\r\n <div class=\"tag\">\r\n <fd-info-label\r\n [label]=\"tag[viewSetting.TagName]\"\r\n [color]=\"tag[viewSetting.TagColor]\"\r\n [title]=\"tag[viewSetting.TagName]\"\r\n ></fd-info-label>\r\n </div>\r\n </fd-popover-control>\r\n <fd-popover-body>\r\n <div class=\"tag-delete\">\r\n <button fd-button (click)=\"deleteTag(i)\" [label]=\"'Delete' | bbbTranslate\" glyph=\"decline\"></button>\r\n </div>\r\n </fd-popover-body>\r\n </fd-popover>\r\n </ng-container>\r\n\r\n <fd-popover\r\n #tagPopover\r\n [triggers]=\"[]\"\r\n [focusTrapped]=\"false\"\r\n [closeOnOutsideClick]=\"true\"\r\n [noArrow]=\"false\"\r\n placement=\"bottom\"\r\n [focusAutoCapture]=\"true\"\r\n >\r\n <fd-popover-control>\r\n <div>\r\n <button\r\n fd-button\r\n (click)=\"openPopover($event, tagPopover)\"\r\n fdType=\"transparent\"\r\n glyph=\"sys-add\"\r\n ></button>\r\n </div>\r\n </fd-popover-control>\r\n <fd-popover-body>\r\n <div class=\"new-tag\" (keydown.enter)=\"addTag()\">\r\n <div fd-form-item class=\"row\">\r\n <input fd-form-control type=\"text\" [(ngModel)]=\"currentTagLabel\" id=\"input-1\" placeholder=\" نام\" />\r\n </div>\r\n <div class=\"colors-colection row\">\r\n <div\r\n *ngFor=\"let color of colorList\"\r\n (click)=\"colorClick(color)\"\r\n [ngClass]=\"'fd-info-label--accent-color-' + color\"\r\n [class.selected-color]=\"selectedColor === color\"\r\n class=\"color\"\r\n ></div>\r\n </div>\r\n <div class=\"ok-cancel-btns row\">\r\n <button fd-button [label]=\"'Ok' | bbbTranslate\" [fdType]=\"'emphasized'\" (click)=\"addTag()\"></button>\r\n <button\r\n fd-button\r\n [label]=\"'Cancel' | bbbTranslate\"\r\n [fdType]=\"'transparent'\"\r\n (click)=\"closePopover(tagPopover)\"\r\n ></button>\r\n </div>\r\n </div>\r\n </fd-popover-body>\r\n </fd-popover>\r\n</div>\r\n","import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';\r\n\r\nimport { BaseViewItemPropsComponent, FormPanelService, MetaobjectDataModel } from 'barsa-novin-ray-core';\r\nimport { KanbanViewSetting } from '../Models/kanban-view-setting.interface';\r\n\r\n@Component({\r\n selector: 'bk-kanban-card',\r\n templateUrl: './kanban-card.component.html',\r\n styleUrls: ['./kanban-card.component.scss'],\r\n providers: [FormPanelService],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class KanbanCardComponent extends BaseViewItemPropsComponent implements OnInit {\r\n @Input() index: number;\r\n @Input() mo: MetaobjectDataModel;\r\n @Input() viewSetting: KanbanViewSetting;\r\n @Input() allAvailableAssignees: MetaobjectDataModel[];\r\n\r\n moTasksCount = 4;\r\n moFinishedTasksCount = 2;\r\n moTaskPercentage;\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.moTaskPercentage = Math.floor((this.moFinishedTasksCount / this.moTasksCount) * 100);\r\n }\r\n}\r\n","<fd-card cardType=\"quickView\" class=\"docs-flex-item-margin\" style=\"background: transparent\" ellipsify>\r\n <div class=\"row task-cover\">\r\n <img\r\n [src]=\"\r\n viewSetting.Cover\r\n ? (mo[viewSetting.Cover]?.FileId\r\n | picFieldSrc: 'ID':viewSetting[viewSetting.Cover + 'Column']?.FieldDefId)\r\n : ''\r\n \"\r\n />\r\n </div>\r\n <fdp-action-button-group class=\"card-menu\">\r\n <fdp-button\r\n contentDensity=\"compact\"\r\n glyph=\"overflow\"\r\n buttonType=\"transparent\"\r\n [fdpMenuTriggerFor]=\"basicMenu\"\r\n ></fdp-button>\r\n <fdp-menu #basicMenu id=\"basic-menu\" [xPosition]=\"'before'\">\r\n <fdp-menu-item>{{ 'Edit' | bbbTranslate }}</fdp-menu-item>\r\n <fdp-menu-item>{{ 'Delete' | bbbTranslate }}</fdp-menu-item>\r\n </fdp-menu>\r\n </fdp-action-button-group>\r\n <fd-card-content>\r\n <bsu-ly-layout-container-of-root\r\n *ngIf=\"layout$ | async as layout94\"\r\n [config]=\"layout94\"\r\n [isPanel]=\"false\"\r\n [isRoot]=\"true\"\r\n ></bsu-ly-layout-container-of-root>\r\n </fd-card-content>\r\n <fd-card-footer>\r\n <div class=\"kanban-footer row\">\r\n <div class=\"comment row\">\r\n <fd-icon glyph=\"post\"></fd-icon>\r\n {{ mo[viewSetting.CommentsCount] }}\r\n </div>\r\n <div class=\"attachment row\">\r\n <fd-icon glyph=\"attachment\"></fd-icon>\r\n {{ mo[viewSetting.AttachesCount] }}\r\n </div>\r\n\r\n <div class=\"task row\">\r\n {{ mo[viewSetting.ProgressLabel] }}\r\n <div class=\"circle-icon\">\r\n <fd-icon glyph=\"accept\"></fd-icon>\r\n </div>\r\n </div>\r\n </div>\r\n </fd-card-footer>\r\n</fd-card>\r\n","import { ChangeDetectionStrategy, Component, Input, ViewChild } from '@angular/core';\r\n\r\nimport { ENTER, ESCAPE, SPACE, TAB } from '@angular/cdk/keycodes';\r\nimport { KeyUtil, Size } from '@fundamental-ngx/core/utils';\r\nimport { AvatarGroupComponent, PopoverBodyComponent, PopoverComponent } from '@fundamental-ngx/core';\r\nimport { KanbanBaseComponent } from '../kanban-base/kanban-base.component';\r\nimport { MetaobjectDataModel } from 'barsa-novin-ray-core';\r\nimport { KanbanViewSetting } from '../Models/kanban-view-setting.interface';\r\n\r\n@Component({\r\n selector: 'bk-avatar-group',\r\n templateUrl: './barsa-avatar-group.component.html',\r\n styleUrls: ['./barsa-avatar-group.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class BarsaAvatarGroupComponent extends KanbanBaseComponent {\r\n @ViewChild('overflowPopoverBody')\r\n popoverBodyComponent: PopoverBodyComponent;\r\n @ViewChild(AvatarGroupComponent, { static: true, read: AvatarGroupComponent }) avatarGroupCom: AvatarGroupComponent;\r\n @Input() existedItems: MetaobjectDataModel[];\r\n @Input() availableItems: MetaobjectDataModel[];\r\n @Input() viewSetting: KanbanViewSetting;\r\n @Input() visibleFields: string[] = [];\r\n @Input() addItem: boolean;\r\n @Input() size: Size = 'l';\r\n\r\n personDetails: any = null;\r\n overflowPopoverStage: 'main' | 'detail' = 'main';\r\n overflowItemsCount;\r\n get isDetailStage(): boolean {\r\n return this.overflowPopoverStage === 'detail';\r\n }\r\n\r\n isOpenChanged(isOpened: boolean): void {\r\n if (isOpened) {\r\n this.openOverflowMain();\r\n }\r\n }\r\n\r\n newItem(newItem): void {\r\n const exist = this.existedItems.find((item) => item.Id === newItem.Id);\r\n if (!exist) {\r\n this.existedItems.push(newItem);\r\n }\r\n }\r\n\r\n deleteAvatar(idx: number): void {\r\n this.existedItems.splice(idx, 1);\r\n }\r\n\r\n openOverflowMain(): void {\r\n this.personDetails = null;\r\n this.overflowPopoverStage = 'main';\r\n\r\n setTimeout(() => this.popoverBodyComponent?._focusFirstTabbableElement(), 0);\r\n }\r\n\r\n handleControlClick(event: MouseEvent, popover: PopoverComponent): void {\r\n popover.open();\r\n }\r\n\r\n handleControlKeydown(event: KeyboardEvent, popover: PopoverComponent): void {\r\n if (!KeyUtil.isKeyCode(event, [ESCAPE, TAB, SPACE, ENTER])) {\r\n return;\r\n }\r\n\r\n if (KeyUtil.isKeyCode(event, [ESCAPE, TAB])) {\r\n popover.close();\r\n }\r\n\r\n if (KeyUtil.isKeyCode(event, [SPACE, ENTER])) {\r\n popover.open();\r\n }\r\n }\r\n}\r\n","<fd-avatar-group #avatarGroupCom type=\"group\" [size]=\"size\">\r\n <fd-popover\r\n [noArrow]=\"false\"\r\n [focusTrapped]=\"true\"\r\n [focusAutoCapture]=\"true\"\r\n [triggers]=\"[]\"\r\n [closeOnOutsideClick]=\"true\"\r\n [closeOnEscapeKey]=\"true\"\r\n (isOpenChange)=\"isOpenChanged($event)\"\r\n placement=\"bottom\"\r\n [maxWidth]=\"312\"\r\n #overflowPopover\r\n >\r\n <fd-popover-control\r\n fd-avatar-group-popover-control\r\n [attr.aria-label]=\"\r\n 'Has popup type dialog Conjoined avatars, ' +\r\n ' avatars displayed, ' +\r\n avatarGroupCom?.overflowItemsCount +\r\n ' avatars hidden, activate for complete list'\r\n \"\r\n (click)=\"handleControlClick($event, overflowPopover)\"\r\n (keydown)=\"handleControlKeydown($event, overflowPopover)\"\r\n >\r\n <div *ngFor=\"let person of existedItems\" fd-avatar-group-item>\r\n <fd-avatar\r\n *ngIf=\"!person[viewSetting.AssigneeImage]\"\r\n [label]=\"person[viewSetting.AssigneeName]\"\r\n [title]=\"person[viewSetting.AssigneeName]\"\r\n [ariaLabel]=\"person[viewSetting.AssigneeName] + ' avatar'\"\r\n role=\"img\"\r\n [circle]=\"true\"\r\n [border]=\"true\"\r\n [size]=\"size\"\r\n ></fd-avatar>\r\n\r\n <fd-avatar\r\n *ngIf=\"person[viewSetting.AssigneeImage] as avatar\"\r\n role=\"img\"\r\n [title]=\"person[viewSetting.AssigneeName]\"\r\n [ariaLabel]=\"person[viewSetting.AssigneeName] + ' avatar'\"\r\n [circle]=\"true\"\r\n [border]=\"true\"\r\n [size]=\"size\"\r\n [image]=\"(avatar.FileId | picFieldSrc: 'ID':person.Id) || ''\"\r\n >\r\n </fd-avatar>\r\n </div>\r\n <button\r\n *ngIf=\"avatarGroupCom.overflowItemsCount && avatarGroupCom.overflowItemsCount > 0\"\r\n fd-button\r\n fd-avatar-group-overflow-button\r\n tabindex=\"-1\"\r\n [compact]=\"false\"\r\n [size]=\"size\"\r\n >\r\n <bdi fd-avatar-group-overflow-button-text> +{{ avatarGroupCom.overflowItemsCount }} </bdi>\r\n </button>\r\n </fd-popover-control>\r\n <fd-popover-body #overflowPopoverBody aria-labelledby=\"avatar-group-1-popover-header\" role=\"tooltip\">\r\n <div class=\"fd-popover__wrapper\">\r\n <div fd-popover-body-header>\r\n <div fd-bar barDesign=\"header\">\r\n <div fd-bar-left>\r\n <fd-button-bar\r\n *ngIf=\"isDetailStage\"\r\n (click)=\"openOverflowMain()\"\r\n glyph=\"navigation-left-arrow\"\r\n fdType=\"transparent\"\r\n aria-label=\"Back\"\r\n title=\"Back\"\r\n ></fd-button-bar>\r\n <fd-bar-element id=\"avatar-group-1-popover-header\">\r\n {{ isDetailStage ? 'Business Card' : 'Team Members (' + existedItems?.length + ')' }}\r\n </fd-bar-element>\r\n <fd-bar-element *ngIf=\"isDetailStage\">&nbsp;</fd-bar-element>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div\r\n fd-avatar-group-overflow-body\r\n [noPadding]=\"isDetailStage\"\r\n [noHorizontalScroll]=\"isDetailStage\"\r\n [noVerticalScroll]=\"false\"\r\n >\r\n <ng-container *ngIf=\"overflowPopoverStage === 'main'\">\r\n <ng-container *ngFor=\"let person of existedItems; let idx = index\">\r\n <div fd-avatar-group-overflow-item>\r\n <fd-popover [triggers]=\"['click']\">\r\n <fd-popover-control>\r\n <fd-avatar\r\n *ngIf=\"!person[viewSetting.AssigneeImage]\"\r\n fd-avatar-group-focusable-avatar\r\n [circle]=\"true\"\r\n size=\"s\"\r\n [label]=\"person[viewSetting.AssigneeName]\"\r\n [title]=\"person[viewSetting.AssigneeName]\"\r\n [ariaLabel]=\"person[viewSetting.AssigneeName] + ' avatar'\"\r\n role=\"img\"\r\n ></fd-avatar>\r\n <fd-avatar\r\n *ngIf=\"person[viewSetting.AssigneeImage] as avatar\"\r\n fd-avatar-group-focusable-avatar\r\n role=\"img\"\r\n [title]=\"person[viewSetting.AssigneeName]\"\r\n [ariaLabel]=\"person[viewSetting.AssigneeName] + ' avatar'\"\r\n [circle]=\"true\"\r\n size=\"s\"\r\n [image]=\"(avatar.FileId | picFieldSrc: 'ID':person.Id) || ''\"\r\n ></fd-avatar>\r\n </fd-popover-control>\r\n <fd-popover-body>\r\n <div class=\"avatar-actions\">\r\n <button\r\n fd-button\r\n (click)=\"deleteAvatar(idx)\"\r\n [label]=\"'Delete' | bbbTranslate\"\r\n glyph=\"decline\"\r\n ></button>\r\n <button\r\n fd-button\r\n [label]=\"'Show' | bbbTranslate\"\r\n glyph=\"detail-view\"\r\n ></button>\r\n </div>\r\n </fd-popover-body>\r\n </fd-popover>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </fd-popover-body>\r\n </fd-popover>\r\n</fd-avatar-group>\r\n\r\n<fd-popover\r\n #peoplePopover\r\n *ngIf=\"addItem\"\r\n [triggers]=\"[]\"\r\n [focusTrapped]=\"false\"\r\n [closeOnOutsideClick]=\"true\"\r\n [noArrow]=\"false\"\r\n placement=\"bottom\"\r\n [focusAutoCapture]=\"true\"\r\n>\r\n <fd-popover-control>\r\n <div>\r\n <button\r\n fd-button\r\n (click)=\"openPopover($event, peoplePopover)\"\r\n fdType=\"transparent\"\r\n glyph=\"sys-add\"\r\n ></button>\r\n </div>\r\n </fd-popover-control>\r\n <fd-popover-body>\r\n <ul fd-list>\r\n <li fd-list-item *ngFor=\"let item of availableItems\" (click)=\"newItem(item)\">\r\n <ng-container *ngIf=\"visibleFields.length > 0; else default\">\r\n <ng-container *ngFor=\"let field of visibleFields\">\r\n {{ item[field] }}\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #default>\r\n {{ item }}\r\n </ng-template>\r\n </li>\r\n </ul>\r\n </fd-popover-body>\r\n</fd-popover>\r\n","import { ChangeDetectionStrategy, Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { moveItemInArray } from '@angular/cdk/drag-drop';\r\n\r\nimport { MetaobjectDataModel, ReportViewBaseComponent } from 'barsa-novin-ray-core';\r\nimport { KanbanViewSetting } from '../Models/kanban-view-setting.interface';\r\nimport { DropInfo } from '../Models/drop-info';\r\n\r\n@Component({\r\n selector: 'bk-kanban-view',\r\n templateUrl: './kanban-view.component.html',\r\n styleUrls: ['./kanban-view.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class KanbanViewComponent extends ReportViewBaseComponent<KanbanViewSetting> implements OnInit {\r\n @ViewChild('inputEl', { read: ElementRef }) inputEl: ElementRef<any>;\r\n @Input() kanbanColumns: MetaobjectDataModel[];\r\n @Input() groupbyProperty = 'State';\r\n dropActionTodo: DropInfo;\r\n allAvailableAssignees: MetaobjectDataModel[];\r\n isNewColumnMode = false;\r\n newCard: any = { Id: null, $Caption: null };\r\n newColumn: any = { Id: null, $Caption: null };\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n\r\n const columnsReport = this.viewSetting.ColumnsReport.$Caption;\r\n this._portalService.ReportExecute(columnsReport).subscribe((report) => {\r\n this.kanbanColumns = report.MoDataList;\r\n this._changeDetect();\r\n });\r\n this.formSetting.View.ControlInfo.forEach((c) => (c.InlineEditMode = true));\r\n const assigneesReport = this.viewSetting.AssigneesReport.$Caption;\r\n this._portalService.ReportExecute(assigneesReport).subscribe((report) => {\r\n this.allAvailableAssignees = report.MoDataList;\r\n this._changeDetect();\r\n });\r\n\r\n this.viewSetting = {\r\n ...this.viewSetting,\r\n ...this._findColumn(this.allColumns, [\r\n this.viewSetting.Cover,\r\n this.viewSetting.State,\r\n this.viewSetting.Caption\r\n ])\r\n };\r\n }\r\n\r\n onAddNewColumn(): void {\r\n this.kanbanColumns.push(this.newColumn);\r\n this._cdr.detectChanges();\r\n this._resetNewColumn();\r\n this._scrollInputIntoView();\r\n }\r\n\r\n onActiveNewColumnMode(): void {\r\n this._changeNewColumnMode(true);\r\n }\r\n\r\n onCancelNewColumn(): void {\r\n this._changeNewColumnMode(false);\r\n this._resetNewColumn();\r\n }\r\n\r\n onInitNewCard(groupby: string): void {\r\n this._resetNewCard();\r\n this.newCard[this.groupbyProperty] = groupby;\r\n }\r\n\r\n onAddNewCard(e): void {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n this._addNewCard();\r\n }\r\n\r\n onNewCardInputFocusout(): void {\r\n if (this.newCard.$Caption) {\r\n this._addNewCard();\r\n } else {\r\n this._cancelNewCard();\r\n }\r\n }\r\n\r\n onCancelNewCard(e: MouseEvent): void {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n this._cancelNewCard();\r\n }\r\n\r\n onDrop(event, isColumn?: boolean): void {\r\n let previousIndex;\r\n let currentIndex;\r\n const array = event.container.data;\r\n\r\n if (isColumn) {\r\n previousIndex = event.previousIndex;\r\n currentIndex = event.currentIndex;\r\n } else {\r\n const draggedItemId = this.dropActionTodo.draggedId;\r\n if (!draggedItemId) {\r\n return;\r\n }\r\n const draggedItem = this._getMoById(draggedItemId);\r\n const targetState = this.dropActionTodo.targetState;\r\n previousIndex = array.indexOf(draggedItem);\r\n currentIndex = this.dropActionTodo.targetIndex;\r\n draggedItem.State = targetState;\r\n this._stopDragging();\r\n }\r\n\r\n moveItemInArray(array, previousIndex, currentIndex);\r\n }\r\n\r\n onDragMove(event, draggedMo, draggedIndex: number, targetState: MetaobjectDataModel): void {\r\n const elementFromPoint = document.elementFromPoint(event.pointerPosition.x, event.pointerPosition.y);\r\n\r\n if (targetState) {\r\n }\r\n if (!elementFromPoint) {\r\n this._stopDragging();\r\n return;\r\n }\r\n const targetNodeElement = elementFromPoint.closest('[state]');\r\n if (!targetNodeElement) {\r\n this._stopDragging();\r\n return;\r\n }\r\n this.dropActionTodo = {\r\n draggedId: draggedMo.Id,\r\n targetId: targetNodeElement.getAttribute('id'),\r\n targetState: null,\r\n targetIndex: Number(targetNodeElement.getAttribute('index'))\r\n };\r\n const targetRect = targetNodeElement.getBoundingClientRect();\r\n const oneThird = targetRect.height / 3;\r\n\r\n const isCardTarget = !targetNodeElement.classList.contains('column');\r\n\r\n const isBefore = event.pointerPosition.y - targetRect.top < oneThird && isCardTarget;\r\n\r\n const isAfter = event.pointerPosition.y - targetRect.top > 2 * oneThird && isCardTarget;\r\n\r\n const isInside = !isCardTarget;\r\n\r\n const targetIndex = this.dropActionTodo.targetIndex ?? -1;\r\n const targetMo = this.moDataList[targetIndex];\r\n\r\n if (isCardTarget) {\r\n this.dropActionTodo.targetState = targetMo[this.viewSetting.State];\r\n } else {\r\n this.dropActionTodo.targetState = {\r\n $Caption: targetNodeElement.getAttribute('state')!,\r\n Id: targetNodeElement.getAttribute('id')!,\r\n $TypeDefId: draggedMo[this.viewSetting.State]?.$TypeDefId\r\n };\r\n }\r\n if (isBefore) {\r\n this.dropActionTodo.action = 'before';\r\n this.dropActionTodo.targetIndex = draggedIndex > targetIndex ? targetIndex : targetIndex - 1;\r\n } else if (isAfter) {\r\n this.dropActionTodo.action = 'after';\r\n this.dropActionTodo.targetIndex = draggedIndex < targetIndex ? targetIndex : targetIndex + 1;\r\n } else if (isInside) {\r\n this.dropActionTodo.action = 'inside';\r\n this.dropActionTodo.targetIndex = 0;\r\n }\r\n console.log(this.dropActionTodo.targetState);\r\n this._showDragInfo();\r\n }\r\n private _changeDetect(): void {\r\n this._cdr.detectChanges();\r\n }\r\n\r\n private _stopDragging(): void {\r\n this._clearDragInfo();\r\n this._resetDropActionTodo();\r\n }\r\n\r\n private _changeNewColumnMode(mode: boolean): void {\r\n this.isNewColumnMode = mode;\r\n }\r\n\r\n private _resetDropActionTodo(): void {\r\n this.dropActionTodo = {\r\n targetId: null,\r\n draggedId: null,\r\n targetState: null,\r\n targetIndex: null,\r\n action: null\r\n };\r\n }\r\n\r\n private _scrollInputIntoView(): void {\r\n const inputEl: HTMLInputElement = this.inputEl.nativeElement;\r\n inputEl.focus();\r\n inputEl.scrollIntoView({ inline: 'end' });\r\n }\r\n\r\n private _resetNewColumn(): void {\r\n this.newColumn = { Id: '', $Caption: '' };\r\n }\r\n\r\n private _clearDragInfo(dropped = false): void {\r\n if (dropped) {\r\n this._resetDropActionTodo();\r\n }\r\n const elDom = this._el.nativeElement;\r\n elDom\r\n .querySelectorAll('.drop-before')\r\n .forEach((element) => this._renderer2.removeClass(element, 'drop-before'));\r\n elDom.querySelectorAll('.drop-after').forEach((element) => this._renderer2.removeClass(element, 'drop-after'));\r\n elDom\r\n .querySelectorAll('.drop-inside')\r\n .forEach((element) => this._renderer2.removeClass(element, 'drop-inside'));\r\n }\r\n\r\n private _showDragInfo(): void {\r\n this._clearDragInfo();\r\n if (this.dropActionTodo.targetId) {\r\n const targetNodeElement = this._el.nativeElement.querySelector('#' + this.dropActionTodo.targetId);\r\n if (!targetNodeElement) {\r\n this._resetDropActionTodo();\r\n return;\r\n }\r\n this._renderer2.addClass(targetNodeElement, 'drop-' + this.dropActionTodo?.action);\r\n }\r\n }\r\n\r\n private _addNewCard(): void {\r\n this.moDataList.push(this.newCard);\r\n const currentGroupby = this.newCard[this.groupbyProperty];\r\n this.onInitNewCard(currentGroupby);\r\n }\r\n\r\n private _resetNewCard(): void {\r\n this.newCard = { Id: null, $Caption: null };\r\n }\r\n\r\n private _cancelNewCard(): void {\r\n this._resetNewCard();\r\n }\r\n\r\n private _getMoById(id: string): MetaobjectDataModel {\r\n return this.moDataList.find((c) => c.Id === id);\r\n }\r\n\r\n private _findColumn(allColumns, columnsName: string[]): object {\r\n const columns = {};\r\n columnsName.forEach((name) => {\r\n columns[name + 'Column'] = this._findColumnByDbName.transform(this.allColumns, name);\r\n });\r\n return columns;\r\n }\r\n}\r\n","<fd-layout-panel>\r\n <fd-layout-panel-body [bleed]=\"true\">\r\n <table fd-table *ngIf=\"isCheckList\">\r\n <thead fd-table-header>\r\n <tr fd-table-row>\r\n <th fd-table-cell>\r\n <fd-checkbox\r\n name=\"allCheckbox\"\r\n [ngModel]=\"allChecked\"\r\n (ngModelChange)=\"onAllCheckbox($event)\"\r\n >{{ 'All' | bbbTranslate }}</fd-checkbox\r\n >\r\n </th>\r\n </tr>\r\n </thead>\r\n </table>\r\n </fd-layout-panel-body>\r\n</fd-layout-panel>\r\n\r\n<fd-layout-grid\r\n *ngIf=\"moDataList?.length; else noData\"\r\n class=\"columns\"\r\n cdkDropList\r\n cdkDropListOrientation=\"horizontal\"\r\n [cdkDropListData]=\"kanbanColumns\"\r\n [id]=\"'$Root'\"\r\n (cdkDropListDropped)=\"onDrop($event, true)\"\r\n>\r\n <div\r\n *ngFor=\"let column of kanbanColumns; let columnIndex = index\"\r\n [fdLayoutGridCol]=\"12\"\r\n [colMd]=\"6\"\r\n [colLg]=\"4\"\r\n [colXl]=\"3\"\r\n class=\"column\"\r\n [id]=\"column.Id\"\r\n [attr.state]=\"column.$Caption\"\r\n cdkDrag\r\n >\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnCard;\r\n context: {\r\n column: column,\r\n columnIndex: columnIndex\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n <div\r\n [fdLayoutGridCol]=\"12\"\r\n [colMd]=\"6\"\r\n [colLg]=\"4\"\r\n [colXl]=\"3\"\r\n class=\"newColumn\"\r\n (click)=\"onActiveNewColumnMode()\"\r\n *ngIf=\"!isNewColumnMode; else newColumnInput\"\r\n >\r\n <ng-container>\r\n <span>ستون جدید</span>\r\n </ng-container>\r\n </div>\r\n <ng-template #newColumnInput>\r\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"6\" [colLg]=\"4\" [colXl]=\"3\">\r\n <input\r\n #inputEl\r\n fd-form-control\r\n type=\"text\"\r\n autofocus\r\n (focusout)=\"onCancelNewColumn()\"\r\n [(ngModel)]=\"newColumn.$Caption\"\r\n (keydown.enter)=\"onAddNewColumn()\"\r\n id=\"new-column-name\"\r\n placeholder=\" نام\"\r\n />\r\n </div>\r\n </ng-template>\r\n</fd-layout-grid>\r\n\r\n<!--noData-->\r\n<ng-template #noData>\r\n <bsu-no-data></bsu-no-data>\r\n</ng-template>\r\n\r\n<!--column card-->\r\n<ng-template #columnCard let-column=\"column\" let-columnIndex=\"columnIndex\">\r\n <fd-card cardType=\"quickView\" class=\"docs-flex-item-margin\" ellipsify>\r\n <fd-card-header>\r\n <span fd-card-title>{{ column.$Caption }}</span>\r\n </fd-card-header>\r\n <fd-card-content\r\n cdkDropList\r\n (cdkDropListDropped)=\"onDrop($event)\"\r\n [cdkDropListSortingDisabled]=\"true\"\r\n [cdkDropListData]=\"moDataList\"\r\n >\r\n <ng-container *ngFor=\"let mo of moDataList; let index = index\">\r\n <bk-kanban-card\r\n [mo]=\"mo\"\r\n [viewSetting]=\"viewSetting\"\r\n [formSetting]=\"formSetting\"\r\n [allAvailableAssignees]=\"allAvailableAssignees\"\r\n [index]=\"index\"\r\n *ngIf=\"mo[viewSetting.State].$Caption === column.$Caption\"\r\n [attr.id]=\"mo.Id\"\r\n [inlineEditMode]=\"true\"\r\n [isChecked]=\"true\"\r\n [attr.state]=\"column.$Caption\"\r\n [attr.index]=\"index\"\r\n [class.selected]=\"mo.$IsChecked\"\r\n (cdkDragMoved)=\"onDragMove($event, mo, index, column)\"\r\n (click)=\"onRowCheck({mo, index})\"\r\n (dblclick)=\"onRowClick({mo, index})\"\r\n cdkDrag\r\n >\r\n </bk-kanban-card>\r\n </ng-container>\r\n </fd-card-content>\r\n <fd-card-footer class=\"column-footer\">\r\n <div class=\"new-card\" *ngIf=\"newCard[groupbyProperty] === column.$Caption; else addNewCard\">\r\n <fd-card>\r\n <div fd-form-item>\r\n <textarea\r\n fd-form-control\r\n [autofocus]=\"true\"\r\n [(ngModel)]=\"newCard.$Caption\"\r\n (keydown.enter)=\"onAddNewCard($event)\"\r\n (focusout)=\"onNewCardInputFocusout()\"\r\n [placeholder]=\"'Title' | bbbTranslate\"\r\n ></textarea>\r\n </div>\r\n </fd-card>\r\n <div class=\"new-card-actions\">\r\n <button\r\n fd-button\r\n (click)=\"onAddNewCard($event)\"\r\n fdType=\"emphasized\"\r\n class=\"add-card-btn\"\r\n [label]=\"'افزودن'\"\r\n ></button>\r\n <fd-icon (mousedown)=\"onCancelNewCard($event)\" glyph=\"decline\"></fd-icon>\r\n </div>\r\n </div>\r\n\r\n <ng-template #addNewCard>\r\n <div class=\"add-new-card\" (click)=\"onInitNewCard(column.$Caption)\">\r\n <span>\r\n <fd-icon glyph=\"add\"></fd-icon>\r\n کارت جدید\r\n </span>\r\n </div>\r\n </ng-template>\r\n </fd-card-footer>\r\n </fd-card>\r\n</ng-template>\r\n","import { ComponentFactoryResolver, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { BarsaNovinRayCoreModule, BaseModule, DynamicComponentService } from 'barsa-novin-ray-core';\r\nimport { KanbanViewComponent } from './kanban-view/kanban-view.component';\r\nimport { FundamentalNgxCoreModule } from '@fundamental-ngx/core';\r\nimport { BarsaAvatarGroupComponent } from './avatar-group/barsa-avatar-group.component';\r\nimport { FundamentalNgxPlatformModule } from '@fundamental-ngx/platform';\r\nimport { BarsaEchartsModule } from 'barsa-echarts';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { KanbanCardComponent } from './kanban-card/kanban-card.component';\r\nimport { KanbanTagsComponent } from './kanban-tags/kanban-tags.component';\r\nimport { KanbanBaseComponent } from './kanban-base/kanban-base.component';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { BarsaSapUiModule } from 'barsa-sap-ui';\r\n\r\nconst components = [\r\n KanbanViewComponent,\r\n BarsaAvatarGroupComponent,\r\n KanbanCardComponent,\r\n KanbanTagsComponent,\r\n KanbanBaseComponent\r\n];\r\n\r\n@NgModule({\r\n declarations: [...components],\r\n schemas: [NO_ERRORS_SCHEMA],\r\n imports: [\r\n CommonModule,\r\n BarsaNovinRayCoreModule,\r\n FundamentalNgxCoreModule,\r\n FundamentalNgxPlatformModule,\r\n BarsaEchartsModule,\r\n BarsaSapUiModule,\r\n FormsModule,\r\n DragDropModule,\r\n HttpClientModule\r\n ],\r\n exports: [...components]\r\n})\r\nexport class BarsaKanbanModule extends BaseModule {\r\n protected dynamicComponents = [...components];\r\n\r\n constructor(protected dcm: DynamicComponentService, protected componentFactoryResolver: ComponentFactoryResolver) {\r\n super(dcm, componentFactoryResolver, 'BarsaKanbanModule');\r\n }\r\n}\r\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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"}
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';\r\n\r\nimport { BaseComponent } from 'barsa-novin-ray-core';\r\nimport { PopoverComponent } from '@fundamental-ngx/core';\r\n\r\n@Component({\r\n selector: 'bk-kanban-base',\r\n templateUrl: './kanban-base.component.html',\r\n styleUrls: ['./kanban-base.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class KanbanBaseComponent extends BaseComponent {\r\n openPopover(e, popover: PopoverComponent): void {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n popover.toggle();\r\n }\r\n\r\n closePopover(popover: PopoverComponent): void {\r\n popover.close();\r\n }\r\n}\r\n","<p>kanban-base works!</p>\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\n\r\nimport { KanbanBaseComponent } from '../kanban-base/kanban-base.component';\r\nimport { KanbanViewSetting } from '../Models/kanban-view-setting.interface';\r\nimport { MetaobjectDataModel } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bk-kanban-tags',\r\n templateUrl: './kanban-tags.component.html',\r\n styleUrls: ['./kanban-tags.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class KanbanTagsComponent extends KanbanBaseComponent {\r\n @Input() tags: MetaobjectDataModel[];\r\n @Input() viewSetting: KanbanViewSetting;\r\n colorList = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10'];\r\n currentTagLabel = '';\r\n selectedColor = '';\r\n\r\n colorClick(color: string): void {\r\n this.selectedColor = color;\r\n }\r\n\r\n addTag(): void {\r\n const newTag: MetaobjectDataModel = { Id: '', $Caption: '' };\r\n newTag[this.viewSetting.TagColor] = this.selectedColor;\r\n newTag[this.viewSetting.TagName] = this.currentTagLabel;\r\n this.tags.push(newTag);\r\n this.currentTagLabel = '';\r\n this.selectedColor = '';\r\n }\r\n\r\n deleteTag(index: number): void {\r\n this.tags.splice(index, 1);\r\n }\r\n}\r\n","<div class=\"row tags-container\">\r\n <ng-container *ngFor=\"let tag of tags; let i = index\">\r\n <fd-popover placement=\"bottom\" [closeOnOutsideClick]=\"true\">\r\n <fd-popover-control>\r\n <div class=\"tag\">\r\n <fd-info-label\r\n [label]=\"tag[viewSetting.TagName]\"\r\n [color]=\"tag[viewSetting.TagColor]\"\r\n [title]=\"tag[viewSetting.TagName]\"\r\n ></fd-info-label>\r\n </div>\r\n </fd-popover-control>\r\n <fd-popover-body>\r\n <div class=\"tag-delete\">\r\n <button fd-button (click)=\"deleteTag(i)\" [label]=\"'Delete' | bbbTranslate\" glyph=\"decline\"></button>\r\n </div>\r\n </fd-popover-body>\r\n </fd-popover>\r\n </ng-container>\r\n\r\n <fd-popover\r\n #tagPopover\r\n [triggers]=\"[]\"\r\n [focusTrapped]=\"false\"\r\n [closeOnOutsideClick]=\"true\"\r\n [noArrow]=\"false\"\r\n placement=\"bottom\"\r\n [focusAutoCapture]=\"true\"\r\n >\r\n <fd-popover-control>\r\n <div>\r\n <button\r\n fd-button\r\n (click)=\"openPopover($event, tagPopover)\"\r\n fdType=\"transparent\"\r\n glyph=\"sys-add\"\r\n ></button>\r\n </div>\r\n </fd-popover-control>\r\n <fd-popover-body>\r\n <div class=\"new-tag\" (keydown.enter)=\"addTag()\">\r\n <div fd-form-item class=\"row\">\r\n <input fd-form-control type=\"text\" [(ngModel)]=\"currentTagLabel\" id=\"input-1\" placeholder=\" نام\" />\r\n </div>\r\n <div class=\"colors-colection row\">\r\n <div\r\n *ngFor=\"let color of colorList\"\r\n (click)=\"colorClick(color)\"\r\n [ngClass]=\"'fd-info-label--accent-color-' + color\"\r\n [class.selected-color]=\"selectedColor === color\"\r\n class=\"color\"\r\n ></div>\r\n </div>\r\n <div class=\"ok-cancel-btns row\">\r\n <button fd-button [label]=\"'Ok' | bbbTranslate\" [fdType]=\"'emphasized'\" (click)=\"addTag()\"></button>\r\n <button\r\n fd-button\r\n [label]=\"'Cancel' | bbbTranslate\"\r\n [fdType]=\"'transparent'\"\r\n (click)=\"closePopover(tagPopover)\"\r\n ></button>\r\n </div>\r\n </div>\r\n </fd-popover-body>\r\n </fd-popover>\r\n</div>\r\n","import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';\r\n\r\nimport { BaseViewItemPropsComponent, FormPanelService, MetaobjectDataModel } from 'barsa-novin-ray-core';\r\nimport { KanbanViewSetting } from '../Models/kanban-view-setting.interface';\r\n\r\n@Component({\r\n selector: 'bk-kanban-card',\r\n templateUrl: './kanban-card.component.html',\r\n styleUrls: ['./kanban-card.component.scss'],\r\n providers: [FormPanelService],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class KanbanCardComponent extends BaseViewItemPropsComponent implements OnInit {\r\n @Input() index: number;\r\n @Input() mo: MetaobjectDataModel;\r\n @Input() viewSetting: KanbanViewSetting;\r\n @Input() allAvailableAssignees: MetaobjectDataModel[];\r\n\r\n moTasksCount = 4;\r\n moFinishedTasksCount = 2;\r\n moTaskPercentage;\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.moTaskPercentage = Math.floor((this.moFinishedTasksCount / this.moTasksCount) * 100);\r\n }\r\n}\r\n","<fd-card cardType=\"quickView\" class=\"docs-flex-item-margin\" style=\"background: transparent\" ellipsify>\r\n <div class=\"row task-cover\">\r\n <img\r\n [src]=\"\r\n viewSetting.Cover\r\n ? (mo[viewSetting.Cover]?.FileId\r\n | picFieldSrc: 'ID':viewSetting[viewSetting.Cover + 'Column']?.FieldDefId)\r\n : ''\r\n \"\r\n />\r\n </div>\r\n <fdp-action-button-group class=\"card-menu\">\r\n <fdp-button\r\n contentDensity=\"compact\"\r\n glyph=\"overflow\"\r\n buttonType=\"transparent\"\r\n [fdpMenuTriggerFor]=\"basicMenu\"\r\n ></fdp-button>\r\n <fdp-menu #basicMenu id=\"basic-menu\" [xPosition]=\"'before'\">\r\n <fdp-menu-item>{{ 'Edit' | bbbTranslate }}</fdp-menu-item>\r\n <fdp-menu-item>{{ 'Delete' | bbbTranslate }}</fdp-menu-item>\r\n </fdp-menu>\r\n </fdp-action-button-group>\r\n <fd-card-content>\r\n <bsu-ly-layout-container-of-root\r\n *ngIf=\"layout$ | async as layout94\"\r\n [config]=\"layout94\"\r\n [isPanel]=\"false\"\r\n [isRoot]=\"true\"\r\n ></bsu-ly-layout-container-of-root>\r\n </fd-card-content>\r\n <fd-card-footer>\r\n <div class=\"kanban-footer row\">\r\n <div class=\"comment row\">\r\n <fd-icon glyph=\"post\"></fd-icon>\r\n {{ mo[viewSetting.CommentsCount] }}\r\n </div>\r\n <div class=\"attachment row\">\r\n <fd-icon glyph=\"attachment\"></fd-icon>\r\n {{ mo[viewSetting.AttachesCount] }}\r\n </div>\r\n\r\n <div class=\"task row\">\r\n {{ mo[viewSetting.ProgressLabel] }}\r\n <div class=\"circle-icon\">\r\n <fd-icon glyph=\"accept\"></fd-icon>\r\n </div>\r\n </div>\r\n </div>\r\n </fd-card-footer>\r\n</fd-card>\r\n","import { ChangeDetectionStrategy, Component, Input, ViewChild } from '@angular/core';\r\n\r\nimport { ENTER, ESCAPE, SPACE, TAB } from '@angular/cdk/keycodes';\r\nimport { KeyUtil, Size } from '@fundamental-ngx/core/utils';\r\nimport { AvatarGroupComponent, PopoverBodyComponent, PopoverComponent } from '@fundamental-ngx/core';\r\nimport { KanbanBaseComponent } from '../kanban-base/kanban-base.component';\r\nimport { MetaobjectDataModel } from 'barsa-novin-ray-core';\r\nimport { KanbanViewSetting } from '../Models/kanban-view-setting.interface';\r\n\r\n@Component({\r\n selector: 'bk-avatar-group',\r\n templateUrl: './barsa-avatar-group.component.html',\r\n styleUrls: ['./barsa-avatar-group.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class BarsaAvatarGroupComponent extends KanbanBaseComponent {\r\n @ViewChild('overflowPopoverBody')\r\n popoverBodyComponent: PopoverBodyComponent;\r\n @ViewChild(AvatarGroupComponent, { static: true, read: AvatarGroupComponent }) avatarGroupCom: AvatarGroupComponent;\r\n @Input() existedItems: MetaobjectDataModel[];\r\n @Input() availableItems: MetaobjectDataModel[];\r\n @Input() viewSetting: KanbanViewSetting;\r\n @Input() visibleFields: string[] = [];\r\n @Input() addItem: boolean;\r\n @Input() size: Size = 'l';\r\n\r\n personDetails: any = null;\r\n overflowPopoverStage: 'main' | 'detail' = 'main';\r\n overflowItemsCount;\r\n get isDetailStage(): boolean {\r\n return this.overflowPopoverStage === 'detail';\r\n }\r\n\r\n isOpenChanged(isOpened: boolean): void {\r\n if (isOpened) {\r\n this.openOverflowMain();\r\n }\r\n }\r\n\r\n newItem(newItem): void {\r\n const exist = this.existedItems.find((item) => item.Id === newItem.Id);\r\n if (!exist) {\r\n this.existedItems.push(newItem);\r\n }\r\n }\r\n\r\n deleteAvatar(idx: number): void {\r\n this.existedItems.splice(idx, 1);\r\n }\r\n\r\n openOverflowMain(): void {\r\n this.personDetails = null;\r\n this.overflowPopoverStage = 'main';\r\n\r\n setTimeout(() => this.popoverBodyComponent?._focusFirstTabbableElement(), 0);\r\n }\r\n\r\n handleControlClick(event: MouseEvent, popover: PopoverComponent): void {\r\n popover.open();\r\n }\r\n\r\n handleControlKeydown(event: KeyboardEvent, popover: PopoverComponent): void {\r\n if (!KeyUtil.isKeyCode(event, [ESCAPE, TAB, SPACE, ENTER])) {\r\n return;\r\n }\r\n\r\n if (KeyUtil.isKeyCode(event, [ESCAPE, TAB])) {\r\n popover.close();\r\n }\r\n\r\n if (KeyUtil.isKeyCode(event, [SPACE, ENTER])) {\r\n popover.open();\r\n }\r\n }\r\n}\r\n","<fd-avatar-group #avatarGroupCom type=\"group\" [size]=\"size\">\r\n <fd-popover\r\n [noArrow]=\"false\"\r\n [focusTrapped]=\"true\"\r\n [focusAutoCapture]=\"true\"\r\n [triggers]=\"[]\"\r\n [closeOnOutsideClick]=\"true\"\r\n [closeOnEscapeKey]=\"true\"\r\n (isOpenChange)=\"isOpenChanged($event)\"\r\n placement=\"bottom\"\r\n [maxWidth]=\"312\"\r\n #overflowPopover\r\n >\r\n <fd-popover-control\r\n fd-avatar-group-popover-control\r\n [attr.aria-label]=\"\r\n 'Has popup type dialog Conjoined avatars, ' +\r\n ' avatars displayed, ' +\r\n avatarGroupCom?.overflowItemsCount +\r\n ' avatars hidden, activate for complete list'\r\n \"\r\n (click)=\"handleControlClick($event, overflowPopover)\"\r\n (keydown)=\"handleControlKeydown($event, overflowPopover)\"\r\n >\r\n <div *ngFor=\"let person of existedItems\" fd-avatar-group-item>\r\n <fd-avatar\r\n *ngIf=\"!person[viewSetting.AssigneeImage]\"\r\n [label]=\"person[viewSetting.AssigneeName]\"\r\n [title]=\"person[viewSetting.AssigneeName]\"\r\n [ariaLabel]=\"person[viewSetting.AssigneeName] + ' avatar'\"\r\n role=\"img\"\r\n [circle]=\"true\"\r\n [border]=\"true\"\r\n [size]=\"size\"\r\n ></fd-avatar>\r\n\r\n <fd-avatar\r\n *ngIf=\"person[viewSetting.AssigneeImage] as avatar\"\r\n role=\"img\"\r\n [title]=\"person[viewSetting.AssigneeName]\"\r\n [ariaLabel]=\"person[viewSetting.AssigneeName] + ' avatar'\"\r\n [circle]=\"true\"\r\n [border]=\"true\"\r\n [size]=\"size\"\r\n [image]=\"(avatar.FileId | picFieldSrc: 'ID':person.Id) || ''\"\r\n >\r\n </fd-avatar>\r\n </div>\r\n <button\r\n *ngIf=\"avatarGroupCom.overflowItemsCount && avatarGroupCom.overflowItemsCount > 0\"\r\n fd-button\r\n fd-avatar-group-overflow-button\r\n tabindex=\"-1\"\r\n [compact]=\"false\"\r\n [size]=\"size\"\r\n >\r\n <bdi fd-avatar-group-overflow-button-text> +{{ avatarGroupCom.overflowItemsCount }} </bdi>\r\n </button>\r\n </fd-popover-control>\r\n <fd-popover-body #overflowPopoverBody aria-labelledby=\"avatar-group-1-popover-header\" role=\"tooltip\">\r\n <div class=\"fd-popover__wrapper\">\r\n <div fd-popover-body-header>\r\n <div fd-bar barDesign=\"header\">\r\n <div fd-bar-left>\r\n <fd-button-bar\r\n *ngIf=\"isDetailStage\"\r\n (click)=\"openOverflowMain()\"\r\n glyph=\"navigation-left-arrow\"\r\n fdType=\"transparent\"\r\n aria-label=\"Back\"\r\n title=\"Back\"\r\n ></fd-button-bar>\r\n <fd-bar-element id=\"avatar-group-1-popover-header\">\r\n {{ isDetailStage ? 'Business Card' : 'Team Members (' + existedItems?.length + ')' }}\r\n </fd-bar-element>\r\n <fd-bar-element *ngIf=\"isDetailStage\">&nbsp;</fd-bar-element>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div\r\n fd-avatar-group-overflow-body\r\n [noPadding]=\"isDetailStage\"\r\n [noHorizontalScroll]=\"isDetailStage\"\r\n [noVerticalScroll]=\"false\"\r\n >\r\n <ng-container *ngIf=\"overflowPopoverStage === 'main'\">\r\n <ng-container *ngFor=\"let person of existedItems; let idx = index\">\r\n <div fd-avatar-group-overflow-item>\r\n <fd-popover [triggers]=\"['click']\">\r\n <fd-popover-control>\r\n <fd-avatar\r\n *ngIf=\"!person[viewSetting.AssigneeImage]\"\r\n fd-avatar-group-focusable-avatar\r\n [circle]=\"true\"\r\n size=\"s\"\r\n [label]=\"person[viewSetting.AssigneeName]\"\r\n [title]=\"person[viewSetting.AssigneeName]\"\r\n [ariaLabel]=\"person[viewSetting.AssigneeName] + ' avatar'\"\r\n role=\"img\"\r\n ></fd-avatar>\r\n <fd-avatar\r\n *ngIf=\"person[viewSetting.AssigneeImage] as avatar\"\r\n fd-avatar-group-focusable-avatar\r\n role=\"img\"\r\n [title]=\"person[viewSetting.AssigneeName]\"\r\n [ariaLabel]=\"person[viewSetting.AssigneeName] + ' avatar'\"\r\n [circle]=\"true\"\r\n size=\"s\"\r\n [image]=\"(avatar.FileId | picFieldSrc: 'ID':person.Id) || ''\"\r\n ></fd-avatar>\r\n </fd-popover-control>\r\n <fd-popover-body>\r\n <div class=\"avatar-actions\">\r\n <button\r\n fd-button\r\n (click)=\"deleteAvatar(idx)\"\r\n [label]=\"'Delete' | bbbTranslate\"\r\n glyph=\"decline\"\r\n ></button>\r\n <button\r\n fd-button\r\n [label]=\"'Show' | bbbTranslate\"\r\n glyph=\"detail-view\"\r\n ></button>\r\n </div>\r\n </fd-popover-body>\r\n </fd-popover>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </fd-popover-body>\r\n </fd-popover>\r\n</fd-avatar-group>\r\n\r\n<fd-popover\r\n #peoplePopover\r\n *ngIf=\"addItem\"\r\n [triggers]=\"[]\"\r\n [focusTrapped]=\"false\"\r\n [closeOnOutsideClick]=\"true\"\r\n [noArrow]=\"false\"\r\n placement=\"bottom\"\r\n [focusAutoCapture]=\"true\"\r\n>\r\n <fd-popover-control>\r\n <div>\r\n <button\r\n fd-button\r\n (click)=\"openPopover($event, peoplePopover)\"\r\n fdType=\"transparent\"\r\n glyph=\"sys-add\"\r\n ></button>\r\n </div>\r\n </fd-popover-control>\r\n <fd-popover-body>\r\n <ul fd-list>\r\n <li fd-list-item *ngFor=\"let item of availableItems\" (click)=\"newItem(item)\">\r\n <ng-container *ngIf=\"visibleFields.length > 0; else default\">\r\n <ng-container *ngFor=\"let field of visibleFields\">\r\n {{ item[field] }}\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #default>\r\n {{ item }}\r\n </ng-template>\r\n </li>\r\n </ul>\r\n </fd-popover-body>\r\n</fd-popover>\r\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>\r\n <fd-layout-panel-body [bleed]=\"true\">\r\n <table fd-table *ngIf=\"isCheckList\">\r\n <thead fd-table-header>\r\n <tr fd-table-row>\r\n <th fd-table-cell>\r\n <fd-checkbox\r\n name=\"allCheckbox\"\r\n [ngModel]=\"allChecked\"\r\n (ngModelChange)=\"onAllCheckbox($event)\"\r\n >{{ 'All' | bbbTranslate }}</fd-checkbox\r\n >\r\n </th>\r\n </tr>\r\n </thead>\r\n </table>\r\n </fd-layout-panel-body>\r\n</fd-layout-panel>\r\n\r\n<fd-layout-grid\r\n *ngIf=\"moDataList?.length; else noData\"\r\n class=\"columns\"\r\n cdkDropList\r\n cdkDropListOrientation=\"horizontal\"\r\n [cdkDropListData]=\"kanbanColumns\"\r\n [id]=\"'$Root'\"\r\n (cdkDropListDropped)=\"onDrop($event, true)\"\r\n>\r\n <div\r\n *ngFor=\"let column of kanbanColumns; let columnIndex = index\"\r\n [fdLayoutGridCol]=\"12\"\r\n [colMd]=\"6\"\r\n [colLg]=\"4\"\r\n [colXl]=\"3\"\r\n class=\"column\"\r\n [id]=\"column.Id\"\r\n [attr.state]=\"column.$Caption\"\r\n cdkDrag\r\n >\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnCard;\r\n context: {\r\n column: column,\r\n columnIndex: columnIndex\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n <div\r\n [fdLayoutGridCol]=\"12\"\r\n [colMd]=\"6\"\r\n [colLg]=\"4\"\r\n [colXl]=\"3\"\r\n class=\"newColumn\"\r\n (click)=\"onActiveNewColumnMode()\"\r\n *ngIf=\"!isNewColumnMode; else newColumnInput\"\r\n >\r\n <ng-container>\r\n <span>ستون جدید</span>\r\n </ng-container>\r\n </div>\r\n <ng-template #newColumnInput>\r\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"6\" [colLg]=\"4\" [colXl]=\"3\">\r\n <input\r\n #inputEl\r\n fd-form-control\r\n type=\"text\"\r\n autofocus\r\n (focusout)=\"onCancelNewColumn()\"\r\n [(ngModel)]=\"newColumn.$Caption\"\r\n (keydown.enter)=\"onAddNewColumn()\"\r\n id=\"new-column-name\"\r\n placeholder=\" نام\"\r\n />\r\n </div>\r\n </ng-template>\r\n</fd-layout-grid>\r\n\r\n<!--noData-->\r\n<ng-template #noData>\r\n <bsu-no-data></bsu-no-data>\r\n</ng-template>\r\n\r\n<!--column card-->\r\n<ng-template #columnCard let-column=\"column\" let-columnIndex=\"columnIndex\">\r\n <fd-card cardType=\"quickView\" class=\"docs-flex-item-margin\" ellipsify>\r\n <fd-card-header>\r\n <span fd-card-title>{{ column.$Caption }}</span>\r\n </fd-card-header>\r\n <fd-card-content\r\n cdkDropList\r\n (cdkDropListDropped)=\"onDrop($event)\"\r\n [cdkDropListSortingDisabled]=\"true\"\r\n [cdkDropListData]=\"moDataList\"\r\n >\r\n <ng-container *ngFor=\"let mo of moDataList; let index = index\">\r\n <bk-kanban-card\r\n [mo]=\"mo\"\r\n [viewSetting]=\"viewSetting\"\r\n [formSetting]=\"formSetting\"\r\n [allAvailableAssignees]=\"allAvailableAssignees\"\r\n [index]=\"index\"\r\n *ngIf=\"mo[viewSetting.State].$Caption === column.$Caption\"\r\n [attr.id]=\"mo.Id\"\r\n [inlineEditMode]=\"true\"\r\n [isChecked]=\"true\"\r\n [attr.state]=\"column.$Caption\"\r\n [attr.index]=\"index\"\r\n [class.selected]=\"mo.$IsChecked\"\r\n (cdkDragMoved)=\"onDragMove($event, mo, index, column)\"\r\n (click)=\"onRowCheck({mo, index})\"\r\n (dblclick)=\"onRowClick({mo, index})\"\r\n cdkDrag\r\n >\r\n </bk-kanban-card>\r\n </ng-container>\r\n </fd-card-content>\r\n <fd-card-footer class=\"column-footer\">\r\n <div class=\"new-card\" *ngIf=\"newCard[groupbyProperty] === column.$Caption; else addNewCard\">\r\n <fd-card>\r\n <div fd-form-item>\r\n <textarea\r\n fd-form-control\r\n [autofocus]=\"true\"\r\n [(ngModel)]=\"newCard.$Caption\"\r\n (keydown.enter)=\"onAddNewCard($event)\"\r\n (focusout)=\"onNewCardInputFocusout()\"\r\n [placeholder]=\"'Title' | bbbTranslate\"\r\n ></textarea>\r\n </div>\r\n </fd-card>\r\n <div class=\"new-card-actions\">\r\n <button\r\n fd-button\r\n (click)=\"onAddNewCard($event)\"\r\n fdType=\"emphasized\"\r\n class=\"add-card-btn\"\r\n [label]=\"'افزودن'\"\r\n ></button>\r\n <fd-icon (mousedown)=\"onCancelNewCard($event)\" glyph=\"decline\"></fd-icon>\r\n </div>\r\n </div>\r\n\r\n <ng-template #addNewCard>\r\n <div class=\"add-new-card\" (click)=\"onInitNewCard(column.$Caption)\">\r\n <span>\r\n <fd-icon glyph=\"add\"></fd-icon>\r\n کارت جدید\r\n </span>\r\n </div>\r\n </ng-template>\r\n </fd-card-footer>\r\n </fd-card>\r\n</ng-template>\r\n","import { ComponentFactoryResolver, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { BarsaNovinRayCoreModule, BaseModule, DynamicComponentService } from 'barsa-novin-ray-core';\r\nimport { KanbanViewComponent } from './kanban-view/kanban-view.component';\r\nimport { FundamentalNgxCoreModule } from '@fundamental-ngx/core';\r\nimport { BarsaAvatarGroupComponent } from './avatar-group/barsa-avatar-group.component';\r\nimport { FundamentalNgxPlatformModule } from '@fundamental-ngx/platform';\r\nimport { BarsaEchartsModule } from 'barsa-echarts';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { KanbanCardComponent } from './kanban-card/kanban-card.component';\r\nimport { KanbanTagsComponent } from './kanban-tags/kanban-tags.component';\r\nimport { KanbanBaseComponent } from './kanban-base/kanban-base.component';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { BarsaSapUiModule } from 'barsa-sap-ui';\r\n\r\nconst components = [\r\n KanbanViewComponent,\r\n BarsaAvatarGroupComponent,\r\n KanbanCardComponent,\r\n KanbanTagsComponent,\r\n KanbanBaseComponent\r\n];\r\n\r\n@NgModule({\r\n declarations: [...components],\r\n schemas: [NO_ERRORS_SCHEMA],\r\n imports: [\r\n CommonModule,\r\n BarsaNovinRayCoreModule,\r\n FundamentalNgxCoreModule,\r\n FundamentalNgxPlatformModule,\r\n BarsaEchartsModule,\r\n BarsaSapUiModule,\r\n FormsModule,\r\n DragDropModule,\r\n HttpClientModule\r\n ],\r\n exports: [...components]\r\n})\r\nexport class BarsaKanbanModule extends BaseModule {\r\n protected dynamicComponents = [...components];\r\n\r\n constructor(protected dcm: DynamicComponentService, protected componentFactoryResolver: ComponentFactoryResolver) {\r\n super(dcm, componentFactoryResolver, 'BarsaKanbanModule');\r\n }\r\n}\r\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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "barsa-kanban",
3
- "version": "1.0.340",
3
+ "version": "1.0.342",
4
4
  "peerDependencies": {
5
5
  "@angular/core": "^14.2.7",
6
6
  "@angular/common": "^14.2.7"