@colijnit/corecomponents_v12 256.1.7 → 256.1.8

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.
@@ -13402,9 +13402,11 @@
13402
13402
  }
13403
13403
 
13404
13404
  var TooltipComponent = /** @class */ (function () {
13405
- function TooltipComponent(_elementRef, _changeDetector) {
13405
+ function TooltipComponent(_elementRef, _changeDetector, _renderer) {
13406
13406
  this._elementRef = _elementRef;
13407
13407
  this._changeDetector = _changeDetector;
13408
+ this._renderer = _renderer;
13409
+ this.tooltipClosed = new i0.EventEmitter();
13408
13410
  this.top = -100;
13409
13411
  this.left = -100;
13410
13412
  this.bottom = false;
@@ -13429,6 +13431,17 @@
13429
13431
  setTimeout(function () {
13430
13432
  _this._positionTooltip();
13431
13433
  });
13434
+ this._documentClickListener = this._renderer.listen('document', 'click', function (event) {
13435
+ if (!_this._elementRef.nativeElement.contains(event.target)) {
13436
+ _this.closeTooltip();
13437
+ }
13438
+ });
13439
+ };
13440
+ TooltipComponent.prototype.ngOnDestroy = function () {
13441
+ // Remove the click listener to prevent memory leaks
13442
+ if (this._documentClickListener) {
13443
+ this._documentClickListener();
13444
+ }
13432
13445
  };
13433
13446
  TooltipComponent.prototype._positionTooltip = function () {
13434
13447
  if (this.hostElement && this._elementRef && this._elementRef.nativeElement) {
@@ -13449,6 +13462,9 @@
13449
13462
  this._changeDetector.detectChanges();
13450
13463
  }
13451
13464
  };
13465
+ TooltipComponent.prototype.closeTooltip = function () {
13466
+ this.tooltipClosed.emit();
13467
+ };
13452
13468
  return TooltipComponent;
13453
13469
  }());
13454
13470
  TooltipComponent.decorators = [
@@ -13468,11 +13484,13 @@
13468
13484
  ];
13469
13485
  TooltipComponent.ctorParameters = function () { return [
13470
13486
  { type: i0.ElementRef },
13471
- { type: i0.ChangeDetectorRef }
13487
+ { type: i0.ChangeDetectorRef },
13488
+ { type: i0.Renderer2 }
13472
13489
  ]; };
13473
13490
  TooltipComponent.propDecorators = {
13474
13491
  hostElement: [{ type: i0.Input }],
13475
13492
  toolTip: [{ type: i0.Input }],
13493
+ tooltipClosed: [{ type: i0.Output }],
13476
13494
  showClass: [{ type: i0.HostBinding, args: ['class.co-tooltip',] }],
13477
13495
  top: [{ type: i0.HostBinding, args: ["style.top.px",] }],
13478
13496
  left: [{ type: i0.HostBinding, args: ["style.left.px",] }],
@@ -14544,6 +14562,10 @@
14544
14562
  HourSchedulingExpandableComponent.prototype.allowDrop = function (event, hour) {
14545
14563
  event.preventDefault();
14546
14564
  event.stopPropagation();
14565
+ var target = event.target;
14566
+ if (!target.classList.contains('drag-over')) {
14567
+ target.classList.add('drag-over');
14568
+ }
14547
14569
  if (this.currentDraggingObject) {
14548
14570
  var newStartDate_1 = this.convertDateToEuropean(this.currentDraggingObject.start);
14549
14571
  var hourSplit = hour.split(":");
@@ -14557,6 +14579,12 @@
14557
14579
  }
14558
14580
  }
14559
14581
  };
14582
+ HourSchedulingExpandableComponent.prototype.handleDragLeave = function (event) {
14583
+ var target = event.target;
14584
+ if (target.classList.contains('drag-over')) {
14585
+ target.classList.remove('drag-over');
14586
+ }
14587
+ };
14560
14588
  // Triggered when resizing starts
14561
14589
  HourSchedulingExpandableComponent.prototype.onResizeStart = function (event, obj, direction) {
14562
14590
  this.resizing = true;
@@ -14671,7 +14699,7 @@
14671
14699
  HourSchedulingExpandableComponent.decorators = [
14672
14700
  { type: i0.Component, args: [{
14673
14701
  selector: 'co-hour-scheduling-expandable',
14674
- template: "\n <div class=\"wrapper\">\n <div class=\"time-block\" *ngFor=\"let hour of hourLabels\">\n <div class=\"hour-label\"><span [textContent]=\"hour\"></span></div>\n\n <div class=\"object-display\">\n <div class=\"first-half-hour object-half\" (dragover)=\"allowDrop($event, hour)\"\n (drop)=\"handleDrop($event, hour)\">\n </div>\n\n <div class=\"second-half-hour object-half\" (dragover)=\"allowDrop($event, addHalfHour(hour))\"\n (drop)=\"handleDrop($event, addHalfHour(hour))\">\n </div>\n </div>\n </div>\n\n <div class=\"scheduled-objects\" >\n <ng-container>\n <ng-template\n [ngTemplateOutlet]=\"customTemplate\"\n [ngTemplateOutletContext]=\"{\n objects: scheduledObjects,\n onSelectBlock: this.onSelectBlock.bind(this),\n onResizeStart: this.onResizeStart.bind(this),\n onDragStartCustom: this.onDragStartCustom.bind(this)\n\n }\"\n >\n <ng-content></ng-content>\n </ng-template>\n </ng-container>\n </div>\n\n </div>\n\n ",
14702
+ template: "\n <div class=\"wrapper\">\n <div class=\"time-block\" *ngFor=\"let hour of hourLabels\">\n <div class=\"hour-label\"><span [textContent]=\"hour\"></span></div>\n\n <div class=\"object-display\">\n <div class=\"first-half-hour object-half\"\n (dragover)=\"allowDrop($event, hour)\"\n (dragleave)=\"handleDragLeave($event)\"\n (drop)=\"handleDrop($event, hour)\">\n </div>\n\n <div class=\"second-half-hour object-half\"\n (dragover)=\"allowDrop($event, addHalfHour(hour))\"\n (dragleave)=\"handleDragLeave($event)\"\n (drop)=\"handleDrop($event, addHalfHour(hour))\">\n </div>\n </div>\n </div>\n\n <div class=\"scheduled-objects\" >\n <ng-container>\n <ng-template\n [ngTemplateOutlet]=\"customTemplate\"\n [ngTemplateOutletContext]=\"{\n objects: scheduledObjects,\n onSelectBlock: this.onSelectBlock.bind(this),\n onResizeStart: this.onResizeStart.bind(this),\n onDragStartCustom: this.onDragStartCustom.bind(this)\n\n }\"\n >\n <ng-content></ng-content>\n </ng-template>\n </ng-container>\n </div>\n\n </div>\n\n ",
14675
14703
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
14676
14704
  encapsulation: i0.ViewEncapsulation.None
14677
14705
  },] }