adb-shared 2.0.24 → 2.0.25

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.
@@ -38,4 +38,4 @@ export class AdbModalService {
38
38
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbModalService, decorators: [{
39
39
  type: Injectable
40
40
  }], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i0.RendererFactory2 }, { type: i0.ApplicationRef }, { type: i0.Injector }]; } });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRiLW1vZGFsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnRkYXRhLXNoYXJlZC9zcmMvbGliL2NvbXBvbmVudHMvYWRiLWNvbmZpcm0tbW9kYWwvYWRiLW1vZGFsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUE2RCxVQUFVLEVBQXlDLE1BQU0sZUFBZSxDQUFDO0FBQzdJLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLGVBQWUsRUFBZSxNQUFNLHFCQUFxQixDQUFDOztBQUduRSxNQUFNLE9BQU8sZUFBZTtJQU94QixZQUNZLHdCQUFrRCxFQUMxRCxlQUFpQyxFQUN6QixNQUFzQixFQUN0QixRQUFrQjtRQUhsQiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBRWxELFdBQU0sR0FBTixNQUFNLENBQWdCO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFWdEIsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO1FBQzlDLFdBQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBVXRDLElBQUksQ0FBQyxRQUFRLEdBQUcsZUFBZSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELElBQUksQ0FBQyxPQUFnQjtRQUNqQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDeEMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFrQjtRQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUV4RCxJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsdUJBQXVCLENBQUMsZUFBZSxDQUFDLENBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNqSCxLQUFLLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLElBQUksU0FBUyxDQUFDO1FBQ3pDLEtBQUssQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksSUFBSSxTQUFTLENBQUM7UUFDckMsS0FBSyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQztRQUN0QyxLQUFLLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLElBQUksUUFBUSxDQUFDO1FBQzFDLFlBQVksQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUVwQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLE9BQU8sR0FBSSxZQUFZLENBQUMsUUFBaUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFnQixDQUFDO1FBQzNGLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUU1QyxDQUFDOzsrSEF2Q1EsZUFBZTttSUFBZixlQUFlOzJGQUFmLGVBQWU7a0JBRDNCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcHBsaWNhdGlvblJlZiwgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBFbWJlZGRlZFZpZXdSZWYsIEluamVjdGFibGUsIEluamVjdG9yLCBSZW5kZXJlcjIsIFJlbmRlcmVyRmFjdG9yeTIgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgQWRiQ29uZmlybU1vZGFsLCBEaWFsb2dNb2RlbCB9IGZyb20gXCIuL2FkYi1jb25maXJtLW1vZGFsXCI7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBBZGJNb2RhbFNlcnZpY2Uge1xyXG4gICAgcHJpdmF0ZSBjbG9zZVN1YmplY3QgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xyXG4gICAgY2xvc2UkID0gdGhpcy5jbG9zZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICByZW5kZXJlcjogUmVuZGVyZXIyO1xyXG4gICAgZG9tRWxlbTogSFRNTEVsZW1lbnQ7XHJcbiAgICBiYWNrZHJvcDogYW55O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgICAgICAgcmVuZGVyZXJGYWN0b3J5OiBSZW5kZXJlckZhY3RvcnkyLFxyXG4gICAgICAgIHByaXZhdGUgYXBwUmVmOiBBcHBsaWNhdGlvblJlZixcclxuICAgICAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIgPSByZW5kZXJlckZhY3RvcnkuY3JlYXRlUmVuZGVyZXIobnVsbCwgbnVsbCk7XHJcbiAgICB9XHJcblxyXG4gICAgaGlkZShjb25maXJtOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jbG9zZVN1YmplY3QubmV4dChjb25maXJtKTtcclxuICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHRoaXMuZG9tRWxlbSk7XHJcbiAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0aGlzLmJhY2tkcm9wKTtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKGRvY3VtZW50LmJvZHksICdtb2RhbC1vcGVuJyk7XHJcbiAgICB9XHJcblxyXG4gICAgc2hvd0NvbmZpcm0obW9kZWw6IERpYWxvZ01vZGVsKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhkb2N1bWVudC5ib2R5LCAnbW9kYWwtb3BlbicpO1xyXG4gICAgICAgIHRoaXMuYmFja2Ryb3AgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICAgIHRoaXMuYmFja2Ryb3AuY2xhc3NMaXN0LmFkZCgnbW9kYWwtYmFja2Ryb3AnLCAnZmFkZScsICdzaG93Jyk7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChkb2N1bWVudC5ib2R5LCB0aGlzLmJhY2tkcm9wKTtcclxuICAgICAgIFxyXG4gICAgICAgIGxldCBjb21wb25lbnRSZWYgPSB0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShBZGJDb25maXJtTW9kYWwpIC5jcmVhdGUodGhpcy5pbmplY3Rvcik7XHJcbiAgICAgICAgbW9kZWwuaGVhZGVyID0gbW9kZWwuaGVhZGVyID8/ICdOT1RfU0VUJztcclxuICAgICAgICBtb2RlbC50ZXh0ID0gbW9kZWwudGV4dCA/PyAnTk9UX1NFVCc7XHJcbiAgICAgICAgbW9kZWwuY29uZmlybSA9IG1vZGVsLmNvbmZpcm0gPz8gJ09LJztcclxuICAgICAgICBtb2RlbC5kZWNsaW5lID0gbW9kZWwuZGVjbGluZSA/PyAnQ0FOQ0VMJztcclxuICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UubW9kZWwgPSBtb2RlbDtcclxuXHJcbiAgICAgICAgdGhpcy5hcHBSZWYuYXR0YWNoVmlldyhjb21wb25lbnRSZWYuaG9zdFZpZXcpO1xyXG4gICAgICAgIHRoaXMuZG9tRWxlbSA9IChjb21wb25lbnRSZWYuaG9zdFZpZXcgYXMgRW1iZWRkZWRWaWV3UmVmPGFueT4pLnJvb3ROb2Rlc1swXSBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRoaXMuZG9tRWxlbSk7XHJcblxyXG4gICAgfVxyXG59Il19
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRiLW1vZGFsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnRkYXRhLXNoYXJlZC9zcmMvbGliL2NvbXBvbmVudHMvYWRiLWNvbmZpcm0tbW9kYWwvYWRiLW1vZGFsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUE2RCxVQUFVLEVBQXlDLE1BQU0sZUFBZSxDQUFDO0FBQzdJLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLGVBQWUsRUFBZSxNQUFNLHFCQUFxQixDQUFDOztBQUduRSxNQUFNLE9BQU8sZUFBZTtJQU94QixZQUNZLHdCQUFrRCxFQUMxRCxlQUFpQyxFQUN6QixNQUFzQixFQUN0QixRQUFrQjtRQUhsQiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBRWxELFdBQU0sR0FBTixNQUFNLENBQWdCO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFWdEIsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO1FBQzlDLFdBQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBVXRDLElBQUksQ0FBQyxRQUFRLEdBQUcsZUFBZSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELElBQUksQ0FBQyxPQUFnQjtRQUNqQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDeEMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFrQjtRQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUV4RCxJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsdUJBQXVCLENBQUMsZUFBZSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoSCxLQUFLLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLElBQUksU0FBUyxDQUFDO1FBQ3pDLEtBQUssQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksSUFBSSxTQUFTLENBQUM7UUFDckMsS0FBSyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQztRQUN0QyxLQUFLLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLElBQUksUUFBUSxDQUFDO1FBQzFDLFlBQVksQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUVwQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLE9BQU8sR0FBSSxZQUFZLENBQUMsUUFBaUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFnQixDQUFDO1FBQzNGLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUU1QyxDQUFDOzsrSEF2Q1EsZUFBZTttSUFBZixlQUFlOzJGQUFmLGVBQWU7a0JBRDNCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcHBsaWNhdGlvblJlZiwgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBFbWJlZGRlZFZpZXdSZWYsIEluamVjdGFibGUsIEluamVjdG9yLCBSZW5kZXJlcjIsIFJlbmRlcmVyRmFjdG9yeTIgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgQWRiQ29uZmlybU1vZGFsLCBEaWFsb2dNb2RlbCB9IGZyb20gXCIuL2FkYi1jb25maXJtLW1vZGFsXCI7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBBZGJNb2RhbFNlcnZpY2Uge1xyXG4gICAgcHJpdmF0ZSBjbG9zZVN1YmplY3QgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xyXG4gICAgY2xvc2UkID0gdGhpcy5jbG9zZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICByZW5kZXJlcjogUmVuZGVyZXIyO1xyXG4gICAgZG9tRWxlbTogSFRNTEVsZW1lbnQ7XHJcbiAgICBiYWNrZHJvcDogYW55O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgICAgICAgcmVuZGVyZXJGYWN0b3J5OiBSZW5kZXJlckZhY3RvcnkyLFxyXG4gICAgICAgIHByaXZhdGUgYXBwUmVmOiBBcHBsaWNhdGlvblJlZixcclxuICAgICAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIgPSByZW5kZXJlckZhY3RvcnkuY3JlYXRlUmVuZGVyZXIobnVsbCwgbnVsbCk7XHJcbiAgICB9XHJcblxyXG4gICAgaGlkZShjb25maXJtOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jbG9zZVN1YmplY3QubmV4dChjb25maXJtKTtcclxuICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHRoaXMuZG9tRWxlbSk7XHJcbiAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0aGlzLmJhY2tkcm9wKTtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKGRvY3VtZW50LmJvZHksICdtb2RhbC1vcGVuJyk7XHJcbiAgICB9XHJcblxyXG4gICAgc2hvd0NvbmZpcm0obW9kZWw6IERpYWxvZ01vZGVsKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhkb2N1bWVudC5ib2R5LCAnbW9kYWwtb3BlbicpO1xyXG4gICAgICAgIHRoaXMuYmFja2Ryb3AgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICAgIHRoaXMuYmFja2Ryb3AuY2xhc3NMaXN0LmFkZCgnbW9kYWwtYmFja2Ryb3AnLCAnZmFkZScsICdzaG93Jyk7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChkb2N1bWVudC5ib2R5LCB0aGlzLmJhY2tkcm9wKTtcclxuICAgICAgIFxyXG4gICAgICAgIGxldCBjb21wb25lbnRSZWYgPSB0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShBZGJDb25maXJtTW9kYWwpLmNyZWF0ZSh0aGlzLmluamVjdG9yKTtcclxuICAgICAgICBtb2RlbC5oZWFkZXIgPSBtb2RlbC5oZWFkZXIgPz8gJ05PVF9TRVQnO1xyXG4gICAgICAgIG1vZGVsLnRleHQgPSBtb2RlbC50ZXh0ID8/ICdOT1RfU0VUJztcclxuICAgICAgICBtb2RlbC5jb25maXJtID0gbW9kZWwuY29uZmlybSA/PyAnT0snO1xyXG4gICAgICAgIG1vZGVsLmRlY2xpbmUgPSBtb2RlbC5kZWNsaW5lID8/ICdDQU5DRUwnO1xyXG4gICAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5tb2RlbCA9IG1vZGVsO1xyXG5cclxuICAgICAgICB0aGlzLmFwcFJlZi5hdHRhY2hWaWV3KGNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XHJcbiAgICAgICAgdGhpcy5kb21FbGVtID0gKGNvbXBvbmVudFJlZi5ob3N0VmlldyBhcyBFbWJlZGRlZFZpZXdSZWY8YW55Pikucm9vdE5vZGVzWzBdIGFzIEhUTUxFbGVtZW50O1xyXG4gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGhpcy5kb21FbGVtKTtcclxuXHJcbiAgICB9XHJcbn0iXX0=
@@ -2,26 +2,35 @@ import { Pipe } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class HighlightPipe {
4
4
  constructor() {
5
- this.format = /[`!@#$%*\\()_+\-=\[\]{};':"\\|,<>\/?~]/g;
5
+ this.forbiddenSymbols = /[`!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?~]/;
6
6
  }
7
7
  transform(value, searchs) {
8
8
  if (!value) {
9
9
  return value;
10
10
  }
11
+ value = value + '';
11
12
  if (searchs) {
12
13
  if (!Array.isArray(searchs)) {
13
- searchs = searchs.split(' ').filter((s) => s);
14
+ searchs = searchs.split(' ').filter(s => s);
14
15
  }
15
16
  for (let search of searchs) {
16
- if (this.format.test(search)) {
17
- search = search.replace(this.format, '');
17
+ if (this.forbiddenSymbols.test(search)) {
18
+ search = search.replace(this.forbiddenSymbols, '');
19
+ }
20
+ const normalizedSearch = this.normalizeText(search);
21
+ const normalizedValue = this.normalizeText(value);
22
+ const start = normalizedValue ? normalizedValue.indexOf(normalizedSearch) : -1;
23
+ if (start !== -1) {
24
+ const matched = value.substring(start, start + search.length);
25
+ value = value.replace(matched, `<mark>${matched}</mark>`);
18
26
  }
19
- const reText = new RegExp(search, 'gi');
20
- value = value.replace(reText, '<mark>$&</mark>');
21
27
  }
22
28
  }
23
29
  return value;
24
30
  }
31
+ normalizeText(text) {
32
+ return text?.normalize('NFD').replace(/[\u0300-\u036f]/g, '').toLocaleLowerCase();
33
+ }
25
34
  }
26
35
  /** @nocollapse */ HighlightPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: HighlightPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
27
36
  /** @nocollapse */ HighlightPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: HighlightPipe, name: "adbHighlight" });
@@ -31,4 +40,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImpor
31
40
  name: 'adbHighlight'
32
41
  }]
33
42
  }] });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnRkYXRhLXNoYXJlZC9zcmMvbGliL3BpcGVzL2hpZ2hsaWdodC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUlwRCxNQUFNLE9BQU8sYUFBYTtJQUgxQjtRQUlJLFdBQU0sR0FBRyx5Q0FBeUMsQ0FBQztLQW1CdEQ7SUFsQkcsU0FBUyxDQUFDLEtBQVUsRUFBRSxPQUFZO1FBQzlCLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDUixPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUNELElBQUksT0FBTyxFQUFFO1lBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ3pCLE9BQU8sR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDdEQ7WUFDRCxLQUFLLElBQUksTUFBTSxJQUFJLE9BQU8sRUFBRTtnQkFDeEIsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtvQkFDMUIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztpQkFDNUM7Z0JBQ0QsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUN4QyxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsaUJBQWlCLENBQUMsQ0FBQzthQUNwRDtTQUNKO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQzs7NkhBbkJRLGFBQWE7MkhBQWIsYUFBYTsyRkFBYixhQUFhO2tCQUh6QixJQUFJO21CQUFDO29CQUNGLElBQUksRUFBRSxjQUFjO2lCQUN2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuQFBpcGUoe1xyXG4gICAgbmFtZTogJ2FkYkhpZ2hsaWdodCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEhpZ2hsaWdodFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICAgIGZvcm1hdCA9IC9bYCFAIyQlKlxcXFwoKV8rXFwtPVxcW1xcXXt9Oyc6XCJcXFxcfCw8PlxcLz9+XS9nO1xyXG4gICAgdHJhbnNmb3JtKHZhbHVlOiBhbnksIHNlYXJjaHM6IGFueSk6IGFueSB7XHJcbiAgICAgICAgaWYgKCF2YWx1ZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChzZWFyY2hzKSB7XHJcbiAgICAgICAgICAgIGlmICghQXJyYXkuaXNBcnJheShzZWFyY2hzKSkge1xyXG4gICAgICAgICAgICAgICAgc2VhcmNocyA9IHNlYXJjaHMuc3BsaXQoJyAnKS5maWx0ZXIoKHM6IGFueSkgPT4gcyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZm9yIChsZXQgc2VhcmNoIG9mIHNlYXJjaHMpIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmZvcm1hdC50ZXN0KHNlYXJjaCkpIHtcclxuICAgICAgICAgICAgICAgICAgICBzZWFyY2ggPSBzZWFyY2gucmVwbGFjZSh0aGlzLmZvcm1hdCwgJycpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgY29uc3QgcmVUZXh0ID0gbmV3IFJlZ0V4cChzZWFyY2gsICdnaScpO1xyXG4gICAgICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZS5yZXBsYWNlKHJlVGV4dCwgJzxtYXJrPiQmPC9tYXJrPicpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB2YWx1ZTtcclxuICAgIH1cclxufVxyXG4iXX0=
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnRkYXRhLXNoYXJlZC9zcmMvbGliL3BpcGVzL2hpZ2hsaWdodC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUlwRCxNQUFNLE9BQU8sYUFBYTtJQUgxQjtRQUlJLHFCQUFnQixHQUFHLHlDQUF5QyxDQUFDO0tBMkJoRTtJQTFCRyxTQUFTLENBQUMsS0FBVSxFQUFFLE9BQVk7UUFDOUIsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUFFLE9BQU8sS0FBSyxDQUFDO1NBQUU7UUFDN0IsS0FBSyxHQUFHLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDbkIsSUFBSSxPQUFPLEVBQUU7WUFDVCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDekIsT0FBTyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDL0M7WUFDRCxLQUFLLElBQUksTUFBTSxJQUFJLE9BQU8sRUFBRTtnQkFDeEIsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFO29CQUNwQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxDQUFDLENBQUM7aUJBQ3REO2dCQUNELE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDcEQsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDbEQsTUFBTSxLQUFLLEdBQUcsZUFBZSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMvRSxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUMsRUFBRTtvQkFDZCxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxLQUFLLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUM5RCxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsU0FBUyxPQUFPLFNBQVMsQ0FBQyxDQUFDO2lCQUM3RDthQUNKO1NBQ0o7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRU8sYUFBYSxDQUFDLElBQVk7UUFDOUIsT0FBTyxJQUFJLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQ3RGLENBQUM7OzZIQTNCUSxhQUFhOzJIQUFiLGFBQWE7MkZBQWIsYUFBYTtrQkFIekIsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsY0FBYztpQkFDdkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbkBQaXBlKHtcclxuICAgIG5hbWU6ICdhZGJIaWdobGlnaHQnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBIaWdobGlnaHRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgICBmb3JiaWRkZW5TeW1ib2xzID0gL1tgIUAjJCVeJiooKV8rXFwtPVxcW1xcXXt9Oyc6XCJcXFxcfCwuPD5cXC8/fl0vO1xyXG4gICAgdHJhbnNmb3JtKHZhbHVlOiBhbnksIHNlYXJjaHM6IGFueSk6IGFueSB7XHJcbiAgICAgICAgaWYgKCF2YWx1ZSkgeyByZXR1cm4gdmFsdWU7IH1cclxuICAgICAgICB2YWx1ZSA9IHZhbHVlICsgJyc7XHJcbiAgICAgICAgaWYgKHNlYXJjaHMpIHtcclxuICAgICAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHNlYXJjaHMpKSB7XHJcbiAgICAgICAgICAgICAgICBzZWFyY2hzID0gc2VhcmNocy5zcGxpdCgnICcpLmZpbHRlcihzID0+IHMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGZvciAobGV0IHNlYXJjaCBvZiBzZWFyY2hzKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5mb3JiaWRkZW5TeW1ib2xzLnRlc3Qoc2VhcmNoKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHNlYXJjaCA9IHNlYXJjaC5yZXBsYWNlKHRoaXMuZm9yYmlkZGVuU3ltYm9scywgJycpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgY29uc3Qgbm9ybWFsaXplZFNlYXJjaCA9IHRoaXMubm9ybWFsaXplVGV4dChzZWFyY2gpO1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgbm9ybWFsaXplZFZhbHVlID0gdGhpcy5ub3JtYWxpemVUZXh0KHZhbHVlKTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHN0YXJ0ID0gbm9ybWFsaXplZFZhbHVlID8gbm9ybWFsaXplZFZhbHVlLmluZGV4T2Yobm9ybWFsaXplZFNlYXJjaCkgOiAtMTtcclxuICAgICAgICAgICAgICAgIGlmIChzdGFydCAhPT0gLTEpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXRjaGVkID0gdmFsdWUuc3Vic3RyaW5nKHN0YXJ0LCBzdGFydCArIHNlYXJjaC5sZW5ndGgpO1xyXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlID0gdmFsdWUucmVwbGFjZShtYXRjaGVkLCBgPG1hcms+JHttYXRjaGVkfTwvbWFyaz5gKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBub3JtYWxpemVUZXh0KHRleHQ6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRleHQ/Lm5vcm1hbGl6ZSgnTkZEJykucmVwbGFjZSgvW1xcdTAzMDAtXFx1MDM2Zl0vZywgJycpLnRvTG9jYWxlTG93ZXJDYXNlKCk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -408,26 +408,35 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImpor
408
408
 
409
409
  class HighlightPipe {
410
410
  constructor() {
411
- this.format = /[`!@#$%*\\()_+\-=\[\]{};':"\\|,<>\/?~]/g;
411
+ this.forbiddenSymbols = /[`!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?~]/;
412
412
  }
413
413
  transform(value, searchs) {
414
414
  if (!value) {
415
415
  return value;
416
416
  }
417
+ value = value + '';
417
418
  if (searchs) {
418
419
  if (!Array.isArray(searchs)) {
419
- searchs = searchs.split(' ').filter((s) => s);
420
+ searchs = searchs.split(' ').filter(s => s);
420
421
  }
421
422
  for (let search of searchs) {
422
- if (this.format.test(search)) {
423
- search = search.replace(this.format, '');
423
+ if (this.forbiddenSymbols.test(search)) {
424
+ search = search.replace(this.forbiddenSymbols, '');
425
+ }
426
+ const normalizedSearch = this.normalizeText(search);
427
+ const normalizedValue = this.normalizeText(value);
428
+ const start = normalizedValue ? normalizedValue.indexOf(normalizedSearch) : -1;
429
+ if (start !== -1) {
430
+ const matched = value.substring(start, start + search.length);
431
+ value = value.replace(matched, `<mark>${matched}</mark>`);
424
432
  }
425
- const reText = new RegExp(search, 'gi');
426
- value = value.replace(reText, '<mark>$&</mark>');
427
433
  }
428
434
  }
429
435
  return value;
430
436
  }
437
+ normalizeText(text) {
438
+ return text === null || text === void 0 ? void 0 : text.normalize('NFD').replace(/[\u0300-\u036f]/g, '').toLocaleLowerCase();
439
+ }
431
440
  }
432
441
  /** @nocollapse */ HighlightPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: HighlightPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
433
442
  /** @nocollapse */ HighlightPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: HighlightPipe, name: "adbHighlight" });
@@ -1 +1 @@
1
- {"version":3,"file":"adb-shared.mjs","sources":["../../../projects/artdata-shared/src/lib/components/adb-header/environment.service.ts","../../../projects/artdata-shared/src/lib/components/adb-header/adb-header.component.ts","../../../projects/artdata-shared/src/lib/components/adb-header/adb-header.component.html","../../../projects/artdata-shared/src/lib/directives/click-outside.directive.ts","../../../projects/artdata-shared/src/lib/directives/file-upload.directive.ts","../../../projects/artdata-shared/src/lib/directives/focus.directive.ts","../../../projects/artdata-shared/src/lib/directives/directives.module.ts","../../../projects/artdata-shared/src/lib/components/adb-header/adb-header.module.ts","../../../projects/artdata-shared/src/lib/components/pagers/infinite-scroll.component.ts","../../../projects/artdata-shared/src/lib/components/pagers/pager-base.directive.ts","../../../projects/artdata-shared/src/lib/components/pagers/pager.ts","../../../projects/artdata-shared/src/lib/components/pagers/pager.html","../../../projects/artdata-shared/src/lib/components/pagers/pagers.module.ts","../../../projects/artdata-shared/src/lib/pipes/date.pipe.ts","../../../projects/artdata-shared/src/lib/pipes/highlight.pipe.ts","../../../projects/artdata-shared/src/lib/pipes/number-spacing.pipe.ts","../../../projects/artdata-shared/src/lib/pipes/pipes.module.ts","../../../projects/artdata-shared/src/lib/components/date-picker/adb-date-picker.service.ts","../../../projects/artdata-shared/src/lib/components/date-picker/adb-date-picker.directive.ts","../../../projects/artdata-shared/src/lib/components/date-picker/adb-date-picker.component.ts","../../../projects/artdata-shared/src/lib/components/date-picker/adb-date-picker.component.html","../../../projects/artdata-shared/src/lib/components/date-picker/adb-date-picker.module.ts","../../../projects/artdata-shared/src/lib/components/adb-dropdown/adb-dropdown.service.ts","../../../projects/artdata-shared/src/lib/components/adb-dropdown/adb-dropdown.directive.ts","../../../projects/artdata-shared/src/lib/components/adb-dropdown/adb-dropdown.module.ts","../../../projects/artdata-shared/src/lib/components/adb-confirm-modal/adb-modal.service.ts","../../../projects/artdata-shared/src/lib/components/adb-confirm-modal/adb-confirm-modal.ts","../../../projects/artdata-shared/src/lib/components/adb-confirm-modal/adb-confirm-modal.html","../../../projects/artdata-shared/src/lib/components/adb-confirm-modal/adb-modal.module.ts","../../../projects/artdata-shared/src/public-api.ts","../../../projects/artdata-shared/src/adb-shared.ts"],"sourcesContent":["import { Inject, Injectable } from \"@angular/core\";\r\n\r\n@Injectable()\r\nexport class EnvironmentService {\r\n constructor(@Inject('env') public environment) {\r\n }\r\n}","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { forkJoin, Subscription } from 'rxjs';\r\nimport { EnvironmentService } from './environment.service';\r\nimport { Navigation } from './navigation.model';\r\nimport { take } from 'rxjs/operators';\r\n@Component({\r\n selector: 'adb-header2',\r\n templateUrl: './adb-header.component.html'\r\n})\r\nexport class ADBHeaderComponent implements OnInit, OnDestroy {\r\n private subscription = new Subscription();\r\n @Output() loginClicked = new EventEmitter();\r\n @Output() logoutClicked = new EventEmitter();\r\n @Output() dropMenuChange = new EventEmitter<boolean>();\r\n fullName: string;\r\n translationFinished = false;\r\n @Input() set userName(fullName: string) {\r\n this.fullName = fullName;\r\n const splitted = fullName.split(' ');\r\n if (splitted?.length > 1) {\r\n const initials = splitted.shift().charAt(0) + splitted.pop().charAt(0);\r\n this.initials = initials.toUpperCase();\r\n } else {\r\n this.initials = this.fullName ? this.fullName.charAt(0).toUpperCase() : this.fullName;\r\n }\r\n };\r\n initials: string;\r\n showMenu = false;\r\n showUserMenu = false;\r\n navigation: Navigation;\r\n url: string;\r\n expandedLink: string;\r\n constructor(\r\n private httpClient: HttpClient,\r\n private envService: EnvironmentService,\r\n public trans: TranslateService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.url = window.location.href;\r\n const baseUrl = this.envService.environment.resourceUrl;\r\n this.subscription.add(this.httpClient.get<Navigation>(baseUrl + '/assets/links.json').subscribe(result => {\r\n this.navigation = result;\r\n }));\r\n this.initTranslations(baseUrl);\r\n }\r\n\r\n private initTranslations(baseUrl: string): void {\r\n if (this.trans.store.translations[this.trans.currentLang]) {\r\n this.loadTranslation(baseUrl, this.trans.currentLang);\r\n }\r\n this.subscription.add(this.trans.onLangChange.subscribe((event) => {\r\n this.translationFinished = false;\r\n this.loadTranslation(baseUrl, event.lang);\r\n }));\r\n }\r\n\r\n private loadTranslation(baseUrl: string, lang: string): void {\r\n //TODO: Prepare for diffents lang then en sv (en-GB) or add more files in devcomponentserver :)\r\n this.subscription.add(this.httpClient.get(baseUrl + `/assets/i18n/${lang}.json`).subscribe(translations => {\r\n this.trans.setTranslation(lang, translations, true);\r\n this.translationFinished = true;\r\n }));\r\n }\r\n\r\n showMenuDropdown(show: boolean): void {\r\n if (this.showMenu !== show) {\r\n this.showMenu = show;\r\n this.dropMenuChange.emit(show);\r\n }\r\n }\r\n\r\n setLanguage(lang): void {\r\n this.trans.use(lang);\r\n this.showMenu = false;\r\n this.dropMenuChange.emit(false);\r\n //TODO: set localstorage/cookies or probaly event to main app\r\n }\r\n\r\n onExpandLink(event: any, transId: string): void {\r\n event.preventDefault(); event.stopPropagation();\r\n if (this.expandedLink === transId) {\r\n this.expandedLink = null;\r\n return;\r\n }\r\n this.expandedLink = transId;\r\n }\r\n\r\n login(): void {\r\n this.loginClicked.emit();\r\n }\r\n\r\n logout(): void {\r\n this.logoutClicked.emit();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n // private initAllTranslations(baseUrl: string): void {\r\n // const trans$ = forkJoin([this.httpClient.get(baseUrl + '/assets/i18n/en.json'), this.httpClient.get(baseUrl + '/assets/i18n/sv.json')])\r\n // this.subscription.add(trans$.subscribe(result => {\r\n // this.trans.setTranslation('en', result[0], true);\r\n // this.trans.setTranslation('sv', result[1], true);\r\n // }));\r\n // }\r\n}\r\n\r\n","<header id=\"top-header\" (clickOutside)=\"showUserMenu=false;showMenuDropdown(false);\">\r\n <nav class=\"d-flex flex-wrap px-3\">\r\n <div class=\"flex-grow-1 d-flex align-items-center justify-content-between justify-content-md-start\">\r\n <div class=\"logo d-none d-md-block\">\r\n <img src=\"/assets/images/logo.svg\" style=\"height: 3.2rem;\">\r\n </div>\r\n <div class=\"logo ps-2 d-sm-block d-md-none d-flex align-items-center\">\r\n <img src=\"/assets/images/logo_sm_white.png\" style=\"height: 2rem;\">\r\n </div>\r\n <strong class=\"bigger\">{{'ADB_HEADER.TITLE'|translate}}</strong>\r\n </div>\r\n <div *ngIf=\"translationFinished\" class=\"flex-grow-1 d-flex justify-content-lg-between justify-content-end align-items-center\">\r\n <div *ngIf=\"navigation\" class=\"d-flex align-items-center\">\r\n <nav class=\"d-none align-items-center d-lg-flex pe-4 gap-4\" *ngIf=\"navigation\">\r\n <ng-container *ngFor=\"let link of navigation.links\">\r\n <a href=\"{{link.url}}?lang={{trans.currentLang}}\" *ngIf=\"link.topLink\" [ngClass]=\"{'d-none d-xl-block':link.transId==='ADB_HEADER.OBSERVATION'}\">\r\n {{link.transId|translate}}\r\n </a>\r\n </ng-container>\r\n </nav>\r\n <div>\r\n <button type=\"button\" class=\"btn btn-sm py-1 px-2 btn-primary\" (click)=\"showUserMenu = false;showMenuDropdown(!showMenu)\">\r\n {{'ADB_HEADER.MENY'|translate}}\r\n <i class=\"ms-1 fas\" [ngClass]=\"showMenu?'fa-chevron-up':'fa-chevron-down'\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"d-none d-md-block ps-4\">\r\n <button *ngIf=\"initials\" type=\"button\" class=\"btn initials\" (click)=\"showUserMenu = !showUserMenu;showMenuDropdown(false)\">{{initials}}</button>\r\n <button *ngIf=\"!initials\" type=\"button\" (click)=\"showUserMenu = !showUserMenu;showMenuDropdown(false)\" class=\"btn btn-link\">\r\n {{'ADB_HEADER.LOGIN'|translate}}\r\n </button>\r\n </div>\r\n </div>\r\n </nav>\r\n <div class=\"menu\" *ngIf=\"showUserMenu\">\r\n <div class=\"menu-body bg-white p-3\" style=\"width:15rem\">\r\n <ng-container *ngIf=\"initials\">\r\n <div class=\"d-flex align-items-center gap-2 text-dark\">\r\n <span class=\"initials\">{{initials}}</span>\r\n <strong>{{fullName}}</strong>\r\n </div>\r\n <hr class=\"mx-n3 text-muted\">\r\n <button (click)=\"logout()\" type=\"button\" class=\"btn btn-link p-0\">\r\n <i class=\"fas fa-sign-out-alt me-1\"></i>{{'ADB_HEADER.LOGOUT'|translate}}\r\n </button>\r\n </ng-container>\r\n <ng-container *ngIf=\"!initials\">\r\n <div class=\"d-flex justify-content-center\">\r\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"login()\" id=\"start-login\">{{'ADB_HEADER.LOGIN'|translate}}</button>\r\n </div>\r\n <a *ngIf=\"navigation\" class=\"d-block mt-3\" href=\"{{navigation.createAccountLink}}?lang={{trans.currentLang}}&returnUrl={{url}}\">\r\n {{'ADB_HEADER.CREATE_USER'|translate}}\r\n </a>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"menu\" *ngIf=\"showMenu\">\r\n <div class=\"menu-body\" *ngIf=\"navigation\">\r\n <div class=\"px-3 pt-3 mb-1\">\r\n <div class=\"d-flex justify-content-between flex-wrap gap-2 mb-2\">\r\n <div>\r\n <div class=\"d-flex d-md-none align-items-center gap-2\" *ngIf=\"initials\">\r\n <span class=\"initials me-2\">{{initials}}</span>\r\n <button type=\"button\" (click)=\"logout()\" class=\"btn btn-primary\">\r\n {{'ADB_HEADER.LOGOUT'|translate}}\r\n </button>\r\n </div>\r\n <div class=\"d-flex gap-2 d-md-none\" *ngIf=\"!initials\">\r\n <button type=\"button\" (click)=\"login()\" class=\"btn btn-primary\" id=\"login\">\r\n {{'ADB_HEADER.LOGIN'|translate}}\r\n </button>\r\n <a href=\"{{navigation.createAccountLink}}?lang={{trans.currentLang}}&returnUrl={{url}}\"\r\n class=\"btn btn-primary text-white\">\r\n {{'ADB_HEADER.CREATE_USER'|translate}}\r\n </a>\r\n </div>\r\n </div>\r\n <div>\r\n <button type=\"button\" *ngIf=\"trans.currentLang==='en'\" (click)=\"setLanguage('sv')\"\r\n class=\"btn btn-primary\">\r\n {{'ADB_HEADER.IN_SWEDISH'|translate}}\r\n </button>\r\n <button type=\"button\" *ngIf=\"trans.currentLang==='sv'\" (click)=\"setLanguage('en')\"\r\n class=\"btn btn-primary\">\r\n {{'ADB_HEADER.IN_ENGLISH'|translate}}\r\n </button>\r\n </div>\r\n </div>\r\n {{'ADB_HEADER.SERVICES'|translate}}\r\n </div>\r\n <div id=\"splash\">\r\n <div class=\"px-3 d-flex flex-column\">\r\n <ul class=\"list-group ms-0 mb-0 ps-0\">\r\n <li class=\"mb-1 list-group-item p-0 rounded\" *ngFor=\"let link of navigation.links\"\r\n [attr.aria-expanded]=\"link.transId===expandedLink?true:false\" role=\"button\">\r\n <div class=\"d-flex align-items-center justify-content-between\">\r\n <a href=\"{{link.url}}?lang={{trans.currentLang}}\" class=\"d-flex align-items-center flex-grow-1 p-2\">\r\n <small class=\"fa-stack me-1\" *ngIf=\"link.icon\">\r\n <span class=\"fas fa-circle fa-stack-2x text-primary\"></span>\r\n <span class=\"fas fa-stack-1x fa-inverse\" [ngClass]=\"link.icon\"></span>\r\n </small>\r\n {{link.transId|translate}}\r\n </a>\r\n <button class=\"btn btn-expand me-2\" *ngIf=\"link.children?.length>0\" (click)=\"onExpandLink($event,link.transId)\">\r\n <i class=\"fas fa-chevron-up\" [ngClass]=\"link.transId===expandedLink?'d-block ':'d-none'\"></i>\r\n <i class=\"fas fa-chevron-down\" [ngClass]=\"link.transId!==expandedLink?'d-block ':'d-none'\"></i>\r\n </button>\r\n </div>\r\n <ul class=\"list-unstyled\" [ngClass]=\"link.transId===expandedLink?'d-block':'d-none'\">\r\n <li class=\"py-1 m-0\" [class.pt-0]=\"first\" *ngFor=\"let subLink of link.children;let first = first\" style=\"padding-left:3rem;\">\r\n <a class=\"w-100 d-block\" href=\"{{subLink.url}}?lang={{trans.currentLang}}\">\r\n {{subLink.transId|translate}}\r\n </a>\r\n </li>\r\n </ul>\r\n </li>\r\n </ul>\r\n <div *ngIf=\"navigation.about\" class=\"mt-2 mb-auto\">\r\n <div class=\"mb-1\">{{'ADB_HEADER.CONTACT'|translate}}</div>\r\n <div class=\"mb-1 row\">\r\n <div class=\"col-sm-6 mb-2\">\r\n <div class=\"bg-white p-2 rounded\">\r\n <small class=\"fa-stack\" *ngIf=\"navigation.about.icon\">\r\n <span class=\"fas fa-circle fa-stack-2x text-primary\"></span>\r\n <span class=\"fas fa-stack-1x fa-inverse fa-envelope\"></span>\r\n </small>\r\n <a class=\"bg-white p-2\" href=\"mailto:artfakta@artdatabanken.se\">artfakta@artdatabanken.se</a>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-6 mb-2\">\r\n <div class=\"bg-white p-2 rounded\">\r\n <small class=\"fa-stack\" *ngIf=\"navigation.about.icon\">\r\n <span class=\"fas fa-circle fa-stack-2x text-primary\"></span>\r\n <span class=\"fas fa-stack-1x fa-inverse\" [ngClass]=\"navigation.about.icon\"></span>\r\n </small>\r\n <a [href]=\"navigation.about.url\">{{navigation.about.transId|translate}}</a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div style=\"height:10rem\"></div>\r\n <div class=\"mb-3\">\r\n {{'ADB_HEADER.DEVELOPED_BY'|translate}}\r\n <a href=\"https://www.artdatabanken.se/\" class=\"text-white\"><u>{{'ADB_HEADER.ARTDATABANKEN'|translate}}</u></a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</header>\r\n","import { Directive, Output, EventEmitter, ElementRef, HostListener } from '@angular/core';\r\n@Directive({\r\n selector: '[adbClickOutside]',\r\n})\r\nexport class ClickOutsideDirective {\r\n @Output() adbClickOutside = new EventEmitter<any>();\r\n constructor(private elementRef: ElementRef) { }\r\n\r\n @HostListener('document:click', ['$event.target'])\r\n public onClick(target: any) {\r\n const clickedInside = this.elementRef.nativeElement.contains(target);\r\n if (!clickedInside) {\r\n this.adbClickOutside.emit(target);\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, EventEmitter } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: 'input[adbFileUpload]',\r\n host: {\r\n '(change)': 'onBeginUpload($event.target)',\r\n '(click)': 'onClick($event.target)'\r\n },\r\n outputs: ['upload']\r\n})\r\nexport class FileUploadDirective {\r\n upload = new EventEmitter();\r\n click = new EventEmitter();\r\n constructor(private el: ElementRef) {}\r\n \r\n onBeginUpload(target: any) {\r\n if (target) {\r\n if (target.files && target.files[0]) {\r\n this.upload.emit(target.files[0]);\r\n }\r\n }\r\n }\r\n\r\n onClick(target: any) {\r\n (this.el.nativeElement as HTMLInputElement).value = '';\r\n if (target) {\r\n this.click.emit(target);\r\n }\r\n }\r\n}","/* eslint-disable @angular-eslint/directive-selector */\r\nimport { Directive, ElementRef, AfterViewInit, Input } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[adbFocus]',\r\n})\r\nexport class FocusDirective implements AfterViewInit {\r\n\r\n @Input('adbFocus')\r\n focused = false;\r\n\r\n constructor(public element: ElementRef<HTMLElement>) {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n // ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked.\r\n if (this.focused) {\r\n setTimeout(() => this.element.nativeElement.focus(), 0);\r\n }\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { ClickOutsideDirective } from \"./click-outside.directive\";\r\nimport { FileUploadDirective } from \"./file-upload.directive\";\r\nimport { FocusDirective } from \"./focus.directive\";\r\n\r\n@NgModule({\r\n imports: [],\r\n declarations: [ClickOutsideDirective, FocusDirective, FileUploadDirective],\r\n exports: [ClickOutsideDirective, FocusDirective, FileUploadDirective]\r\n})\r\nexport class AdbDirectivesModule { }","import { CommonModule } from '@angular/common';\r\nimport { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { ADBHeaderComponent } from './adb-header.component';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { EnvironmentService } from './environment.service';\r\nimport { RouterModule } from '@angular/router';\r\nimport { AdbDirectivesModule } from '../../directives/directives.module';\r\n\r\n\r\n@NgModule({\r\n declarations: [ADBHeaderComponent],\r\n imports: [\r\n CommonModule,\r\n HttpClientModule,\r\n RouterModule,\r\n TranslateModule,\r\n AdbDirectivesModule\r\n ],\r\n exports: [ADBHeaderComponent]\r\n})\r\nexport class ADBHeaderModule {\r\n public static forRoot(environment: any): ModuleWithProviders<ADBHeaderModule> {\r\n return {\r\n ngModule: ADBHeaderModule,\r\n providers: [\r\n EnvironmentService,\r\n {\r\n provide: 'env', // you can also use InjectionToken\r\n useValue: environment\r\n }\r\n ]\r\n };\r\n }\r\n}\r\n","import { AfterViewInit, Directive, ElementRef, EventEmitter, HostBinding, OnDestroy, Output } from \"@angular/core\";\r\n\r\n@Directive({ selector: \"[onVisible]\" })\r\nexport class InfiniteScrollComponent implements AfterViewInit, OnDestroy {\r\n @Output() public onVisible: EventEmitter<any> = new EventEmitter();\r\n @HostBinding('style.height') height = '1px';\r\n private _intersectionObserver?: IntersectionObserver;\r\n\r\n constructor(private _element: ElementRef) { }\r\n\r\n public ngAfterViewInit() {\r\n this._intersectionObserver = new IntersectionObserver(entries => {\r\n this.checkForIntersection(entries);\r\n }, {});\r\n this._intersectionObserver.observe(<Element>this._element.nativeElement);\r\n }\r\n\r\n public ngOnDestroy() {\r\n if (this._intersectionObserver) {\r\n this._intersectionObserver.disconnect();\r\n }\r\n }\r\n\r\n private checkForIntersection = (\r\n entries: Array<IntersectionObserverEntry>\r\n ) => {\r\n entries.forEach((entry: IntersectionObserverEntry) => {\r\n const isIntersecting =\r\n (<any>entry).isIntersecting &&\r\n entry.target === this._element.nativeElement;\r\n\r\n if (isIntersecting) {\r\n this.onVisible.emit();\r\n }\r\n });\r\n };\r\n}\r\n","import { Input } from '@angular/core';\r\nimport { Directive } from '@angular/core';\r\n@Directive()\r\nexport abstract class PagerBaseDirective {\r\n private static DEFAULT_LIMIT = 10;\r\n private static VISIBLE_PAGES = 5;\r\n protected static SKIP_RESOURCE = 'offset';\r\n\r\n @Input() totalCount: number;\r\n pages: Array<number>;\r\n @Input() limit: number = PagerBaseDirective.DEFAULT_LIMIT;\r\n amountOfPages: number;\r\n currentPage = 1;\r\n\r\n protected calculatePages(): void {\r\n this.amountOfPages = Math.ceil(this.totalCount / this.limit);\r\n if ((this.currentPage + 1) > PagerBaseDirective.VISIBLE_PAGES) {\r\n this.pages = [\r\n this.currentPage - 2,\r\n this.currentPage - 1, this.currentPage];\r\n const above = this.amountOfPages - this.currentPage;\r\n if (above >= 1) {\r\n this.pages.push(this.currentPage + 1);\r\n }\r\n if (above >= 2) {\r\n this.pages.push(this.currentPage + 2);\r\n }\r\n } else if (this.totalCount) {\r\n const max = this.amountOfPages > PagerBaseDirective.VISIBLE_PAGES ? 5 : this.amountOfPages;\r\n this.pages = Array(Math.ceil(max)).fill(1).map((x, i) => i + 1);\r\n }\r\n }\r\n\r\n}\r\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { PagerBaseDirective } from './pager-base.directive';\r\n\r\n@Component({\r\n selector: 'adb-pager-nav',\r\n templateUrl: 'pager.html'\r\n})\r\nexport class PagerComponent extends PagerBaseDirective implements OnInit, OnDestroy {\r\n private subscription = new Subscription();\r\n\r\n constructor(private activatedRoute: ActivatedRoute) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.subscription.add(this.activatedRoute.queryParams.subscribe(params => {\r\n if (params.offset) {\r\n this.currentPage = (+params.offset / this.limit) + 1;\r\n }\r\n this.calculatePages();\r\n }));\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscription.unsubscribe();\r\n }\r\n}\r\n","<nav *ngIf=\"pages&&pages.length>1&&currentPage<=amountOfPages\" class=\"d-flex justify-content-end pe-2 my-1\">\r\n <ul class=\"pagination mb-0\">\r\n <li class=\"page-item\" [class.disabled]=\"currentPage===1\">\r\n <a class=\"page-link\" [routerLink]=\"[]\" [queryParams]=\"{ offset: 0}\" queryParamsHandling=\"merge\">\r\n <i class=\"fas fa-chevron-double-left\"></i>\r\n </a>\r\n </li>\r\n <li class=\"page-item\" [class.disabled]=\"currentPage===1\">\r\n <a class=\"page-link\" [routerLink]=\"[]\" [queryParams]=\"{ offset: (currentPage-2)*limit}\"\r\n queryParamsHandling=\"merge\">\r\n <i class=\"fas fa-chevron-left\"></i>\r\n </a>\r\n </li>\r\n <li class=\"page-item\" [class.active]=\"currentPage===page\" *ngFor=\"let page of pages\">\r\n <a class=\"page-link\" [routerLink]=\"[]\" [queryParams]=\"{ offset: (page-1)*limit}\"\r\n queryParamsHandling=\"merge\">{{page}}</a>\r\n </li>\r\n <li class=\"page-item\" [class.disabled]=\"currentPage>=amountOfPages\">\r\n <a class=\"page-link\" [routerLink]=\"[]\" [queryParams]=\"{ offset: currentPage*limit}\"\r\n queryParamsHandling=\"merge\">\r\n <i class=\"fas fa-chevron-right\"></i>\r\n </a>\r\n </li>\r\n <li *ngIf=\"(amountOfPages-1)*limit<10000\" class=\"page-item\" [class.disabled]=\"currentPage>=amountOfPages\">\r\n <a class=\"page-link\" [routerLink]=\"[]\" [queryParams]=\"{ offset: (amountOfPages-1)*limit}\"\r\n queryParamsHandling=\"merge\">\r\n <i class=\"fas fa-chevron-double-right\"></i>\r\n </a>\r\n </li>\r\n </ul>\r\n</nav>","\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { InfiniteScrollComponent } from \"./infinite-scroll.component\";\r\nimport { PagerComponent } from \"./pager\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n RouterModule\r\n ],\r\n declarations: [InfiniteScrollComponent, PagerComponent],\r\n exports: [InfiniteScrollComponent, PagerComponent]\r\n})\r\nexport class AdbPagersModule { }","import { DatePipe } from \"@angular/common\";\r\nimport { Pipe, PipeTransform } from \"@angular/core\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n@Pipe({\r\n name: 'adbLocaleDate',\r\n pure: false\r\n})\r\nexport class LocaleDatePipe implements PipeTransform {\r\n constructor(private translate: TranslateService) {}\r\n transform(value: any, format: string) {\r\n return new DatePipe(this.translate.currentLang).transform(value, format, null, this.translate.currentLang);\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n@Pipe({\r\n name: 'adbHighlight'\r\n})\r\nexport class HighlightPipe implements PipeTransform {\r\n format = /[`!@#$%*\\\\()_+\\-=\\[\\]{};':\"\\\\|,<>\\/?~]/g;\r\n transform(value: any, searchs: any): any {\r\n if (!value) {\r\n return value;\r\n }\r\n if (searchs) {\r\n if (!Array.isArray(searchs)) {\r\n searchs = searchs.split(' ').filter((s: any) => s);\r\n }\r\n for (let search of searchs) {\r\n if (this.format.test(search)) {\r\n search = search.replace(this.format, '');\r\n }\r\n const reText = new RegExp(search, 'gi');\r\n value = value.replace(reText, '<mark>$&</mark>');\r\n }\r\n }\r\n return value;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'adbSpacing',\r\n pure: false\r\n})\r\nexport class NumberSpacingPipe implements PipeTransform {\r\n transform(value) {\r\n // If value is empty, 0 is falsy so perform an extra check to not make '0' to an empty string\r\n if (!value && value !== 0) {\r\n return '';\r\n }\r\n return value.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ' ');\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { LocaleDatePipe } from \"./date.pipe\";\r\nimport { HighlightPipe } from \"./highlight.pipe\";\r\nimport { NumberSpacingPipe } from \"./number-spacing.pipe\";\r\n\r\n@NgModule({\r\n imports: [],\r\n declarations: [HighlightPipe, NumberSpacingPipe, LocaleDatePipe],\r\n exports: [HighlightPipe, NumberSpacingPipe, LocaleDatePipe]\r\n})\r\nexport class AdbPipesModule { }","import { ComponentRef, Inject, Injectable } from \"@angular/core\";\r\nimport { BehaviorSubject, Subject } from \"rxjs\";\r\nimport { AdbDatePickerComponent } from \"./adb-date-picker.component\";\r\n\r\n@Injectable()\r\nexport class AdbDatePickerService {\r\n viewRef: ComponentRef<AdbDatePickerComponent>;\r\n}","import { formatDate } from \"@angular/common\";\r\nimport { Directive, ElementRef, forwardRef, HostBinding, HostListener, Input, OnDestroy, OnInit, Renderer2, ViewContainerRef } from \"@angular/core\";\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR} from \"@angular/forms\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { isValid, parse, parseISO } from \"date-fns\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { AdbDatePickerComponent } from \"./adb-date-picker.component\";\r\nimport { AdbDatePickerService } from \"./adb-date-picker.service\";\r\n\r\n@Directive({\r\n selector: `input[adbDatepicker]`,\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => AdbDatePickerDirective),\r\n multi: true\r\n }]\r\n})\r\nexport class AdbDatePickerDirective implements ControlValueAccessor, OnInit, OnDestroy {\r\n @HostBinding('autocomplete') autocomplete = 'off';\r\n private subscriptions = new Subscription();\r\n @Input() format = 'yyyy-MM-dd';\r\n @Input() toLeft: boolean;\r\n @Input() settings: { maxDate?: Date | string, minDate?: Date | string } = null;\r\n id: string;\r\n initialDate: Date;\r\n\r\n constructor(\r\n private viewContainerRef: ViewContainerRef,\r\n private renderer: Renderer2,\r\n private elementRef: ElementRef,\r\n private adbDatePickerService: AdbDatePickerService,\r\n public translate: TranslateService) {\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n @HostListener('click')\r\n onClick(): void {\r\n if (this.adbDatePickerService.viewRef) {\r\n this.adbDatePickerService.viewRef.destroy();\r\n }\r\n const viewRef = this.viewContainerRef.createComponent<AdbDatePickerComponent>(AdbDatePickerComponent);\r\n viewRef.instance.settings = this.settings;\r\n viewRef.instance.toLeft = this.toLeft;\r\n viewRef.instance.initialDate = this.initialDate;\r\n this.id = this.getId();\r\n viewRef.instance.id = this.id;\r\n viewRef.instance.selectDate.subscribe((date) => {\r\n this.renderer.setProperty(this.elementRef.nativeElement, 'value', formatDate(date, this.format, this.translate.currentLang));\r\n this.onChange(date);\r\n this.initialDate = date;\r\n this.onHide();\r\n });\r\n viewRef.instance.hide.subscribe(() => {\r\n this.onHide();\r\n });\r\n this.adbDatePickerService.viewRef = viewRef;\r\n }\r\n\r\n @HostListener('keyup.esc')\r\n onHide(): void {\r\n this.adbDatePickerService.viewRef = null;\r\n this.viewContainerRef.detach();\r\n this.viewContainerRef.clear();\r\n }\r\n\r\n @HostListener('keydown', ['$event'])\r\n handleKeyboardEvent(event: KeyboardEvent) {\r\n if (event.key === 'Tab') {\r\n this.onHide();\r\n } else if (event.key === 'Backspace') {\r\n this.initialDate = null;\r\n this.renderer.setProperty(this.elementRef.nativeElement, 'value', null);\r\n this.onChange();\r\n this.onHide();\r\n }\r\n else {\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n\r\n @HostListener('document:click', ['$event.target'])\r\n onCheckOutSideClick(target: any): void {\r\n const nativeElement = this.adbDatePickerService.viewRef?.instance.elementRef.nativeElement ?? null;\r\n if (nativeElement) {\r\n if (nativeElement.id === this.id) {\r\n if (!target.hasAttribute('adbdatepicker')) {\r\n const clickedInside = nativeElement.contains(target);\r\n if (!clickedInside) {\r\n this.onHide();\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscriptions.unsubscribe();\r\n }\r\n\r\n //ControlValueAccessor\r\n onChange: any = () => { };\r\n onTouched: any = () => { };\r\n\r\n writeValue(value: Date | string): void {\r\n if (value) {\r\n this.initialDate = AdbDatePickerDirective.parseDate(value);\r\n if (this.initialDate) {\r\n this.renderer.setProperty(this.elementRef.nativeElement, 'value', formatDate(this.initialDate, this.format, this.translate.currentLang));\r\n }\r\n } else {\r\n this.initialDate = null;\r\n this.renderer.setProperty(this.elementRef.nativeElement, 'value', '');\r\n }\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.viewContainerRef.clear();\r\n }\r\n\r\n static parseDate(value: Date | string): Date {\r\n if (typeof value === 'string') {\r\n if (isValid(parseISO(value))) {\r\n return parseISO(value);\r\n } else {\r\n return null;\r\n }\r\n } else if (value instanceof Date) {\r\n return value;\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n private getId(): string {\r\n return '' + Math.floor(Math.random() * Date.now())\r\n }\r\n}","import { Component, ElementRef, EventEmitter, HostBinding, Input, OnDestroy, OnInit, Output } from \"@angular/core\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { addDays, addMonths, addYears, eachDayOfInterval, eachWeekOfInterval, endOfDay, endOfMonth, getHours, getISOWeek, getMinutes, getMonth, isSameDay, isSameMonth, isSameYear, isWithinInterval, startOfDay, startOfMonth, subMonths, subYears } from \"date-fns\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { AdbDatePickerDirective } from \"./adb-date-picker.directive\";\r\n\r\n@Component({\r\n selector: 'adb-date-picker',\r\n templateUrl: './adb-date-picker.component.html'\r\n})\r\nexport class AdbDatePickerComponent implements OnInit, OnDestroy {\r\n private subscriptions = new Subscription();\r\n static MONTHS = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\r\n static WEEK_DAYS = ['1', '2', '3', '4', '5', '6', '7'];\r\n static YEAR_INTERVALL = 8;\r\n currentdDate: Date = new Date();\r\n selectedDate: Date = new Date();\r\n years: { value: Date, title: string, isThisYear: boolean }[];\r\n months: { value: number, isThisMonth: boolean }[];\r\n weekDays = AdbDatePickerComponent.WEEK_DAYS;\r\n weeks: PickerWeek[];\r\n range: { start: any; end: any; };\r\n\r\n @Input() initialDate: Date;\r\n\r\n @Input() settings: any;\r\n @Input() toLeft: boolean;\r\n\r\n @HostBinding('id')\r\n @Input() id: string;\r\n\r\n @Output() selectDate = new EventEmitter<Date>();\r\n @Output() hide = new EventEmitter<void>();\r\n\r\n constructor(public elementRef: ElementRef, private translate: TranslateService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.settings) {\r\n if (this.settings?.minDate || this.settings?.maxDate) {\r\n const minDate = AdbDatePickerDirective.parseDate(this.settings.minDate);\r\n const maxDate = AdbDatePickerDirective.parseDate(this.settings.maxDate);\r\n this.range = {\r\n start: minDate ? startOfDay(minDate) : subYears(new Date(), 1000),\r\n end: maxDate ? endOfDay(maxDate) : addYears(new Date(), 1000)\r\n };\r\n }\r\n }\r\n\r\n this.selectedDate = this.currentdDate = this.initialDate ?? new Date();\r\n this.createCalendar()\r\n }\r\n\r\n onShowYear(): void {\r\n this.months = null;\r\n this.loadYearsInterval();\r\n }\r\n\r\n onShowMonth(): void {\r\n this.years = null;\r\n this.loadMonths();\r\n }\r\n\r\n onSelectYear(inYear?: Date): void {\r\n this.selectedDate.setFullYear(inYear.getFullYear());\r\n this.loadMonths();\r\n this.years = null;\r\n }\r\n\r\n onSelectMonth(inMonth?: number): void {\r\n this.selectedDate.setMonth(inMonth);\r\n this.createCalendar();\r\n this.years = null;\r\n this.months = null;\r\n }\r\n\r\n onPrev(): void {\r\n if (this.years) {\r\n this.selectedDate = subYears(this.selectedDate, AdbDatePickerComponent.YEAR_INTERVALL);\r\n this.loadYearsInterval();\r\n } else if (this.months) {\r\n this.selectedDate = subYears(this.selectedDate, 1);\r\n this.loadMonths();\r\n } else {\r\n this.selectedDate = subMonths(this.selectedDate, 1);\r\n this.createCalendar();\r\n }\r\n }\r\n\r\n onNext(): void {\r\n if (this.years) {\r\n this.selectedDate = addYears(this.selectedDate, AdbDatePickerComponent.YEAR_INTERVALL);\r\n this.loadYearsInterval();\r\n } else if (this.months) {\r\n this.selectedDate = addYears(this.selectedDate, 1);\r\n this.loadMonths();\r\n } else {\r\n this.selectedDate = addMonths(this.selectedDate, 1);\r\n this.createCalendar();\r\n }\r\n }\r\n\r\n\r\n ngOnDestroy(): void {\r\n this.subscriptions.unsubscribe();\r\n }\r\n\r\n private loadMonths(): void {\r\n this.months = AdbDatePickerComponent.MONTHS.map(x => {\r\n return {\r\n value: x,\r\n isThisMonth: getMonth(this.selectedDate) === x && isSameYear(this.currentdDate, this.selectedDate)\r\n }\r\n });\r\n }\r\n\r\n private loadYearsInterval() {\r\n let year = subYears(this.selectedDate, AdbDatePickerComponent.YEAR_INTERVALL);\r\n const years = [];\r\n for (let i = 0; i < 16; i++) {\r\n years.push({\r\n value: year,\r\n title: year.getFullYear(),\r\n isThisYear: isSameYear(year, this.currentdDate)\r\n });\r\n year = addYears(year, 1);\r\n }\r\n this.years = years;\r\n }\r\n\r\n onSelectDate(day: PickerDay): void {\r\n this.selectDate.emit(day.value);\r\n }\r\n\r\n private createCalendar() {\r\n const weeks = [];\r\n const monthInterval = { start: startOfMonth(this.selectedDate), end: endOfMonth(this.selectedDate) };\r\n var fnsWweeks = eachWeekOfInterval(monthInterval, { weekStartsOn: this.translate.currentLang === 'sv' || this.translate.currentLang === 'sv-SE' ? 1 : 0 });\r\n for (const fnsWeek of fnsWweeks) {\r\n const week = { weekNumber: 0, days: [] };\r\n week.weekNumber = getISOWeek(new Date(fnsWeek));\r\n const weekInterval = { start: new Date(fnsWeek), end: addDays(new Date(fnsWeek), 6) };\r\n week.days = eachDayOfInterval(weekInterval).map(day => {\r\n day.setHours(getHours(new Date()));\r\n day.setMinutes(getMinutes(new Date()));\r\n return {\r\n value: day,\r\n isSelected: isSameYear(day, this.initialDate) && isSameDay(day, this.initialDate) && isSameMonth(day, this.initialDate),\r\n isInRange: this.range ? isWithinInterval(day, this.range) : true,\r\n isToday: isSameDay(day, new Date()),\r\n inMonth: monthInterval.start.getMonth() === day.getMonth()\r\n };\r\n });\r\n weeks.push(week);\r\n }\r\n this.weeks = weeks;\r\n }\r\n}\r\n\r\nexport interface PickerWeek {\r\n weeks: {\r\n weekNumber: number;\r\n days: PickerDay[]\r\n }[];\r\n}\r\n\r\nexport interface PickerDay {\r\n value: Date,\r\n isToday: boolean,\r\n isInRange: boolean,\r\n inMonth: boolean,\r\n isSelected: boolean\r\n}","<div class=\"position-relative\" [class.to-left]=\"toLeft\">\r\n <nav class=\"bg-white shadow rounded position-absolute\" style=\"width:350px\">\r\n <header class=\"bg-primary p-2 rounded-top d-flex justify-content-between align-items-center gap-1\">\r\n <button tabIndex=\"-1\" class=\"btn btn-primary text-white rounded-pill\" type=\"button\" (click)=\"onPrev()\"><span class=\"fa fa-chevron-left\"></span></button>\r\n <ng-container *ngIf=\"!years&&!months\">\r\n <button tabIndex=\"-1\" class=\"btn btn-primary text-white rounded-pill\" type=\"button\" (click)=\"onShowMonth();$event.stopPropagation()\">{{selectedDate|adbLocaleDate:'MMM'}}</button>\r\n <button tabIndex=\"-1\" class=\"btn btn-primary text-white rounded-pill\" type=\"button\" (click)=\"onShowYear();$event.stopPropagation()\">{{selectedDate|date:'yyyy'}}</button>\r\n </ng-container>\r\n <button tabIndex=\"-1\" *ngIf=\"years\" class=\"btn btn-primary text-white rounded-pill\" type=\"button\" (click)=\"years=null;;$event.stopPropagation()\">{{years[0].title}} - {{years[years.length-1].title}}</button>\r\n <button tabIndex=\"-1\" *ngIf=\"months\" class=\"btn btn-primary text-white rounded-pill\" type=\"button\" (click)=\"onShowYear();;$event.stopPropagation()\">{{selectedDate|date:'yyyy'}}</button>\r\n <button tabIndex=\"-1\" class=\"btn btn-primary text-white rounded-pill\" type=\"button\" (click)=\"onNext()\"><span class=\"fa fa-chevron-right\"></span></button>\r\n </header>\r\n <div class=\"p-0 border calendar\">\r\n <ul class=\"list-unstyled row\" *ngIf=\"years\">\r\n <li class=\"col-3 text-center px-2 py-3\" *ngFor=\"let year of years\">\r\n <button type=\"button\" tabIndex=\"-1\" class=\"btn btn-sm btn-outline-secondary rounded-pill\" (click)=\"onSelectYear(year.value);$event.stopPropagation()\" [class.active]=\"year.hasObservation\" [ngClass]=\"{'border border-secondary':year.isThisYear}\">{{year.title}}</button>\r\n </li>\r\n </ul>\r\n <ul class=\"list-unstyled row\" *ngIf=\"months\">\r\n <li class=\"col-4 text-center px-2 py-3\" *ngFor=\"let month of months\">\r\n <button type=\"button\" tabIndex=\"-1\" class=\"btn btn-sm btn-outline-secondary rounded-pill\" (click)=\"onSelectMonth(month.value);$event.stopPropagation()\" [class.active]=\"month.observation\" [ngClass]=\"{'border border-secondary':month.isThisMonth}\">\r\n {{'MONTHS.'+(month.value+1)|translate}}\r\n </button>\r\n </li>\r\n </ul>\r\n <div class=\"days\" *ngIf=\"!years&&!months\">\r\n <div class=\"text-center border-bottom py-2 text-muted\" *ngFor=\"let weekDay of weekDays\">{{'WEEK_DAYS.'+weekDay|translate}}</div>\r\n <ng-container *ngFor=\"let week of weeks\">\r\n <button tabIndex=\"-1\" class=\"btn rounded-circle p-0 m-2\" *ngFor=\"let day of week.days\" (click)=\"onSelectDate(day)\" type=\"button\" \r\n [class.border]=\"day.isToday\" [class.bg-primary]=\"day.isSelected\" [class.text-white]=\"day.isSelected\" [ngClass]=\"{'pe-none text-muted opacity-50':!day.inMonth||!day.isInRange}\">\r\n <small>{{day.value|date:'d'}}</small>\r\n </button>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </nav>\r\n</div>","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { TranslateModule } from \"@ngx-translate/core\";\r\nimport { AdbDirectivesModule } from \"../../directives/directives.module\";\r\nimport { AdbPipesModule } from \"../../pipes/pipes.module\";\r\nimport { AdbDatePickerComponent } from \"./adb-date-picker.component\";\r\nimport { AdbDatePickerDirective } from \"./adb-date-picker.directive\";\r\nimport { AdbDatePickerService } from \"./adb-date-picker.service\";\r\n\r\n@NgModule({\r\n imports: [CommonModule, TranslateModule.forChild(), AdbPipesModule, AdbDirectivesModule],\r\n declarations: [AdbDatePickerComponent, AdbDatePickerDirective],\r\n exports: [AdbDatePickerComponent, AdbDatePickerDirective],\r\n providers: [AdbDatePickerService]\r\n})\r\nexport class AdbDatePickerModule { }","import { ElementRef, Injectable } from \"@angular/core\";\r\n\r\n@Injectable()\r\nexport class AdbDropdownService {\r\n currentMenu: any;\r\n currentMenuId: string;\r\n}","import { Directive, ElementRef, EventEmitter, HostBinding, HostListener, Input, Output } from \"@angular/core\";\r\nimport { AdbDropdownService } from \"./adb-dropdown.service\";\r\n\r\n@Directive({\r\n selector: '[adbDropdown]',\r\n exportAs: 'adbDropdown'\r\n})\r\nexport class AdbDropdownDirective {\r\n\r\n constructor(\r\n private elementRef: ElementRef,\r\n private adbDropdownService: AdbDropdownService) {\r\n this.id = this.getId();\r\n }\r\n\r\n @Output() adbDropdown = new EventEmitter();\r\n @Input() insideClick = false;\r\n\r\n @HostBinding('id')\r\n id: string;\r\n\r\n @HostBinding('attr.data-toggle')\r\n dataToggle = \"dropdown\";\r\n\r\n @HostBinding('attr.aria-haspopup')\r\n haspPopup = true;\r\n\r\n\r\n @HostBinding('attr.aria-expanded')\r\n expanded = false;\r\n\r\n @HostListener('click')\r\n onClick(): void {\r\n this.adbDropdownService.currentMenuId = this.id;\r\n const node = this.elementRef.nativeElement.parentNode;\r\n const toggleButton = node.querySelector('.dropdown-toggle');\r\n let style = `transform:translate3d(0px, ${toggleButton?.clientHeight + 1}px, 0px);`;\r\n const menu = node.querySelector('.dropdown-menu');\r\n if (menu) {\r\n this.adbDropdownService.currentMenu = this.elementRef.nativeElement;\r\n if (menu.classList?.contains('dropdown-menu-end')) {\r\n style = style + 'inset: 0px 0px auto auto;';\r\n }\r\n menu.setAttribute('style', style);\r\n if (menu.classList.contains('show')) {\r\n menu.classList.remove('show');\r\n } else {\r\n this.adbDropdown.emit();\r\n menu.classList.add('show');\r\n }\r\n }\r\n }\r\n\r\n @HostListener('document:click', ['$event.target'])\r\n onCheckOutSideClick(target: any): void {\r\n if (this.adbDropdownService.currentMenuId === this.id) {\r\n const parent = this.insideClick?this.elementRef.nativeElement.parentNode:this.elementRef.nativeElement;\r\n const clickedInside = parent.contains(target);\r\n if (!clickedInside) {\r\n const parent = this.elementRef.nativeElement.parentNode.querySelector('.dropdown-menu');\r\n parent?.classList.remove('show');\r\n }\r\n } else {\r\n const parent = this.elementRef.nativeElement.parentNode.querySelector('.dropdown-menu');\r\n parent?.classList.remove('show');\r\n }\r\n }\r\n\r\n close(): void {\r\n const node = this.elementRef.nativeElement.parentNode;\r\n const menu = node.querySelector('.dropdown-menu');\r\n menu.classList.remove('show');\r\n }\r\n\r\n private getId(): string {\r\n return '' + Math.floor(Math.random() * Date.now())\r\n }\r\n}","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { TranslateModule } from \"@ngx-translate/core\";\r\nimport { AdbDirectivesModule } from \"../../directives/directives.module\";\r\nimport { AdbDropdownDirective } from \"./adb-dropdown.directive\";\r\nimport { AdbDropdownService } from \"./adb-dropdown.service\";\r\n\r\n@NgModule({\r\n imports: [CommonModule, TranslateModule.forChild(), AdbDirectivesModule],\r\n declarations: [AdbDropdownDirective],\r\n exports: [AdbDropdownDirective],\r\n providers: [AdbDropdownService]\r\n})\r\nexport class AdbDropdownModule { }","import { ApplicationRef, ComponentFactoryResolver, EmbeddedViewRef, Injectable, Injector, Renderer2, RendererFactory2 } from \"@angular/core\";\r\nimport { Subject } from \"rxjs\";\r\nimport { AdbConfirmModal, DialogModel } from \"./adb-confirm-modal\";\r\n\r\n@Injectable()\r\nexport class AdbModalService {\r\n private closeSubject = new Subject<boolean>();\r\n close$ = this.closeSubject.asObservable();\r\n renderer: Renderer2;\r\n domElem: HTMLElement;\r\n backdrop: any;\r\n\r\n constructor(\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n rendererFactory: RendererFactory2,\r\n private appRef: ApplicationRef,\r\n private injector: Injector) {\r\n this.renderer = rendererFactory.createRenderer(null, null);\r\n }\r\n\r\n hide(confirm: boolean): void {\r\n this.closeSubject.next(confirm);\r\n document.body.removeChild(this.domElem);\r\n document.body.removeChild(this.backdrop);\r\n this.renderer.removeClass(document.body, 'modal-open');\r\n }\r\n\r\n showConfirm(model: DialogModel): void {\r\n this.renderer.addClass(document.body, 'modal-open');\r\n this.backdrop = this.renderer.createElement('div');\r\n this.backdrop.classList.add('modal-backdrop', 'fade', 'show');\r\n this.renderer.appendChild(document.body, this.backdrop);\r\n \r\n let componentRef = this.componentFactoryResolver.resolveComponentFactory(AdbConfirmModal) .create(this.injector);\r\n model.header = model.header ?? 'NOT_SET';\r\n model.text = model.text ?? 'NOT_SET';\r\n model.confirm = model.confirm ?? 'OK';\r\n model.decline = model.decline ?? 'CANCEL';\r\n componentRef.instance.model = model;\r\n\r\n this.appRef.attachView(componentRef.hostView);\r\n this.domElem = (componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\r\n document.body.appendChild(this.domElem);\r\n\r\n }\r\n}","import { Component, Input } from '@angular/core';\r\nimport { AdbModalService } from './adb-modal.service';\r\n@Component({\r\n templateUrl: 'adb-confirm-modal.html'\r\n})\r\nexport class AdbConfirmModal {\r\n @Input() public model: DialogModel;\r\n constructor(public modalRef: AdbModalService) {\r\n }\r\n\r\n onClose(confirm: boolean): void {\r\n this.modalRef.hide(confirm);\r\n }\r\n}\r\n\r\nexport interface DialogModel {\r\n header: string;\r\n text: string;\r\n confirm?: string;\r\n decline?: string;\r\n value?: any;\r\n}\r\n","<div class=\"modal fade show\" *ngIf=\"model\">\r\n <div class=\"modal-dialog modal-dialog-centered\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\">\r\n <h1 class=\"h-subsection mb-0 modal-title\" translate>{{model.header}}</h1>\r\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\" (click)=\"onClose(false)\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{model.text|translate}}\r\n <div *ngIf=\"model.value\">\r\n <strong>{{model.value}}</strong>\r\n </div>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <div class=\"text-right\">\r\n <button type=\"button\" class=\"btn btn-primary me-2\"\r\n (click)=\"onClose(true)\">{{model.confirm|translate}}</button>\r\n <button type=\"button\" class=\"btn btn-secondary\"\r\n (click)=\"onClose(false)\">{{model.decline|translate}}</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { TranslateModule } from \"@ngx-translate/core\";\r\nimport { AdbDirectivesModule } from \"../../directives/directives.module\";\r\nimport { AdbConfirmModal } from \"./adb-confirm-modal\";\r\nimport { AdbModalService } from \"./adb-modal.service\";\r\n\r\n@NgModule({\r\n imports: [CommonModule, TranslateModule.forChild(), AdbDirectivesModule],\r\n declarations: [AdbConfirmModal],\r\n exports: [AdbConfirmModal],\r\n providers: [AdbModalService]\r\n})\r\nexport class AdbModalModule { }","/*\r\n * Public API Surface of artdata-shared\r\n */\r\n\r\n\r\nexport * from './lib/components/adb-header/adb-header.module';\r\nexport * from './lib/components/adb-header/adb-header.component';\r\n\r\nexport * from './lib/directives/directives.module';\r\nexport * from './lib/directives/click-outside.directive';\r\nexport * from './lib/directives/focus.directive';\r\nexport * from './lib/directives/file-upload.directive';\r\n\r\nexport * from './lib/components/pagers/pagers.module';\r\nexport * from './lib/components/pagers/infinite-scroll.component';\r\nexport * from './lib/components/pagers/pager';\r\n\r\nexport * from './lib/pipes/pipes.module';\r\nexport * from './lib/pipes/highlight.pipe';\r\nexport * from './lib/pipes/number-spacing.pipe';\r\nexport * from './lib/pipes/date.pipe';\r\n\r\nexport * from './lib/components/date-picker/adb-date-picker.module';\r\nexport * from './lib/components/date-picker/adb-date-picker.component';\r\nexport * from './lib/components/date-picker/adb-date-picker.directive';\r\n\r\nexport * from './lib/components/adb-dropdown/adb-dropdown.module';\r\nexport * from './lib/components/adb-dropdown/adb-dropdown.directive';\r\n\r\nexport * from './lib/components/adb-confirm-modal/adb-modal.module';\r\nexport * from './lib/components/adb-confirm-modal/adb-confirm-modal';\r\nexport * from './lib/components/adb-confirm-modal/adb-modal.service';\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.EnvironmentService","i3","i4","i1","i1.AdbDatePickerService","i2","i3.LocaleDatePipe","i1.AdbDropdownService","i1.AdbModalService"],"mappings":"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"}
1
+ {"version":3,"file":"adb-shared.mjs","sources":["../../../projects/artdata-shared/src/lib/components/adb-header/environment.service.ts","../../../projects/artdata-shared/src/lib/components/adb-header/adb-header.component.ts","../../../projects/artdata-shared/src/lib/components/adb-header/adb-header.component.html","../../../projects/artdata-shared/src/lib/directives/click-outside.directive.ts","../../../projects/artdata-shared/src/lib/directives/file-upload.directive.ts","../../../projects/artdata-shared/src/lib/directives/focus.directive.ts","../../../projects/artdata-shared/src/lib/directives/directives.module.ts","../../../projects/artdata-shared/src/lib/components/adb-header/adb-header.module.ts","../../../projects/artdata-shared/src/lib/components/pagers/infinite-scroll.component.ts","../../../projects/artdata-shared/src/lib/components/pagers/pager-base.directive.ts","../../../projects/artdata-shared/src/lib/components/pagers/pager.ts","../../../projects/artdata-shared/src/lib/components/pagers/pager.html","../../../projects/artdata-shared/src/lib/components/pagers/pagers.module.ts","../../../projects/artdata-shared/src/lib/pipes/date.pipe.ts","../../../projects/artdata-shared/src/lib/pipes/highlight.pipe.ts","../../../projects/artdata-shared/src/lib/pipes/number-spacing.pipe.ts","../../../projects/artdata-shared/src/lib/pipes/pipes.module.ts","../../../projects/artdata-shared/src/lib/components/date-picker/adb-date-picker.service.ts","../../../projects/artdata-shared/src/lib/components/date-picker/adb-date-picker.directive.ts","../../../projects/artdata-shared/src/lib/components/date-picker/adb-date-picker.component.ts","../../../projects/artdata-shared/src/lib/components/date-picker/adb-date-picker.component.html","../../../projects/artdata-shared/src/lib/components/date-picker/adb-date-picker.module.ts","../../../projects/artdata-shared/src/lib/components/adb-dropdown/adb-dropdown.service.ts","../../../projects/artdata-shared/src/lib/components/adb-dropdown/adb-dropdown.directive.ts","../../../projects/artdata-shared/src/lib/components/adb-dropdown/adb-dropdown.module.ts","../../../projects/artdata-shared/src/lib/components/adb-confirm-modal/adb-modal.service.ts","../../../projects/artdata-shared/src/lib/components/adb-confirm-modal/adb-confirm-modal.ts","../../../projects/artdata-shared/src/lib/components/adb-confirm-modal/adb-confirm-modal.html","../../../projects/artdata-shared/src/lib/components/adb-confirm-modal/adb-modal.module.ts","../../../projects/artdata-shared/src/public-api.ts","../../../projects/artdata-shared/src/adb-shared.ts"],"sourcesContent":["import { Inject, Injectable } from \"@angular/core\";\r\n\r\n@Injectable()\r\nexport class EnvironmentService {\r\n constructor(@Inject('env') public environment) {\r\n }\r\n}","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { forkJoin, Subscription } from 'rxjs';\r\nimport { EnvironmentService } from './environment.service';\r\nimport { Navigation } from './navigation.model';\r\nimport { take } from 'rxjs/operators';\r\n@Component({\r\n selector: 'adb-header2',\r\n templateUrl: './adb-header.component.html'\r\n})\r\nexport class ADBHeaderComponent implements OnInit, OnDestroy {\r\n private subscription = new Subscription();\r\n @Output() loginClicked = new EventEmitter();\r\n @Output() logoutClicked = new EventEmitter();\r\n @Output() dropMenuChange = new EventEmitter<boolean>();\r\n fullName: string;\r\n translationFinished = false;\r\n @Input() set userName(fullName: string) {\r\n this.fullName = fullName;\r\n const splitted = fullName.split(' ');\r\n if (splitted?.length > 1) {\r\n const initials = splitted.shift().charAt(0) + splitted.pop().charAt(0);\r\n this.initials = initials.toUpperCase();\r\n } else {\r\n this.initials = this.fullName ? this.fullName.charAt(0).toUpperCase() : this.fullName;\r\n }\r\n };\r\n initials: string;\r\n showMenu = false;\r\n showUserMenu = false;\r\n navigation: Navigation;\r\n url: string;\r\n expandedLink: string;\r\n constructor(\r\n private httpClient: HttpClient,\r\n private envService: EnvironmentService,\r\n public trans: TranslateService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.url = window.location.href;\r\n const baseUrl = this.envService.environment.resourceUrl;\r\n this.subscription.add(this.httpClient.get<Navigation>(baseUrl + '/assets/links.json').subscribe(result => {\r\n this.navigation = result;\r\n }));\r\n this.initTranslations(baseUrl);\r\n }\r\n\r\n private initTranslations(baseUrl: string): void {\r\n if (this.trans.store.translations[this.trans.currentLang]) {\r\n this.loadTranslation(baseUrl, this.trans.currentLang);\r\n }\r\n this.subscription.add(this.trans.onLangChange.subscribe((event) => {\r\n this.translationFinished = false;\r\n this.loadTranslation(baseUrl, event.lang);\r\n }));\r\n }\r\n\r\n private loadTranslation(baseUrl: string, lang: string): void {\r\n //TODO: Prepare for diffents lang then en sv (en-GB) or add more files in devcomponentserver :)\r\n this.subscription.add(this.httpClient.get(baseUrl + `/assets/i18n/${lang}.json`).subscribe(translations => {\r\n this.trans.setTranslation(lang, translations, true);\r\n this.translationFinished = true;\r\n }));\r\n }\r\n\r\n showMenuDropdown(show: boolean): void {\r\n if (this.showMenu !== show) {\r\n this.showMenu = show;\r\n this.dropMenuChange.emit(show);\r\n }\r\n }\r\n\r\n setLanguage(lang): void {\r\n this.trans.use(lang);\r\n this.showMenu = false;\r\n this.dropMenuChange.emit(false);\r\n //TODO: set localstorage/cookies or probaly event to main app\r\n }\r\n\r\n onExpandLink(event: any, transId: string): void {\r\n event.preventDefault(); event.stopPropagation();\r\n if (this.expandedLink === transId) {\r\n this.expandedLink = null;\r\n return;\r\n }\r\n this.expandedLink = transId;\r\n }\r\n\r\n login(): void {\r\n this.loginClicked.emit();\r\n }\r\n\r\n logout(): void {\r\n this.logoutClicked.emit();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n // private initAllTranslations(baseUrl: string): void {\r\n // const trans$ = forkJoin([this.httpClient.get(baseUrl + '/assets/i18n/en.json'), this.httpClient.get(baseUrl + '/assets/i18n/sv.json')])\r\n // this.subscription.add(trans$.subscribe(result => {\r\n // this.trans.setTranslation('en', result[0], true);\r\n // this.trans.setTranslation('sv', result[1], true);\r\n // }));\r\n // }\r\n}\r\n\r\n","<header id=\"top-header\" (clickOutside)=\"showUserMenu=false;showMenuDropdown(false);\">\r\n <nav class=\"d-flex flex-wrap px-3\">\r\n <div class=\"flex-grow-1 d-flex align-items-center justify-content-between justify-content-md-start\">\r\n <div class=\"logo d-none d-md-block\">\r\n <img src=\"/assets/images/logo.svg\" style=\"height: 3.2rem;\">\r\n </div>\r\n <div class=\"logo ps-2 d-sm-block d-md-none d-flex align-items-center\">\r\n <img src=\"/assets/images/logo_sm_white.png\" style=\"height: 2rem;\">\r\n </div>\r\n <strong class=\"bigger\">{{'ADB_HEADER.TITLE'|translate}}</strong>\r\n </div>\r\n <div *ngIf=\"translationFinished\" class=\"flex-grow-1 d-flex justify-content-lg-between justify-content-end align-items-center\">\r\n <div *ngIf=\"navigation\" class=\"d-flex align-items-center\">\r\n <nav class=\"d-none align-items-center d-lg-flex pe-4 gap-4\" *ngIf=\"navigation\">\r\n <ng-container *ngFor=\"let link of navigation.links\">\r\n <a href=\"{{link.url}}?lang={{trans.currentLang}}\" *ngIf=\"link.topLink\" [ngClass]=\"{'d-none d-xl-block':link.transId==='ADB_HEADER.OBSERVATION'}\">\r\n {{link.transId|translate}}\r\n </a>\r\n </ng-container>\r\n </nav>\r\n <div>\r\n <button type=\"button\" class=\"btn btn-sm py-1 px-2 btn-primary\" (click)=\"showUserMenu = false;showMenuDropdown(!showMenu)\">\r\n {{'ADB_HEADER.MENY'|translate}}\r\n <i class=\"ms-1 fas\" [ngClass]=\"showMenu?'fa-chevron-up':'fa-chevron-down'\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"d-none d-md-block ps-4\">\r\n <button *ngIf=\"initials\" type=\"button\" class=\"btn initials\" (click)=\"showUserMenu = !showUserMenu;showMenuDropdown(false)\">{{initials}}</button>\r\n <button *ngIf=\"!initials\" type=\"button\" (click)=\"showUserMenu = !showUserMenu;showMenuDropdown(false)\" class=\"btn btn-link\">\r\n {{'ADB_HEADER.LOGIN'|translate}}\r\n </button>\r\n </div>\r\n </div>\r\n </nav>\r\n <div class=\"menu\" *ngIf=\"showUserMenu\">\r\n <div class=\"menu-body bg-white p-3\" style=\"width:15rem\">\r\n <ng-container *ngIf=\"initials\">\r\n <div class=\"d-flex align-items-center gap-2 text-dark\">\r\n <span class=\"initials\">{{initials}}</span>\r\n <strong>{{fullName}}</strong>\r\n </div>\r\n <hr class=\"mx-n3 text-muted\">\r\n <button (click)=\"logout()\" type=\"button\" class=\"btn btn-link p-0\">\r\n <i class=\"fas fa-sign-out-alt me-1\"></i>{{'ADB_HEADER.LOGOUT'|translate}}\r\n </button>\r\n </ng-container>\r\n <ng-container *ngIf=\"!initials\">\r\n <div class=\"d-flex justify-content-center\">\r\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"login()\" id=\"start-login\">{{'ADB_HEADER.LOGIN'|translate}}</button>\r\n </div>\r\n <a *ngIf=\"navigation\" class=\"d-block mt-3\" href=\"{{navigation.createAccountLink}}?lang={{trans.currentLang}}&returnUrl={{url}}\">\r\n {{'ADB_HEADER.CREATE_USER'|translate}}\r\n </a>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"menu\" *ngIf=\"showMenu\">\r\n <div class=\"menu-body\" *ngIf=\"navigation\">\r\n <div class=\"px-3 pt-3 mb-1\">\r\n <div class=\"d-flex justify-content-between flex-wrap gap-2 mb-2\">\r\n <div>\r\n <div class=\"d-flex d-md-none align-items-center gap-2\" *ngIf=\"initials\">\r\n <span class=\"initials me-2\">{{initials}}</span>\r\n <button type=\"button\" (click)=\"logout()\" class=\"btn btn-primary\">\r\n {{'ADB_HEADER.LOGOUT'|translate}}\r\n </button>\r\n </div>\r\n <div class=\"d-flex gap-2 d-md-none\" *ngIf=\"!initials\">\r\n <button type=\"button\" (click)=\"login()\" class=\"btn btn-primary\" id=\"login\">\r\n {{'ADB_HEADER.LOGIN'|translate}}\r\n </button>\r\n <a href=\"{{navigation.createAccountLink}}?lang={{trans.currentLang}}&returnUrl={{url}}\"\r\n class=\"btn btn-primary text-white\">\r\n {{'ADB_HEADER.CREATE_USER'|translate}}\r\n </a>\r\n </div>\r\n </div>\r\n <div>\r\n <button type=\"button\" *ngIf=\"trans.currentLang==='en'\" (click)=\"setLanguage('sv')\"\r\n class=\"btn btn-primary\">\r\n {{'ADB_HEADER.IN_SWEDISH'|translate}}\r\n </button>\r\n <button type=\"button\" *ngIf=\"trans.currentLang==='sv'\" (click)=\"setLanguage('en')\"\r\n class=\"btn btn-primary\">\r\n {{'ADB_HEADER.IN_ENGLISH'|translate}}\r\n </button>\r\n </div>\r\n </div>\r\n {{'ADB_HEADER.SERVICES'|translate}}\r\n </div>\r\n <div id=\"splash\">\r\n <div class=\"px-3 d-flex flex-column\">\r\n <ul class=\"list-group ms-0 mb-0 ps-0\">\r\n <li class=\"mb-1 list-group-item p-0 rounded\" *ngFor=\"let link of navigation.links\"\r\n [attr.aria-expanded]=\"link.transId===expandedLink?true:false\" role=\"button\">\r\n <div class=\"d-flex align-items-center justify-content-between\">\r\n <a href=\"{{link.url}}?lang={{trans.currentLang}}\" class=\"d-flex align-items-center flex-grow-1 p-2\">\r\n <small class=\"fa-stack me-1\" *ngIf=\"link.icon\">\r\n <span class=\"fas fa-circle fa-stack-2x text-primary\"></span>\r\n <span class=\"fas fa-stack-1x fa-inverse\" [ngClass]=\"link.icon\"></span>\r\n </small>\r\n {{link.transId|translate}}\r\n </a>\r\n <button class=\"btn btn-expand me-2\" *ngIf=\"link.children?.length>0\" (click)=\"onExpandLink($event,link.transId)\">\r\n <i class=\"fas fa-chevron-up\" [ngClass]=\"link.transId===expandedLink?'d-block ':'d-none'\"></i>\r\n <i class=\"fas fa-chevron-down\" [ngClass]=\"link.transId!==expandedLink?'d-block ':'d-none'\"></i>\r\n </button>\r\n </div>\r\n <ul class=\"list-unstyled\" [ngClass]=\"link.transId===expandedLink?'d-block':'d-none'\">\r\n <li class=\"py-1 m-0\" [class.pt-0]=\"first\" *ngFor=\"let subLink of link.children;let first = first\" style=\"padding-left:3rem;\">\r\n <a class=\"w-100 d-block\" href=\"{{subLink.url}}?lang={{trans.currentLang}}\">\r\n {{subLink.transId|translate}}\r\n </a>\r\n </li>\r\n </ul>\r\n </li>\r\n </ul>\r\n <div *ngIf=\"navigation.about\" class=\"mt-2 mb-auto\">\r\n <div class=\"mb-1\">{{'ADB_HEADER.CONTACT'|translate}}</div>\r\n <div class=\"mb-1 row\">\r\n <div class=\"col-sm-6 mb-2\">\r\n <div class=\"bg-white p-2 rounded\">\r\n <small class=\"fa-stack\" *ngIf=\"navigation.about.icon\">\r\n <span class=\"fas fa-circle fa-stack-2x text-primary\"></span>\r\n <span class=\"fas fa-stack-1x fa-inverse fa-envelope\"></span>\r\n </small>\r\n <a class=\"bg-white p-2\" href=\"mailto:artfakta@artdatabanken.se\">artfakta@artdatabanken.se</a>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-6 mb-2\">\r\n <div class=\"bg-white p-2 rounded\">\r\n <small class=\"fa-stack\" *ngIf=\"navigation.about.icon\">\r\n <span class=\"fas fa-circle fa-stack-2x text-primary\"></span>\r\n <span class=\"fas fa-stack-1x fa-inverse\" [ngClass]=\"navigation.about.icon\"></span>\r\n </small>\r\n <a [href]=\"navigation.about.url\">{{navigation.about.transId|translate}}</a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div style=\"height:10rem\"></div>\r\n <div class=\"mb-3\">\r\n {{'ADB_HEADER.DEVELOPED_BY'|translate}}\r\n <a href=\"https://www.artdatabanken.se/\" class=\"text-white\"><u>{{'ADB_HEADER.ARTDATABANKEN'|translate}}</u></a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</header>\r\n","import { Directive, Output, EventEmitter, ElementRef, HostListener } from '@angular/core';\r\n@Directive({\r\n selector: '[adbClickOutside]',\r\n})\r\nexport class ClickOutsideDirective {\r\n @Output() adbClickOutside = new EventEmitter<any>();\r\n constructor(private elementRef: ElementRef) { }\r\n\r\n @HostListener('document:click', ['$event.target'])\r\n public onClick(target: any) {\r\n const clickedInside = this.elementRef.nativeElement.contains(target);\r\n if (!clickedInside) {\r\n this.adbClickOutside.emit(target);\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, EventEmitter } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: 'input[adbFileUpload]',\r\n host: {\r\n '(change)': 'onBeginUpload($event.target)',\r\n '(click)': 'onClick($event.target)'\r\n },\r\n outputs: ['upload']\r\n})\r\nexport class FileUploadDirective {\r\n upload = new EventEmitter();\r\n click = new EventEmitter();\r\n constructor(private el: ElementRef) {}\r\n \r\n onBeginUpload(target: any) {\r\n if (target) {\r\n if (target.files && target.files[0]) {\r\n this.upload.emit(target.files[0]);\r\n }\r\n }\r\n }\r\n\r\n onClick(target: any) {\r\n (this.el.nativeElement as HTMLInputElement).value = '';\r\n if (target) {\r\n this.click.emit(target);\r\n }\r\n }\r\n}","/* eslint-disable @angular-eslint/directive-selector */\r\nimport { Directive, ElementRef, AfterViewInit, Input } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[adbFocus]',\r\n})\r\nexport class FocusDirective implements AfterViewInit {\r\n\r\n @Input('adbFocus')\r\n focused = false;\r\n\r\n constructor(public element: ElementRef<HTMLElement>) {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n // ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked.\r\n if (this.focused) {\r\n setTimeout(() => this.element.nativeElement.focus(), 0);\r\n }\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { ClickOutsideDirective } from \"./click-outside.directive\";\r\nimport { FileUploadDirective } from \"./file-upload.directive\";\r\nimport { FocusDirective } from \"./focus.directive\";\r\n\r\n@NgModule({\r\n imports: [],\r\n declarations: [ClickOutsideDirective, FocusDirective, FileUploadDirective],\r\n exports: [ClickOutsideDirective, FocusDirective, FileUploadDirective]\r\n})\r\nexport class AdbDirectivesModule { }","import { CommonModule } from '@angular/common';\r\nimport { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { ADBHeaderComponent } from './adb-header.component';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { EnvironmentService } from './environment.service';\r\nimport { RouterModule } from '@angular/router';\r\nimport { AdbDirectivesModule } from '../../directives/directives.module';\r\n\r\n\r\n@NgModule({\r\n declarations: [ADBHeaderComponent],\r\n imports: [\r\n CommonModule,\r\n HttpClientModule,\r\n RouterModule,\r\n TranslateModule,\r\n AdbDirectivesModule\r\n ],\r\n exports: [ADBHeaderComponent]\r\n})\r\nexport class ADBHeaderModule {\r\n public static forRoot(environment: any): ModuleWithProviders<ADBHeaderModule> {\r\n return {\r\n ngModule: ADBHeaderModule,\r\n providers: [\r\n EnvironmentService,\r\n {\r\n provide: 'env', // you can also use InjectionToken\r\n useValue: environment\r\n }\r\n ]\r\n };\r\n }\r\n}\r\n","import { AfterViewInit, Directive, ElementRef, EventEmitter, HostBinding, OnDestroy, Output } from \"@angular/core\";\r\n\r\n@Directive({ selector: \"[onVisible]\" })\r\nexport class InfiniteScrollComponent implements AfterViewInit, OnDestroy {\r\n @Output() public onVisible: EventEmitter<any> = new EventEmitter();\r\n @HostBinding('style.height') height = '1px';\r\n private _intersectionObserver?: IntersectionObserver;\r\n\r\n constructor(private _element: ElementRef) { }\r\n\r\n public ngAfterViewInit() {\r\n this._intersectionObserver = new IntersectionObserver(entries => {\r\n this.checkForIntersection(entries);\r\n }, {});\r\n this._intersectionObserver.observe(<Element>this._element.nativeElement);\r\n }\r\n\r\n public ngOnDestroy() {\r\n if (this._intersectionObserver) {\r\n this._intersectionObserver.disconnect();\r\n }\r\n }\r\n\r\n private checkForIntersection = (\r\n entries: Array<IntersectionObserverEntry>\r\n ) => {\r\n entries.forEach((entry: IntersectionObserverEntry) => {\r\n const isIntersecting =\r\n (<any>entry).isIntersecting &&\r\n entry.target === this._element.nativeElement;\r\n\r\n if (isIntersecting) {\r\n this.onVisible.emit();\r\n }\r\n });\r\n };\r\n}\r\n","import { Input } from '@angular/core';\r\nimport { Directive } from '@angular/core';\r\n@Directive()\r\nexport abstract class PagerBaseDirective {\r\n private static DEFAULT_LIMIT = 10;\r\n private static VISIBLE_PAGES = 5;\r\n protected static SKIP_RESOURCE = 'offset';\r\n\r\n @Input() totalCount: number;\r\n pages: Array<number>;\r\n @Input() limit: number = PagerBaseDirective.DEFAULT_LIMIT;\r\n amountOfPages: number;\r\n currentPage = 1;\r\n\r\n protected calculatePages(): void {\r\n this.amountOfPages = Math.ceil(this.totalCount / this.limit);\r\n if ((this.currentPage + 1) > PagerBaseDirective.VISIBLE_PAGES) {\r\n this.pages = [\r\n this.currentPage - 2,\r\n this.currentPage - 1, this.currentPage];\r\n const above = this.amountOfPages - this.currentPage;\r\n if (above >= 1) {\r\n this.pages.push(this.currentPage + 1);\r\n }\r\n if (above >= 2) {\r\n this.pages.push(this.currentPage + 2);\r\n }\r\n } else if (this.totalCount) {\r\n const max = this.amountOfPages > PagerBaseDirective.VISIBLE_PAGES ? 5 : this.amountOfPages;\r\n this.pages = Array(Math.ceil(max)).fill(1).map((x, i) => i + 1);\r\n }\r\n }\r\n\r\n}\r\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { PagerBaseDirective } from './pager-base.directive';\r\n\r\n@Component({\r\n selector: 'adb-pager-nav',\r\n templateUrl: 'pager.html'\r\n})\r\nexport class PagerComponent extends PagerBaseDirective implements OnInit, OnDestroy {\r\n private subscription = new Subscription();\r\n\r\n constructor(private activatedRoute: ActivatedRoute) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.subscription.add(this.activatedRoute.queryParams.subscribe(params => {\r\n if (params.offset) {\r\n this.currentPage = (+params.offset / this.limit) + 1;\r\n }\r\n this.calculatePages();\r\n }));\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscription.unsubscribe();\r\n }\r\n}\r\n","<nav *ngIf=\"pages&&pages.length>1&&currentPage<=amountOfPages\" class=\"d-flex justify-content-end pe-2 my-1\">\r\n <ul class=\"pagination mb-0\">\r\n <li class=\"page-item\" [class.disabled]=\"currentPage===1\">\r\n <a class=\"page-link\" [routerLink]=\"[]\" [queryParams]=\"{ offset: 0}\" queryParamsHandling=\"merge\">\r\n <i class=\"fas fa-chevron-double-left\"></i>\r\n </a>\r\n </li>\r\n <li class=\"page-item\" [class.disabled]=\"currentPage===1\">\r\n <a class=\"page-link\" [routerLink]=\"[]\" [queryParams]=\"{ offset: (currentPage-2)*limit}\"\r\n queryParamsHandling=\"merge\">\r\n <i class=\"fas fa-chevron-left\"></i>\r\n </a>\r\n </li>\r\n <li class=\"page-item\" [class.active]=\"currentPage===page\" *ngFor=\"let page of pages\">\r\n <a class=\"page-link\" [routerLink]=\"[]\" [queryParams]=\"{ offset: (page-1)*limit}\"\r\n queryParamsHandling=\"merge\">{{page}}</a>\r\n </li>\r\n <li class=\"page-item\" [class.disabled]=\"currentPage>=amountOfPages\">\r\n <a class=\"page-link\" [routerLink]=\"[]\" [queryParams]=\"{ offset: currentPage*limit}\"\r\n queryParamsHandling=\"merge\">\r\n <i class=\"fas fa-chevron-right\"></i>\r\n </a>\r\n </li>\r\n <li *ngIf=\"(amountOfPages-1)*limit<10000\" class=\"page-item\" [class.disabled]=\"currentPage>=amountOfPages\">\r\n <a class=\"page-link\" [routerLink]=\"[]\" [queryParams]=\"{ offset: (amountOfPages-1)*limit}\"\r\n queryParamsHandling=\"merge\">\r\n <i class=\"fas fa-chevron-double-right\"></i>\r\n </a>\r\n </li>\r\n </ul>\r\n</nav>","\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { InfiniteScrollComponent } from \"./infinite-scroll.component\";\r\nimport { PagerComponent } from \"./pager\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n RouterModule\r\n ],\r\n declarations: [InfiniteScrollComponent, PagerComponent],\r\n exports: [InfiniteScrollComponent, PagerComponent]\r\n})\r\nexport class AdbPagersModule { }","import { DatePipe } from \"@angular/common\";\r\nimport { Pipe, PipeTransform } from \"@angular/core\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n@Pipe({\r\n name: 'adbLocaleDate',\r\n pure: false\r\n})\r\nexport class LocaleDatePipe implements PipeTransform {\r\n constructor(private translate: TranslateService) {}\r\n transform(value: any, format: string) {\r\n return new DatePipe(this.translate.currentLang).transform(value, format, null, this.translate.currentLang);\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n@Pipe({\r\n name: 'adbHighlight'\r\n})\r\nexport class HighlightPipe implements PipeTransform {\r\n forbiddenSymbols = /[`!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?~]/;\r\n transform(value: any, searchs: any): any {\r\n if (!value) { return value; }\r\n value = value + '';\r\n if (searchs) {\r\n if (!Array.isArray(searchs)) {\r\n searchs = searchs.split(' ').filter(s => s);\r\n }\r\n for (let search of searchs) {\r\n if (this.forbiddenSymbols.test(search)) {\r\n search = search.replace(this.forbiddenSymbols, '');\r\n }\r\n const normalizedSearch = this.normalizeText(search);\r\n const normalizedValue = this.normalizeText(value);\r\n const start = normalizedValue ? normalizedValue.indexOf(normalizedSearch) : -1;\r\n if (start !== -1) {\r\n const matched = value.substring(start, start + search.length);\r\n value = value.replace(matched, `<mark>${matched}</mark>`);\r\n }\r\n }\r\n }\r\n return value;\r\n }\r\n\r\n private normalizeText(text: string): string {\r\n return text?.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '').toLocaleLowerCase();\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'adbSpacing',\r\n pure: false\r\n})\r\nexport class NumberSpacingPipe implements PipeTransform {\r\n transform(value) {\r\n // If value is empty, 0 is falsy so perform an extra check to not make '0' to an empty string\r\n if (!value && value !== 0) {\r\n return '';\r\n }\r\n return value.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ' ');\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { LocaleDatePipe } from \"./date.pipe\";\r\nimport { HighlightPipe } from \"./highlight.pipe\";\r\nimport { NumberSpacingPipe } from \"./number-spacing.pipe\";\r\n\r\n@NgModule({\r\n imports: [],\r\n declarations: [HighlightPipe, NumberSpacingPipe, LocaleDatePipe],\r\n exports: [HighlightPipe, NumberSpacingPipe, LocaleDatePipe]\r\n})\r\nexport class AdbPipesModule { }","import { ComponentRef, Inject, Injectable } from \"@angular/core\";\r\nimport { BehaviorSubject, Subject } from \"rxjs\";\r\nimport { AdbDatePickerComponent } from \"./adb-date-picker.component\";\r\n\r\n@Injectable()\r\nexport class AdbDatePickerService {\r\n viewRef: ComponentRef<AdbDatePickerComponent>;\r\n}","import { formatDate } from \"@angular/common\";\r\nimport { Directive, ElementRef, forwardRef, HostBinding, HostListener, Input, OnDestroy, OnInit, Renderer2, ViewContainerRef } from \"@angular/core\";\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR} from \"@angular/forms\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { isValid, parse, parseISO } from \"date-fns\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { AdbDatePickerComponent } from \"./adb-date-picker.component\";\r\nimport { AdbDatePickerService } from \"./adb-date-picker.service\";\r\n\r\n@Directive({\r\n selector: `input[adbDatepicker]`,\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => AdbDatePickerDirective),\r\n multi: true\r\n }]\r\n})\r\nexport class AdbDatePickerDirective implements ControlValueAccessor, OnInit, OnDestroy {\r\n @HostBinding('autocomplete') autocomplete = 'off';\r\n private subscriptions = new Subscription();\r\n @Input() format = 'yyyy-MM-dd';\r\n @Input() toLeft: boolean;\r\n @Input() settings: { maxDate?: Date | string, minDate?: Date | string } = null;\r\n id: string;\r\n initialDate: Date;\r\n\r\n constructor(\r\n private viewContainerRef: ViewContainerRef,\r\n private renderer: Renderer2,\r\n private elementRef: ElementRef,\r\n private adbDatePickerService: AdbDatePickerService,\r\n public translate: TranslateService) {\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n @HostListener('click')\r\n onClick(): void {\r\n if (this.adbDatePickerService.viewRef) {\r\n this.adbDatePickerService.viewRef.destroy();\r\n }\r\n const viewRef = this.viewContainerRef.createComponent<AdbDatePickerComponent>(AdbDatePickerComponent);\r\n viewRef.instance.settings = this.settings;\r\n viewRef.instance.toLeft = this.toLeft;\r\n viewRef.instance.initialDate = this.initialDate;\r\n this.id = this.getId();\r\n viewRef.instance.id = this.id;\r\n viewRef.instance.selectDate.subscribe((date) => {\r\n this.renderer.setProperty(this.elementRef.nativeElement, 'value', formatDate(date, this.format, this.translate.currentLang));\r\n this.onChange(date);\r\n this.initialDate = date;\r\n this.onHide();\r\n });\r\n viewRef.instance.hide.subscribe(() => {\r\n this.onHide();\r\n });\r\n this.adbDatePickerService.viewRef = viewRef;\r\n }\r\n\r\n @HostListener('keyup.esc')\r\n onHide(): void {\r\n this.adbDatePickerService.viewRef = null;\r\n this.viewContainerRef.detach();\r\n this.viewContainerRef.clear();\r\n }\r\n\r\n @HostListener('keydown', ['$event'])\r\n handleKeyboardEvent(event: KeyboardEvent) {\r\n if (event.key === 'Tab') {\r\n this.onHide();\r\n } else if (event.key === 'Backspace') {\r\n this.initialDate = null;\r\n this.renderer.setProperty(this.elementRef.nativeElement, 'value', null);\r\n this.onChange();\r\n this.onHide();\r\n }\r\n else {\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n\r\n @HostListener('document:click', ['$event.target'])\r\n onCheckOutSideClick(target: any): void {\r\n const nativeElement = this.adbDatePickerService.viewRef?.instance.elementRef.nativeElement ?? null;\r\n if (nativeElement) {\r\n if (nativeElement.id === this.id) {\r\n if (!target.hasAttribute('adbdatepicker')) {\r\n const clickedInside = nativeElement.contains(target);\r\n if (!clickedInside) {\r\n this.onHide();\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscriptions.unsubscribe();\r\n }\r\n\r\n //ControlValueAccessor\r\n onChange: any = () => { };\r\n onTouched: any = () => { };\r\n\r\n writeValue(value: Date | string): void {\r\n if (value) {\r\n this.initialDate = AdbDatePickerDirective.parseDate(value);\r\n if (this.initialDate) {\r\n this.renderer.setProperty(this.elementRef.nativeElement, 'value', formatDate(this.initialDate, this.format, this.translate.currentLang));\r\n }\r\n } else {\r\n this.initialDate = null;\r\n this.renderer.setProperty(this.elementRef.nativeElement, 'value', '');\r\n }\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.viewContainerRef.clear();\r\n }\r\n\r\n static parseDate(value: Date | string): Date {\r\n if (typeof value === 'string') {\r\n if (isValid(parseISO(value))) {\r\n return parseISO(value);\r\n } else {\r\n return null;\r\n }\r\n } else if (value instanceof Date) {\r\n return value;\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n private getId(): string {\r\n return '' + Math.floor(Math.random() * Date.now())\r\n }\r\n}","import { Component, ElementRef, EventEmitter, HostBinding, Input, OnDestroy, OnInit, Output } from \"@angular/core\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { addDays, addMonths, addYears, eachDayOfInterval, eachWeekOfInterval, endOfDay, endOfMonth, getHours, getISOWeek, getMinutes, getMonth, isSameDay, isSameMonth, isSameYear, isWithinInterval, startOfDay, startOfMonth, subMonths, subYears } from \"date-fns\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { AdbDatePickerDirective } from \"./adb-date-picker.directive\";\r\n\r\n@Component({\r\n selector: 'adb-date-picker',\r\n templateUrl: './adb-date-picker.component.html'\r\n})\r\nexport class AdbDatePickerComponent implements OnInit, OnDestroy {\r\n private subscriptions = new Subscription();\r\n static MONTHS = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\r\n static WEEK_DAYS = ['1', '2', '3', '4', '5', '6', '7'];\r\n static YEAR_INTERVALL = 8;\r\n currentdDate: Date = new Date();\r\n selectedDate: Date = new Date();\r\n years: { value: Date, title: string, isThisYear: boolean }[];\r\n months: { value: number, isThisMonth: boolean }[];\r\n weekDays = AdbDatePickerComponent.WEEK_DAYS;\r\n weeks: PickerWeek[];\r\n range: { start: any; end: any; };\r\n\r\n @Input() initialDate: Date;\r\n\r\n @Input() settings: any;\r\n @Input() toLeft: boolean;\r\n\r\n @HostBinding('id')\r\n @Input() id: string;\r\n\r\n @Output() selectDate = new EventEmitter<Date>();\r\n @Output() hide = new EventEmitter<void>();\r\n\r\n constructor(public elementRef: ElementRef, private translate: TranslateService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.settings) {\r\n if (this.settings?.minDate || this.settings?.maxDate) {\r\n const minDate = AdbDatePickerDirective.parseDate(this.settings.minDate);\r\n const maxDate = AdbDatePickerDirective.parseDate(this.settings.maxDate);\r\n this.range = {\r\n start: minDate ? startOfDay(minDate) : subYears(new Date(), 1000),\r\n end: maxDate ? endOfDay(maxDate) : addYears(new Date(), 1000)\r\n };\r\n }\r\n }\r\n\r\n this.selectedDate = this.currentdDate = this.initialDate ?? new Date();\r\n this.createCalendar()\r\n }\r\n\r\n onShowYear(): void {\r\n this.months = null;\r\n this.loadYearsInterval();\r\n }\r\n\r\n onShowMonth(): void {\r\n this.years = null;\r\n this.loadMonths();\r\n }\r\n\r\n onSelectYear(inYear?: Date): void {\r\n this.selectedDate.setFullYear(inYear.getFullYear());\r\n this.loadMonths();\r\n this.years = null;\r\n }\r\n\r\n onSelectMonth(inMonth?: number): void {\r\n this.selectedDate.setMonth(inMonth);\r\n this.createCalendar();\r\n this.years = null;\r\n this.months = null;\r\n }\r\n\r\n onPrev(): void {\r\n if (this.years) {\r\n this.selectedDate = subYears(this.selectedDate, AdbDatePickerComponent.YEAR_INTERVALL);\r\n this.loadYearsInterval();\r\n } else if (this.months) {\r\n this.selectedDate = subYears(this.selectedDate, 1);\r\n this.loadMonths();\r\n } else {\r\n this.selectedDate = subMonths(this.selectedDate, 1);\r\n this.createCalendar();\r\n }\r\n }\r\n\r\n onNext(): void {\r\n if (this.years) {\r\n this.selectedDate = addYears(this.selectedDate, AdbDatePickerComponent.YEAR_INTERVALL);\r\n this.loadYearsInterval();\r\n } else if (this.months) {\r\n this.selectedDate = addYears(this.selectedDate, 1);\r\n this.loadMonths();\r\n } else {\r\n this.selectedDate = addMonths(this.selectedDate, 1);\r\n this.createCalendar();\r\n }\r\n }\r\n\r\n\r\n ngOnDestroy(): void {\r\n this.subscriptions.unsubscribe();\r\n }\r\n\r\n private loadMonths(): void {\r\n this.months = AdbDatePickerComponent.MONTHS.map(x => {\r\n return {\r\n value: x,\r\n isThisMonth: getMonth(this.selectedDate) === x && isSameYear(this.currentdDate, this.selectedDate)\r\n }\r\n });\r\n }\r\n\r\n private loadYearsInterval() {\r\n let year = subYears(this.selectedDate, AdbDatePickerComponent.YEAR_INTERVALL);\r\n const years = [];\r\n for (let i = 0; i < 16; i++) {\r\n years.push({\r\n value: year,\r\n title: year.getFullYear(),\r\n isThisYear: isSameYear(year, this.currentdDate)\r\n });\r\n year = addYears(year, 1);\r\n }\r\n this.years = years;\r\n }\r\n\r\n onSelectDate(day: PickerDay): void {\r\n this.selectDate.emit(day.value);\r\n }\r\n\r\n private createCalendar() {\r\n const weeks = [];\r\n const monthInterval = { start: startOfMonth(this.selectedDate), end: endOfMonth(this.selectedDate) };\r\n var fnsWweeks = eachWeekOfInterval(monthInterval, { weekStartsOn: this.translate.currentLang === 'sv' || this.translate.currentLang === 'sv-SE' ? 1 : 0 });\r\n for (const fnsWeek of fnsWweeks) {\r\n const week = { weekNumber: 0, days: [] };\r\n week.weekNumber = getISOWeek(new Date(fnsWeek));\r\n const weekInterval = { start: new Date(fnsWeek), end: addDays(new Date(fnsWeek), 6) };\r\n week.days = eachDayOfInterval(weekInterval).map(day => {\r\n day.setHours(getHours(new Date()));\r\n day.setMinutes(getMinutes(new Date()));\r\n return {\r\n value: day,\r\n isSelected: isSameYear(day, this.initialDate) && isSameDay(day, this.initialDate) && isSameMonth(day, this.initialDate),\r\n isInRange: this.range ? isWithinInterval(day, this.range) : true,\r\n isToday: isSameDay(day, new Date()),\r\n inMonth: monthInterval.start.getMonth() === day.getMonth()\r\n };\r\n });\r\n weeks.push(week);\r\n }\r\n this.weeks = weeks;\r\n }\r\n}\r\n\r\nexport interface PickerWeek {\r\n weeks: {\r\n weekNumber: number;\r\n days: PickerDay[]\r\n }[];\r\n}\r\n\r\nexport interface PickerDay {\r\n value: Date,\r\n isToday: boolean,\r\n isInRange: boolean,\r\n inMonth: boolean,\r\n isSelected: boolean\r\n}","<div class=\"position-relative\" [class.to-left]=\"toLeft\">\r\n <nav class=\"bg-white shadow rounded position-absolute\" style=\"width:350px\">\r\n <header class=\"bg-primary p-2 rounded-top d-flex justify-content-between align-items-center gap-1\">\r\n <button tabIndex=\"-1\" class=\"btn btn-primary text-white rounded-pill\" type=\"button\" (click)=\"onPrev()\"><span class=\"fa fa-chevron-left\"></span></button>\r\n <ng-container *ngIf=\"!years&&!months\">\r\n <button tabIndex=\"-1\" class=\"btn btn-primary text-white rounded-pill\" type=\"button\" (click)=\"onShowMonth();$event.stopPropagation()\">{{selectedDate|adbLocaleDate:'MMM'}}</button>\r\n <button tabIndex=\"-1\" class=\"btn btn-primary text-white rounded-pill\" type=\"button\" (click)=\"onShowYear();$event.stopPropagation()\">{{selectedDate|date:'yyyy'}}</button>\r\n </ng-container>\r\n <button tabIndex=\"-1\" *ngIf=\"years\" class=\"btn btn-primary text-white rounded-pill\" type=\"button\" (click)=\"years=null;;$event.stopPropagation()\">{{years[0].title}} - {{years[years.length-1].title}}</button>\r\n <button tabIndex=\"-1\" *ngIf=\"months\" class=\"btn btn-primary text-white rounded-pill\" type=\"button\" (click)=\"onShowYear();;$event.stopPropagation()\">{{selectedDate|date:'yyyy'}}</button>\r\n <button tabIndex=\"-1\" class=\"btn btn-primary text-white rounded-pill\" type=\"button\" (click)=\"onNext()\"><span class=\"fa fa-chevron-right\"></span></button>\r\n </header>\r\n <div class=\"p-0 border calendar\">\r\n <ul class=\"list-unstyled row\" *ngIf=\"years\">\r\n <li class=\"col-3 text-center px-2 py-3\" *ngFor=\"let year of years\">\r\n <button type=\"button\" tabIndex=\"-1\" class=\"btn btn-sm btn-outline-secondary rounded-pill\" (click)=\"onSelectYear(year.value);$event.stopPropagation()\" [class.active]=\"year.hasObservation\" [ngClass]=\"{'border border-secondary':year.isThisYear}\">{{year.title}}</button>\r\n </li>\r\n </ul>\r\n <ul class=\"list-unstyled row\" *ngIf=\"months\">\r\n <li class=\"col-4 text-center px-2 py-3\" *ngFor=\"let month of months\">\r\n <button type=\"button\" tabIndex=\"-1\" class=\"btn btn-sm btn-outline-secondary rounded-pill\" (click)=\"onSelectMonth(month.value);$event.stopPropagation()\" [class.active]=\"month.observation\" [ngClass]=\"{'border border-secondary':month.isThisMonth}\">\r\n {{'MONTHS.'+(month.value+1)|translate}}\r\n </button>\r\n </li>\r\n </ul>\r\n <div class=\"days\" *ngIf=\"!years&&!months\">\r\n <div class=\"text-center border-bottom py-2 text-muted\" *ngFor=\"let weekDay of weekDays\">{{'WEEK_DAYS.'+weekDay|translate}}</div>\r\n <ng-container *ngFor=\"let week of weeks\">\r\n <button tabIndex=\"-1\" class=\"btn rounded-circle p-0 m-2\" *ngFor=\"let day of week.days\" (click)=\"onSelectDate(day)\" type=\"button\" \r\n [class.border]=\"day.isToday\" [class.bg-primary]=\"day.isSelected\" [class.text-white]=\"day.isSelected\" [ngClass]=\"{'pe-none text-muted opacity-50':!day.inMonth||!day.isInRange}\">\r\n <small>{{day.value|date:'d'}}</small>\r\n </button>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </nav>\r\n</div>","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { TranslateModule } from \"@ngx-translate/core\";\r\nimport { AdbDirectivesModule } from \"../../directives/directives.module\";\r\nimport { AdbPipesModule } from \"../../pipes/pipes.module\";\r\nimport { AdbDatePickerComponent } from \"./adb-date-picker.component\";\r\nimport { AdbDatePickerDirective } from \"./adb-date-picker.directive\";\r\nimport { AdbDatePickerService } from \"./adb-date-picker.service\";\r\n\r\n@NgModule({\r\n imports: [CommonModule, TranslateModule.forChild(), AdbPipesModule, AdbDirectivesModule],\r\n declarations: [AdbDatePickerComponent, AdbDatePickerDirective],\r\n exports: [AdbDatePickerComponent, AdbDatePickerDirective],\r\n providers: [AdbDatePickerService]\r\n})\r\nexport class AdbDatePickerModule { }","import { ElementRef, Injectable } from \"@angular/core\";\r\n\r\n@Injectable()\r\nexport class AdbDropdownService {\r\n currentMenu: any;\r\n currentMenuId: string;\r\n}","import { Directive, ElementRef, EventEmitter, HostBinding, HostListener, Input, Output } from \"@angular/core\";\r\nimport { AdbDropdownService } from \"./adb-dropdown.service\";\r\n\r\n@Directive({\r\n selector: '[adbDropdown]',\r\n exportAs: 'adbDropdown'\r\n})\r\nexport class AdbDropdownDirective {\r\n\r\n constructor(\r\n private elementRef: ElementRef,\r\n private adbDropdownService: AdbDropdownService) {\r\n this.id = this.getId();\r\n }\r\n\r\n @Output() adbDropdown = new EventEmitter();\r\n @Input() insideClick = false;\r\n\r\n @HostBinding('id')\r\n id: string;\r\n\r\n @HostBinding('attr.data-toggle')\r\n dataToggle = \"dropdown\";\r\n\r\n @HostBinding('attr.aria-haspopup')\r\n haspPopup = true;\r\n\r\n\r\n @HostBinding('attr.aria-expanded')\r\n expanded = false;\r\n\r\n @HostListener('click')\r\n onClick(): void {\r\n this.adbDropdownService.currentMenuId = this.id;\r\n const node = this.elementRef.nativeElement.parentNode;\r\n const toggleButton = node.querySelector('.dropdown-toggle');\r\n let style = `transform:translate3d(0px, ${toggleButton?.clientHeight + 1}px, 0px);`;\r\n const menu = node.querySelector('.dropdown-menu');\r\n if (menu) {\r\n this.adbDropdownService.currentMenu = this.elementRef.nativeElement;\r\n if (menu.classList?.contains('dropdown-menu-end')) {\r\n style = style + 'inset: 0px 0px auto auto;';\r\n }\r\n menu.setAttribute('style', style);\r\n if (menu.classList.contains('show')) {\r\n menu.classList.remove('show');\r\n } else {\r\n this.adbDropdown.emit();\r\n menu.classList.add('show');\r\n }\r\n }\r\n }\r\n\r\n @HostListener('document:click', ['$event.target'])\r\n onCheckOutSideClick(target: any): void {\r\n if (this.adbDropdownService.currentMenuId === this.id) {\r\n const parent = this.insideClick?this.elementRef.nativeElement.parentNode:this.elementRef.nativeElement;\r\n const clickedInside = parent.contains(target);\r\n if (!clickedInside) {\r\n const parent = this.elementRef.nativeElement.parentNode.querySelector('.dropdown-menu');\r\n parent?.classList.remove('show');\r\n }\r\n } else {\r\n const parent = this.elementRef.nativeElement.parentNode.querySelector('.dropdown-menu');\r\n parent?.classList.remove('show');\r\n }\r\n }\r\n\r\n close(): void {\r\n const node = this.elementRef.nativeElement.parentNode;\r\n const menu = node.querySelector('.dropdown-menu');\r\n menu.classList.remove('show');\r\n }\r\n\r\n private getId(): string {\r\n return '' + Math.floor(Math.random() * Date.now())\r\n }\r\n}","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { TranslateModule } from \"@ngx-translate/core\";\r\nimport { AdbDirectivesModule } from \"../../directives/directives.module\";\r\nimport { AdbDropdownDirective } from \"./adb-dropdown.directive\";\r\nimport { AdbDropdownService } from \"./adb-dropdown.service\";\r\n\r\n@NgModule({\r\n imports: [CommonModule, TranslateModule.forChild(), AdbDirectivesModule],\r\n declarations: [AdbDropdownDirective],\r\n exports: [AdbDropdownDirective],\r\n providers: [AdbDropdownService]\r\n})\r\nexport class AdbDropdownModule { }","import { ApplicationRef, ComponentFactoryResolver, EmbeddedViewRef, Injectable, Injector, Renderer2, RendererFactory2 } from \"@angular/core\";\r\nimport { Subject } from \"rxjs\";\r\nimport { AdbConfirmModal, DialogModel } from \"./adb-confirm-modal\";\r\n\r\n@Injectable()\r\nexport class AdbModalService {\r\n private closeSubject = new Subject<boolean>();\r\n close$ = this.closeSubject.asObservable();\r\n renderer: Renderer2;\r\n domElem: HTMLElement;\r\n backdrop: any;\r\n\r\n constructor(\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n rendererFactory: RendererFactory2,\r\n private appRef: ApplicationRef,\r\n private injector: Injector) {\r\n this.renderer = rendererFactory.createRenderer(null, null);\r\n }\r\n\r\n hide(confirm: boolean): void {\r\n this.closeSubject.next(confirm);\r\n document.body.removeChild(this.domElem);\r\n document.body.removeChild(this.backdrop);\r\n this.renderer.removeClass(document.body, 'modal-open');\r\n }\r\n\r\n showConfirm(model: DialogModel): void {\r\n this.renderer.addClass(document.body, 'modal-open');\r\n this.backdrop = this.renderer.createElement('div');\r\n this.backdrop.classList.add('modal-backdrop', 'fade', 'show');\r\n this.renderer.appendChild(document.body, this.backdrop);\r\n \r\n let componentRef = this.componentFactoryResolver.resolveComponentFactory(AdbConfirmModal).create(this.injector);\r\n model.header = model.header ?? 'NOT_SET';\r\n model.text = model.text ?? 'NOT_SET';\r\n model.confirm = model.confirm ?? 'OK';\r\n model.decline = model.decline ?? 'CANCEL';\r\n componentRef.instance.model = model;\r\n\r\n this.appRef.attachView(componentRef.hostView);\r\n this.domElem = (componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\r\n document.body.appendChild(this.domElem);\r\n\r\n }\r\n}","import { Component, Input } from '@angular/core';\r\nimport { AdbModalService } from './adb-modal.service';\r\n@Component({\r\n templateUrl: 'adb-confirm-modal.html'\r\n})\r\nexport class AdbConfirmModal {\r\n @Input() public model: DialogModel;\r\n constructor(public modalRef: AdbModalService) {\r\n }\r\n\r\n onClose(confirm: boolean): void {\r\n this.modalRef.hide(confirm);\r\n }\r\n}\r\n\r\nexport interface DialogModel {\r\n header: string;\r\n text: string;\r\n confirm?: string;\r\n decline?: string;\r\n value?: any;\r\n}\r\n","<div class=\"modal fade show\" *ngIf=\"model\">\r\n <div class=\"modal-dialog modal-dialog-centered\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\">\r\n <h1 class=\"h-subsection mb-0 modal-title\" translate>{{model.header}}</h1>\r\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\" (click)=\"onClose(false)\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{model.text|translate}}\r\n <div *ngIf=\"model.value\">\r\n <strong>{{model.value}}</strong>\r\n </div>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <div class=\"text-right\">\r\n <button type=\"button\" class=\"btn btn-primary me-2\"\r\n (click)=\"onClose(true)\">{{model.confirm|translate}}</button>\r\n <button type=\"button\" class=\"btn btn-secondary\"\r\n (click)=\"onClose(false)\">{{model.decline|translate}}</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { TranslateModule } from \"@ngx-translate/core\";\r\nimport { AdbDirectivesModule } from \"../../directives/directives.module\";\r\nimport { AdbConfirmModal } from \"./adb-confirm-modal\";\r\nimport { AdbModalService } from \"./adb-modal.service\";\r\n\r\n@NgModule({\r\n imports: [CommonModule, TranslateModule.forChild(), AdbDirectivesModule],\r\n declarations: [AdbConfirmModal],\r\n exports: [AdbConfirmModal],\r\n providers: [AdbModalService]\r\n})\r\nexport class AdbModalModule { }","/*\r\n * Public API Surface of artdata-shared\r\n */\r\n\r\n\r\nexport * from './lib/components/adb-header/adb-header.module';\r\nexport * from './lib/components/adb-header/adb-header.component';\r\n\r\nexport * from './lib/directives/directives.module';\r\nexport * from './lib/directives/click-outside.directive';\r\nexport * from './lib/directives/focus.directive';\r\nexport * from './lib/directives/file-upload.directive';\r\n\r\nexport * from './lib/components/pagers/pagers.module';\r\nexport * from './lib/components/pagers/infinite-scroll.component';\r\nexport * from './lib/components/pagers/pager';\r\n\r\nexport * from './lib/pipes/pipes.module';\r\nexport * from './lib/pipes/highlight.pipe';\r\nexport * from './lib/pipes/number-spacing.pipe';\r\nexport * from './lib/pipes/date.pipe';\r\n\r\nexport * from './lib/components/date-picker/adb-date-picker.module';\r\nexport * from './lib/components/date-picker/adb-date-picker.component';\r\nexport * from './lib/components/date-picker/adb-date-picker.directive';\r\n\r\nexport * from './lib/components/adb-dropdown/adb-dropdown.module';\r\nexport * from './lib/components/adb-dropdown/adb-dropdown.directive';\r\n\r\nexport * from './lib/components/adb-confirm-modal/adb-modal.module';\r\nexport * from './lib/components/adb-confirm-modal/adb-confirm-modal';\r\nexport * from './lib/components/adb-confirm-modal/adb-modal.service';\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.EnvironmentService","i3","i4","i1","i1.AdbDatePickerService","i2","i3.LocaleDatePipe","i1.AdbDropdownService","i1.AdbModalService"],"mappings":"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"}
@@ -406,26 +406,35 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImpor
406
406
 
407
407
  class HighlightPipe {
408
408
  constructor() {
409
- this.format = /[`!@#$%*\\()_+\-=\[\]{};':"\\|,<>\/?~]/g;
409
+ this.forbiddenSymbols = /[`!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?~]/;
410
410
  }
411
411
  transform(value, searchs) {
412
412
  if (!value) {
413
413
  return value;
414
414
  }
415
+ value = value + '';
415
416
  if (searchs) {
416
417
  if (!Array.isArray(searchs)) {
417
- searchs = searchs.split(' ').filter((s) => s);
418
+ searchs = searchs.split(' ').filter(s => s);
418
419
  }
419
420
  for (let search of searchs) {
420
- if (this.format.test(search)) {
421
- search = search.replace(this.format, '');
421
+ if (this.forbiddenSymbols.test(search)) {
422
+ search = search.replace(this.forbiddenSymbols, '');
423
+ }
424
+ const normalizedSearch = this.normalizeText(search);
425
+ const normalizedValue = this.normalizeText(value);
426
+ const start = normalizedValue ? normalizedValue.indexOf(normalizedSearch) : -1;
427
+ if (start !== -1) {
428
+ const matched = value.substring(start, start + search.length);
429
+ value = value.replace(matched, `<mark>${matched}</mark>`);
422
430
  }
423
- const reText = new RegExp(search, 'gi');
424
- value = value.replace(reText, '<mark>$&</mark>');
425
431
  }
426
432
  }
427
433
  return value;
428
434
  }
435
+ normalizeText(text) {
436
+ return text?.normalize('NFD').replace(/[\u0300-\u036f]/g, '').toLocaleLowerCase();
437
+ }
429
438
  }
430
439
  /** @nocollapse */ HighlightPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: HighlightPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
431
440
  /** @nocollapse */ HighlightPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: HighlightPipe, name: "adbHighlight" });
@@ -1 +1 @@
1
- {"version":3,"file":"adb-shared.mjs","sources":["../../../projects/artdata-shared/src/lib/components/adb-header/environment.service.ts","../../../projects/artdata-shared/src/lib/components/adb-header/adb-header.component.ts","../../../projects/artdata-shared/src/lib/components/adb-header/adb-header.component.html","../../../projects/artdata-shared/src/lib/directives/click-outside.directive.ts","../../../projects/artdata-shared/src/lib/directives/file-upload.directive.ts","../../../projects/artdata-shared/src/lib/directives/focus.directive.ts","../../../projects/artdata-shared/src/lib/directives/directives.module.ts","../../../projects/artdata-shared/src/lib/components/adb-header/adb-header.module.ts","../../../projects/artdata-shared/src/lib/components/pagers/infinite-scroll.component.ts","../../../projects/artdata-shared/src/lib/components/pagers/pager-base.directive.ts","../../../projects/artdata-shared/src/lib/components/pagers/pager.ts","../../../projects/artdata-shared/src/lib/components/pagers/pager.html","../../../projects/artdata-shared/src/lib/components/pagers/pagers.module.ts","../../../projects/artdata-shared/src/lib/pipes/date.pipe.ts","../../../projects/artdata-shared/src/lib/pipes/highlight.pipe.ts","../../../projects/artdata-shared/src/lib/pipes/number-spacing.pipe.ts","../../../projects/artdata-shared/src/lib/pipes/pipes.module.ts","../../../projects/artdata-shared/src/lib/components/date-picker/adb-date-picker.service.ts","../../../projects/artdata-shared/src/lib/components/date-picker/adb-date-picker.directive.ts","../../../projects/artdata-shared/src/lib/components/date-picker/adb-date-picker.component.ts","../../../projects/artdata-shared/src/lib/components/date-picker/adb-date-picker.component.html","../../../projects/artdata-shared/src/lib/components/date-picker/adb-date-picker.module.ts","../../../projects/artdata-shared/src/lib/components/adb-dropdown/adb-dropdown.service.ts","../../../projects/artdata-shared/src/lib/components/adb-dropdown/adb-dropdown.directive.ts","../../../projects/artdata-shared/src/lib/components/adb-dropdown/adb-dropdown.module.ts","../../../projects/artdata-shared/src/lib/components/adb-confirm-modal/adb-modal.service.ts","../../../projects/artdata-shared/src/lib/components/adb-confirm-modal/adb-confirm-modal.ts","../../../projects/artdata-shared/src/lib/components/adb-confirm-modal/adb-confirm-modal.html","../../../projects/artdata-shared/src/lib/components/adb-confirm-modal/adb-modal.module.ts","../../../projects/artdata-shared/src/public-api.ts","../../../projects/artdata-shared/src/adb-shared.ts"],"sourcesContent":["import { Inject, Injectable } from \"@angular/core\";\r\n\r\n@Injectable()\r\nexport class EnvironmentService {\r\n constructor(@Inject('env') public environment) {\r\n }\r\n}","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { forkJoin, Subscription } from 'rxjs';\r\nimport { EnvironmentService } from './environment.service';\r\nimport { Navigation } from './navigation.model';\r\nimport { take } from 'rxjs/operators';\r\n@Component({\r\n selector: 'adb-header2',\r\n templateUrl: './adb-header.component.html'\r\n})\r\nexport class ADBHeaderComponent implements OnInit, OnDestroy {\r\n private subscription = new Subscription();\r\n @Output() loginClicked = new EventEmitter();\r\n @Output() logoutClicked = new EventEmitter();\r\n @Output() dropMenuChange = new EventEmitter<boolean>();\r\n fullName: string;\r\n translationFinished = false;\r\n @Input() set userName(fullName: string) {\r\n this.fullName = fullName;\r\n const splitted = fullName.split(' ');\r\n if (splitted?.length > 1) {\r\n const initials = splitted.shift().charAt(0) + splitted.pop().charAt(0);\r\n this.initials = initials.toUpperCase();\r\n } else {\r\n this.initials = this.fullName ? this.fullName.charAt(0).toUpperCase() : this.fullName;\r\n }\r\n };\r\n initials: string;\r\n showMenu = false;\r\n showUserMenu = false;\r\n navigation: Navigation;\r\n url: string;\r\n expandedLink: string;\r\n constructor(\r\n private httpClient: HttpClient,\r\n private envService: EnvironmentService,\r\n public trans: TranslateService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.url = window.location.href;\r\n const baseUrl = this.envService.environment.resourceUrl;\r\n this.subscription.add(this.httpClient.get<Navigation>(baseUrl + '/assets/links.json').subscribe(result => {\r\n this.navigation = result;\r\n }));\r\n this.initTranslations(baseUrl);\r\n }\r\n\r\n private initTranslations(baseUrl: string): void {\r\n if (this.trans.store.translations[this.trans.currentLang]) {\r\n this.loadTranslation(baseUrl, this.trans.currentLang);\r\n }\r\n this.subscription.add(this.trans.onLangChange.subscribe((event) => {\r\n this.translationFinished = false;\r\n this.loadTranslation(baseUrl, event.lang);\r\n }));\r\n }\r\n\r\n private loadTranslation(baseUrl: string, lang: string): void {\r\n //TODO: Prepare for diffents lang then en sv (en-GB) or add more files in devcomponentserver :)\r\n this.subscription.add(this.httpClient.get(baseUrl + `/assets/i18n/${lang}.json`).subscribe(translations => {\r\n this.trans.setTranslation(lang, translations, true);\r\n this.translationFinished = true;\r\n }));\r\n }\r\n\r\n showMenuDropdown(show: boolean): void {\r\n if (this.showMenu !== show) {\r\n this.showMenu = show;\r\n this.dropMenuChange.emit(show);\r\n }\r\n }\r\n\r\n setLanguage(lang): void {\r\n this.trans.use(lang);\r\n this.showMenu = false;\r\n this.dropMenuChange.emit(false);\r\n //TODO: set localstorage/cookies or probaly event to main app\r\n }\r\n\r\n onExpandLink(event: any, transId: string): void {\r\n event.preventDefault(); event.stopPropagation();\r\n if (this.expandedLink === transId) {\r\n this.expandedLink = null;\r\n return;\r\n }\r\n this.expandedLink = transId;\r\n }\r\n\r\n login(): void {\r\n this.loginClicked.emit();\r\n }\r\n\r\n logout(): void {\r\n this.logoutClicked.emit();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n // private initAllTranslations(baseUrl: string): void {\r\n // const trans$ = forkJoin([this.httpClient.get(baseUrl + '/assets/i18n/en.json'), this.httpClient.get(baseUrl + '/assets/i18n/sv.json')])\r\n // this.subscription.add(trans$.subscribe(result => {\r\n // this.trans.setTranslation('en', result[0], true);\r\n // this.trans.setTranslation('sv', result[1], true);\r\n // }));\r\n // }\r\n}\r\n\r\n","<header id=\"top-header\" (clickOutside)=\"showUserMenu=false;showMenuDropdown(false);\">\r\n <nav class=\"d-flex flex-wrap px-3\">\r\n <div class=\"flex-grow-1 d-flex align-items-center justify-content-between justify-content-md-start\">\r\n <div class=\"logo d-none d-md-block\">\r\n <img src=\"/assets/images/logo.svg\" style=\"height: 3.2rem;\">\r\n </div>\r\n <div class=\"logo ps-2 d-sm-block d-md-none d-flex align-items-center\">\r\n <img src=\"/assets/images/logo_sm_white.png\" style=\"height: 2rem;\">\r\n </div>\r\n <strong class=\"bigger\">{{'ADB_HEADER.TITLE'|translate}}</strong>\r\n </div>\r\n <div *ngIf=\"translationFinished\" class=\"flex-grow-1 d-flex justify-content-lg-between justify-content-end align-items-center\">\r\n <div *ngIf=\"navigation\" class=\"d-flex align-items-center\">\r\n <nav class=\"d-none align-items-center d-lg-flex pe-4 gap-4\" *ngIf=\"navigation\">\r\n <ng-container *ngFor=\"let link of navigation.links\">\r\n <a href=\"{{link.url}}?lang={{trans.currentLang}}\" *ngIf=\"link.topLink\" [ngClass]=\"{'d-none d-xl-block':link.transId==='ADB_HEADER.OBSERVATION'}\">\r\n {{link.transId|translate}}\r\n </a>\r\n </ng-container>\r\n </nav>\r\n <div>\r\n <button type=\"button\" class=\"btn btn-sm py-1 px-2 btn-primary\" (click)=\"showUserMenu = false;showMenuDropdown(!showMenu)\">\r\n {{'ADB_HEADER.MENY'|translate}}\r\n <i class=\"ms-1 fas\" [ngClass]=\"showMenu?'fa-chevron-up':'fa-chevron-down'\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"d-none d-md-block ps-4\">\r\n <button *ngIf=\"initials\" type=\"button\" class=\"btn initials\" (click)=\"showUserMenu = !showUserMenu;showMenuDropdown(false)\">{{initials}}</button>\r\n <button *ngIf=\"!initials\" type=\"button\" (click)=\"showUserMenu = !showUserMenu;showMenuDropdown(false)\" class=\"btn btn-link\">\r\n {{'ADB_HEADER.LOGIN'|translate}}\r\n </button>\r\n </div>\r\n </div>\r\n </nav>\r\n <div class=\"menu\" *ngIf=\"showUserMenu\">\r\n <div class=\"menu-body bg-white p-3\" style=\"width:15rem\">\r\n <ng-container *ngIf=\"initials\">\r\n <div class=\"d-flex align-items-center gap-2 text-dark\">\r\n <span class=\"initials\">{{initials}}</span>\r\n <strong>{{fullName}}</strong>\r\n </div>\r\n <hr class=\"mx-n3 text-muted\">\r\n <button (click)=\"logout()\" type=\"button\" class=\"btn btn-link p-0\">\r\n <i class=\"fas fa-sign-out-alt me-1\"></i>{{'ADB_HEADER.LOGOUT'|translate}}\r\n </button>\r\n </ng-container>\r\n <ng-container *ngIf=\"!initials\">\r\n <div class=\"d-flex justify-content-center\">\r\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"login()\" id=\"start-login\">{{'ADB_HEADER.LOGIN'|translate}}</button>\r\n </div>\r\n <a *ngIf=\"navigation\" class=\"d-block mt-3\" href=\"{{navigation.createAccountLink}}?lang={{trans.currentLang}}&returnUrl={{url}}\">\r\n {{'ADB_HEADER.CREATE_USER'|translate}}\r\n </a>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"menu\" *ngIf=\"showMenu\">\r\n <div class=\"menu-body\" *ngIf=\"navigation\">\r\n <div class=\"px-3 pt-3 mb-1\">\r\n <div class=\"d-flex justify-content-between flex-wrap gap-2 mb-2\">\r\n <div>\r\n <div class=\"d-flex d-md-none align-items-center gap-2\" *ngIf=\"initials\">\r\n <span class=\"initials me-2\">{{initials}}</span>\r\n <button type=\"button\" (click)=\"logout()\" class=\"btn btn-primary\">\r\n {{'ADB_HEADER.LOGOUT'|translate}}\r\n </button>\r\n </div>\r\n <div class=\"d-flex gap-2 d-md-none\" *ngIf=\"!initials\">\r\n <button type=\"button\" (click)=\"login()\" class=\"btn btn-primary\" id=\"login\">\r\n {{'ADB_HEADER.LOGIN'|translate}}\r\n </button>\r\n <a href=\"{{navigation.createAccountLink}}?lang={{trans.currentLang}}&returnUrl={{url}}\"\r\n class=\"btn btn-primary text-white\">\r\n {{'ADB_HEADER.CREATE_USER'|translate}}\r\n </a>\r\n </div>\r\n </div>\r\n <div>\r\n <button type=\"button\" *ngIf=\"trans.currentLang==='en'\" (click)=\"setLanguage('sv')\"\r\n class=\"btn btn-primary\">\r\n {{'ADB_HEADER.IN_SWEDISH'|translate}}\r\n </button>\r\n <button type=\"button\" *ngIf=\"trans.currentLang==='sv'\" (click)=\"setLanguage('en')\"\r\n class=\"btn btn-primary\">\r\n {{'ADB_HEADER.IN_ENGLISH'|translate}}\r\n </button>\r\n </div>\r\n </div>\r\n {{'ADB_HEADER.SERVICES'|translate}}\r\n </div>\r\n <div id=\"splash\">\r\n <div class=\"px-3 d-flex flex-column\">\r\n <ul class=\"list-group ms-0 mb-0 ps-0\">\r\n <li class=\"mb-1 list-group-item p-0 rounded\" *ngFor=\"let link of navigation.links\"\r\n [attr.aria-expanded]=\"link.transId===expandedLink?true:false\" role=\"button\">\r\n <div class=\"d-flex align-items-center justify-content-between\">\r\n <a href=\"{{link.url}}?lang={{trans.currentLang}}\" class=\"d-flex align-items-center flex-grow-1 p-2\">\r\n <small class=\"fa-stack me-1\" *ngIf=\"link.icon\">\r\n <span class=\"fas fa-circle fa-stack-2x text-primary\"></span>\r\n <span class=\"fas fa-stack-1x fa-inverse\" [ngClass]=\"link.icon\"></span>\r\n </small>\r\n {{link.transId|translate}}\r\n </a>\r\n <button class=\"btn btn-expand me-2\" *ngIf=\"link.children?.length>0\" (click)=\"onExpandLink($event,link.transId)\">\r\n <i class=\"fas fa-chevron-up\" [ngClass]=\"link.transId===expandedLink?'d-block ':'d-none'\"></i>\r\n <i class=\"fas fa-chevron-down\" [ngClass]=\"link.transId!==expandedLink?'d-block ':'d-none'\"></i>\r\n </button>\r\n </div>\r\n <ul class=\"list-unstyled\" [ngClass]=\"link.transId===expandedLink?'d-block':'d-none'\">\r\n <li class=\"py-1 m-0\" [class.pt-0]=\"first\" *ngFor=\"let subLink of link.children;let first = first\" style=\"padding-left:3rem;\">\r\n <a class=\"w-100 d-block\" href=\"{{subLink.url}}?lang={{trans.currentLang}}\">\r\n {{subLink.transId|translate}}\r\n </a>\r\n </li>\r\n </ul>\r\n </li>\r\n </ul>\r\n <div *ngIf=\"navigation.about\" class=\"mt-2 mb-auto\">\r\n <div class=\"mb-1\">{{'ADB_HEADER.CONTACT'|translate}}</div>\r\n <div class=\"mb-1 row\">\r\n <div class=\"col-sm-6 mb-2\">\r\n <div class=\"bg-white p-2 rounded\">\r\n <small class=\"fa-stack\" *ngIf=\"navigation.about.icon\">\r\n <span class=\"fas fa-circle fa-stack-2x text-primary\"></span>\r\n <span class=\"fas fa-stack-1x fa-inverse fa-envelope\"></span>\r\n </small>\r\n <a class=\"bg-white p-2\" href=\"mailto:artfakta@artdatabanken.se\">artfakta@artdatabanken.se</a>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-6 mb-2\">\r\n <div class=\"bg-white p-2 rounded\">\r\n <small class=\"fa-stack\" *ngIf=\"navigation.about.icon\">\r\n <span class=\"fas fa-circle fa-stack-2x text-primary\"></span>\r\n <span class=\"fas fa-stack-1x fa-inverse\" [ngClass]=\"navigation.about.icon\"></span>\r\n </small>\r\n <a [href]=\"navigation.about.url\">{{navigation.about.transId|translate}}</a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div style=\"height:10rem\"></div>\r\n <div class=\"mb-3\">\r\n {{'ADB_HEADER.DEVELOPED_BY'|translate}}\r\n <a href=\"https://www.artdatabanken.se/\" class=\"text-white\"><u>{{'ADB_HEADER.ARTDATABANKEN'|translate}}</u></a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</header>\r\n","import { Directive, Output, EventEmitter, ElementRef, HostListener } from '@angular/core';\r\n@Directive({\r\n selector: '[adbClickOutside]',\r\n})\r\nexport class ClickOutsideDirective {\r\n @Output() adbClickOutside = new EventEmitter<any>();\r\n constructor(private elementRef: ElementRef) { }\r\n\r\n @HostListener('document:click', ['$event.target'])\r\n public onClick(target: any) {\r\n const clickedInside = this.elementRef.nativeElement.contains(target);\r\n if (!clickedInside) {\r\n this.adbClickOutside.emit(target);\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, EventEmitter } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: 'input[adbFileUpload]',\r\n host: {\r\n '(change)': 'onBeginUpload($event.target)',\r\n '(click)': 'onClick($event.target)'\r\n },\r\n outputs: ['upload']\r\n})\r\nexport class FileUploadDirective {\r\n upload = new EventEmitter();\r\n click = new EventEmitter();\r\n constructor(private el: ElementRef) {}\r\n \r\n onBeginUpload(target: any) {\r\n if (target) {\r\n if (target.files && target.files[0]) {\r\n this.upload.emit(target.files[0]);\r\n }\r\n }\r\n }\r\n\r\n onClick(target: any) {\r\n (this.el.nativeElement as HTMLInputElement).value = '';\r\n if (target) {\r\n this.click.emit(target);\r\n }\r\n }\r\n}","/* eslint-disable @angular-eslint/directive-selector */\r\nimport { Directive, ElementRef, AfterViewInit, Input } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[adbFocus]',\r\n})\r\nexport class FocusDirective implements AfterViewInit {\r\n\r\n @Input('adbFocus')\r\n focused = false;\r\n\r\n constructor(public element: ElementRef<HTMLElement>) {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n // ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked.\r\n if (this.focused) {\r\n setTimeout(() => this.element.nativeElement.focus(), 0);\r\n }\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { ClickOutsideDirective } from \"./click-outside.directive\";\r\nimport { FileUploadDirective } from \"./file-upload.directive\";\r\nimport { FocusDirective } from \"./focus.directive\";\r\n\r\n@NgModule({\r\n imports: [],\r\n declarations: [ClickOutsideDirective, FocusDirective, FileUploadDirective],\r\n exports: [ClickOutsideDirective, FocusDirective, FileUploadDirective]\r\n})\r\nexport class AdbDirectivesModule { }","import { CommonModule } from '@angular/common';\r\nimport { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { ADBHeaderComponent } from './adb-header.component';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { EnvironmentService } from './environment.service';\r\nimport { RouterModule } from '@angular/router';\r\nimport { AdbDirectivesModule } from '../../directives/directives.module';\r\n\r\n\r\n@NgModule({\r\n declarations: [ADBHeaderComponent],\r\n imports: [\r\n CommonModule,\r\n HttpClientModule,\r\n RouterModule,\r\n TranslateModule,\r\n AdbDirectivesModule\r\n ],\r\n exports: [ADBHeaderComponent]\r\n})\r\nexport class ADBHeaderModule {\r\n public static forRoot(environment: any): ModuleWithProviders<ADBHeaderModule> {\r\n return {\r\n ngModule: ADBHeaderModule,\r\n providers: [\r\n EnvironmentService,\r\n {\r\n provide: 'env', // you can also use InjectionToken\r\n useValue: environment\r\n }\r\n ]\r\n };\r\n }\r\n}\r\n","import { AfterViewInit, Directive, ElementRef, EventEmitter, HostBinding, OnDestroy, Output } from \"@angular/core\";\r\n\r\n@Directive({ selector: \"[onVisible]\" })\r\nexport class InfiniteScrollComponent implements AfterViewInit, OnDestroy {\r\n @Output() public onVisible: EventEmitter<any> = new EventEmitter();\r\n @HostBinding('style.height') height = '1px';\r\n private _intersectionObserver?: IntersectionObserver;\r\n\r\n constructor(private _element: ElementRef) { }\r\n\r\n public ngAfterViewInit() {\r\n this._intersectionObserver = new IntersectionObserver(entries => {\r\n this.checkForIntersection(entries);\r\n }, {});\r\n this._intersectionObserver.observe(<Element>this._element.nativeElement);\r\n }\r\n\r\n public ngOnDestroy() {\r\n if (this._intersectionObserver) {\r\n this._intersectionObserver.disconnect();\r\n }\r\n }\r\n\r\n private checkForIntersection = (\r\n entries: Array<IntersectionObserverEntry>\r\n ) => {\r\n entries.forEach((entry: IntersectionObserverEntry) => {\r\n const isIntersecting =\r\n (<any>entry).isIntersecting &&\r\n entry.target === this._element.nativeElement;\r\n\r\n if (isIntersecting) {\r\n this.onVisible.emit();\r\n }\r\n });\r\n };\r\n}\r\n","import { Input } from '@angular/core';\r\nimport { Directive } from '@angular/core';\r\n@Directive()\r\nexport abstract class PagerBaseDirective {\r\n private static DEFAULT_LIMIT = 10;\r\n private static VISIBLE_PAGES = 5;\r\n protected static SKIP_RESOURCE = 'offset';\r\n\r\n @Input() totalCount: number;\r\n pages: Array<number>;\r\n @Input() limit: number = PagerBaseDirective.DEFAULT_LIMIT;\r\n amountOfPages: number;\r\n currentPage = 1;\r\n\r\n protected calculatePages(): void {\r\n this.amountOfPages = Math.ceil(this.totalCount / this.limit);\r\n if ((this.currentPage + 1) > PagerBaseDirective.VISIBLE_PAGES) {\r\n this.pages = [\r\n this.currentPage - 2,\r\n this.currentPage - 1, this.currentPage];\r\n const above = this.amountOfPages - this.currentPage;\r\n if (above >= 1) {\r\n this.pages.push(this.currentPage + 1);\r\n }\r\n if (above >= 2) {\r\n this.pages.push(this.currentPage + 2);\r\n }\r\n } else if (this.totalCount) {\r\n const max = this.amountOfPages > PagerBaseDirective.VISIBLE_PAGES ? 5 : this.amountOfPages;\r\n this.pages = Array(Math.ceil(max)).fill(1).map((x, i) => i + 1);\r\n }\r\n }\r\n\r\n}\r\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { PagerBaseDirective } from './pager-base.directive';\r\n\r\n@Component({\r\n selector: 'adb-pager-nav',\r\n templateUrl: 'pager.html'\r\n})\r\nexport class PagerComponent extends PagerBaseDirective implements OnInit, OnDestroy {\r\n private subscription = new Subscription();\r\n\r\n constructor(private activatedRoute: ActivatedRoute) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.subscription.add(this.activatedRoute.queryParams.subscribe(params => {\r\n if (params.offset) {\r\n this.currentPage = (+params.offset / this.limit) + 1;\r\n }\r\n this.calculatePages();\r\n }));\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscription.unsubscribe();\r\n }\r\n}\r\n","<nav *ngIf=\"pages&&pages.length>1&&currentPage<=amountOfPages\" class=\"d-flex justify-content-end pe-2 my-1\">\r\n <ul class=\"pagination mb-0\">\r\n <li class=\"page-item\" [class.disabled]=\"currentPage===1\">\r\n <a class=\"page-link\" [routerLink]=\"[]\" [queryParams]=\"{ offset: 0}\" queryParamsHandling=\"merge\">\r\n <i class=\"fas fa-chevron-double-left\"></i>\r\n </a>\r\n </li>\r\n <li class=\"page-item\" [class.disabled]=\"currentPage===1\">\r\n <a class=\"page-link\" [routerLink]=\"[]\" [queryParams]=\"{ offset: (currentPage-2)*limit}\"\r\n queryParamsHandling=\"merge\">\r\n <i class=\"fas fa-chevron-left\"></i>\r\n </a>\r\n </li>\r\n <li class=\"page-item\" [class.active]=\"currentPage===page\" *ngFor=\"let page of pages\">\r\n <a class=\"page-link\" [routerLink]=\"[]\" [queryParams]=\"{ offset: (page-1)*limit}\"\r\n queryParamsHandling=\"merge\">{{page}}</a>\r\n </li>\r\n <li class=\"page-item\" [class.disabled]=\"currentPage>=amountOfPages\">\r\n <a class=\"page-link\" [routerLink]=\"[]\" [queryParams]=\"{ offset: currentPage*limit}\"\r\n queryParamsHandling=\"merge\">\r\n <i class=\"fas fa-chevron-right\"></i>\r\n </a>\r\n </li>\r\n <li *ngIf=\"(amountOfPages-1)*limit<10000\" class=\"page-item\" [class.disabled]=\"currentPage>=amountOfPages\">\r\n <a class=\"page-link\" [routerLink]=\"[]\" [queryParams]=\"{ offset: (amountOfPages-1)*limit}\"\r\n queryParamsHandling=\"merge\">\r\n <i class=\"fas fa-chevron-double-right\"></i>\r\n </a>\r\n </li>\r\n </ul>\r\n</nav>","\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { InfiniteScrollComponent } from \"./infinite-scroll.component\";\r\nimport { PagerComponent } from \"./pager\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n RouterModule\r\n ],\r\n declarations: [InfiniteScrollComponent, PagerComponent],\r\n exports: [InfiniteScrollComponent, PagerComponent]\r\n})\r\nexport class AdbPagersModule { }","import { DatePipe } from \"@angular/common\";\r\nimport { Pipe, PipeTransform } from \"@angular/core\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n@Pipe({\r\n name: 'adbLocaleDate',\r\n pure: false\r\n})\r\nexport class LocaleDatePipe implements PipeTransform {\r\n constructor(private translate: TranslateService) {}\r\n transform(value: any, format: string) {\r\n return new DatePipe(this.translate.currentLang).transform(value, format, null, this.translate.currentLang);\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n@Pipe({\r\n name: 'adbHighlight'\r\n})\r\nexport class HighlightPipe implements PipeTransform {\r\n format = /[`!@#$%*\\\\()_+\\-=\\[\\]{};':\"\\\\|,<>\\/?~]/g;\r\n transform(value: any, searchs: any): any {\r\n if (!value) {\r\n return value;\r\n }\r\n if (searchs) {\r\n if (!Array.isArray(searchs)) {\r\n searchs = searchs.split(' ').filter((s: any) => s);\r\n }\r\n for (let search of searchs) {\r\n if (this.format.test(search)) {\r\n search = search.replace(this.format, '');\r\n }\r\n const reText = new RegExp(search, 'gi');\r\n value = value.replace(reText, '<mark>$&</mark>');\r\n }\r\n }\r\n return value;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'adbSpacing',\r\n pure: false\r\n})\r\nexport class NumberSpacingPipe implements PipeTransform {\r\n transform(value) {\r\n // If value is empty, 0 is falsy so perform an extra check to not make '0' to an empty string\r\n if (!value && value !== 0) {\r\n return '';\r\n }\r\n return value.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ' ');\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { LocaleDatePipe } from \"./date.pipe\";\r\nimport { HighlightPipe } from \"./highlight.pipe\";\r\nimport { NumberSpacingPipe } from \"./number-spacing.pipe\";\r\n\r\n@NgModule({\r\n imports: [],\r\n declarations: [HighlightPipe, NumberSpacingPipe, LocaleDatePipe],\r\n exports: [HighlightPipe, NumberSpacingPipe, LocaleDatePipe]\r\n})\r\nexport class AdbPipesModule { }","import { ComponentRef, Inject, Injectable } from \"@angular/core\";\r\nimport { BehaviorSubject, Subject } from \"rxjs\";\r\nimport { AdbDatePickerComponent } from \"./adb-date-picker.component\";\r\n\r\n@Injectable()\r\nexport class AdbDatePickerService {\r\n viewRef: ComponentRef<AdbDatePickerComponent>;\r\n}","import { formatDate } from \"@angular/common\";\r\nimport { Directive, ElementRef, forwardRef, HostBinding, HostListener, Input, OnDestroy, OnInit, Renderer2, ViewContainerRef } from \"@angular/core\";\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR} from \"@angular/forms\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { isValid, parse, parseISO } from \"date-fns\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { AdbDatePickerComponent } from \"./adb-date-picker.component\";\r\nimport { AdbDatePickerService } from \"./adb-date-picker.service\";\r\n\r\n@Directive({\r\n selector: `input[adbDatepicker]`,\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => AdbDatePickerDirective),\r\n multi: true\r\n }]\r\n})\r\nexport class AdbDatePickerDirective implements ControlValueAccessor, OnInit, OnDestroy {\r\n @HostBinding('autocomplete') autocomplete = 'off';\r\n private subscriptions = new Subscription();\r\n @Input() format = 'yyyy-MM-dd';\r\n @Input() toLeft: boolean;\r\n @Input() settings: { maxDate?: Date | string, minDate?: Date | string } = null;\r\n id: string;\r\n initialDate: Date;\r\n\r\n constructor(\r\n private viewContainerRef: ViewContainerRef,\r\n private renderer: Renderer2,\r\n private elementRef: ElementRef,\r\n private adbDatePickerService: AdbDatePickerService,\r\n public translate: TranslateService) {\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n @HostListener('click')\r\n onClick(): void {\r\n if (this.adbDatePickerService.viewRef) {\r\n this.adbDatePickerService.viewRef.destroy();\r\n }\r\n const viewRef = this.viewContainerRef.createComponent<AdbDatePickerComponent>(AdbDatePickerComponent);\r\n viewRef.instance.settings = this.settings;\r\n viewRef.instance.toLeft = this.toLeft;\r\n viewRef.instance.initialDate = this.initialDate;\r\n this.id = this.getId();\r\n viewRef.instance.id = this.id;\r\n viewRef.instance.selectDate.subscribe((date) => {\r\n this.renderer.setProperty(this.elementRef.nativeElement, 'value', formatDate(date, this.format, this.translate.currentLang));\r\n this.onChange(date);\r\n this.initialDate = date;\r\n this.onHide();\r\n });\r\n viewRef.instance.hide.subscribe(() => {\r\n this.onHide();\r\n });\r\n this.adbDatePickerService.viewRef = viewRef;\r\n }\r\n\r\n @HostListener('keyup.esc')\r\n onHide(): void {\r\n this.adbDatePickerService.viewRef = null;\r\n this.viewContainerRef.detach();\r\n this.viewContainerRef.clear();\r\n }\r\n\r\n @HostListener('keydown', ['$event'])\r\n handleKeyboardEvent(event: KeyboardEvent) {\r\n if (event.key === 'Tab') {\r\n this.onHide();\r\n } else if (event.key === 'Backspace') {\r\n this.initialDate = null;\r\n this.renderer.setProperty(this.elementRef.nativeElement, 'value', null);\r\n this.onChange();\r\n this.onHide();\r\n }\r\n else {\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n\r\n @HostListener('document:click', ['$event.target'])\r\n onCheckOutSideClick(target: any): void {\r\n const nativeElement = this.adbDatePickerService.viewRef?.instance.elementRef.nativeElement ?? null;\r\n if (nativeElement) {\r\n if (nativeElement.id === this.id) {\r\n if (!target.hasAttribute('adbdatepicker')) {\r\n const clickedInside = nativeElement.contains(target);\r\n if (!clickedInside) {\r\n this.onHide();\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscriptions.unsubscribe();\r\n }\r\n\r\n //ControlValueAccessor\r\n onChange: any = () => { };\r\n onTouched: any = () => { };\r\n\r\n writeValue(value: Date | string): void {\r\n if (value) {\r\n this.initialDate = AdbDatePickerDirective.parseDate(value);\r\n if (this.initialDate) {\r\n this.renderer.setProperty(this.elementRef.nativeElement, 'value', formatDate(this.initialDate, this.format, this.translate.currentLang));\r\n }\r\n } else {\r\n this.initialDate = null;\r\n this.renderer.setProperty(this.elementRef.nativeElement, 'value', '');\r\n }\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.viewContainerRef.clear();\r\n }\r\n\r\n static parseDate(value: Date | string): Date {\r\n if (typeof value === 'string') {\r\n if (isValid(parseISO(value))) {\r\n return parseISO(value);\r\n } else {\r\n return null;\r\n }\r\n } else if (value instanceof Date) {\r\n return value;\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n private getId(): string {\r\n return '' + Math.floor(Math.random() * Date.now())\r\n }\r\n}","import { Component, ElementRef, EventEmitter, HostBinding, Input, OnDestroy, OnInit, Output } from \"@angular/core\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { addDays, addMonths, addYears, eachDayOfInterval, eachWeekOfInterval, endOfDay, endOfMonth, getHours, getISOWeek, getMinutes, getMonth, isSameDay, isSameMonth, isSameYear, isWithinInterval, startOfDay, startOfMonth, subMonths, subYears } from \"date-fns\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { AdbDatePickerDirective } from \"./adb-date-picker.directive\";\r\n\r\n@Component({\r\n selector: 'adb-date-picker',\r\n templateUrl: './adb-date-picker.component.html'\r\n})\r\nexport class AdbDatePickerComponent implements OnInit, OnDestroy {\r\n private subscriptions = new Subscription();\r\n static MONTHS = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\r\n static WEEK_DAYS = ['1', '2', '3', '4', '5', '6', '7'];\r\n static YEAR_INTERVALL = 8;\r\n currentdDate: Date = new Date();\r\n selectedDate: Date = new Date();\r\n years: { value: Date, title: string, isThisYear: boolean }[];\r\n months: { value: number, isThisMonth: boolean }[];\r\n weekDays = AdbDatePickerComponent.WEEK_DAYS;\r\n weeks: PickerWeek[];\r\n range: { start: any; end: any; };\r\n\r\n @Input() initialDate: Date;\r\n\r\n @Input() settings: any;\r\n @Input() toLeft: boolean;\r\n\r\n @HostBinding('id')\r\n @Input() id: string;\r\n\r\n @Output() selectDate = new EventEmitter<Date>();\r\n @Output() hide = new EventEmitter<void>();\r\n\r\n constructor(public elementRef: ElementRef, private translate: TranslateService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.settings) {\r\n if (this.settings?.minDate || this.settings?.maxDate) {\r\n const minDate = AdbDatePickerDirective.parseDate(this.settings.minDate);\r\n const maxDate = AdbDatePickerDirective.parseDate(this.settings.maxDate);\r\n this.range = {\r\n start: minDate ? startOfDay(minDate) : subYears(new Date(), 1000),\r\n end: maxDate ? endOfDay(maxDate) : addYears(new Date(), 1000)\r\n };\r\n }\r\n }\r\n\r\n this.selectedDate = this.currentdDate = this.initialDate ?? new Date();\r\n this.createCalendar()\r\n }\r\n\r\n onShowYear(): void {\r\n this.months = null;\r\n this.loadYearsInterval();\r\n }\r\n\r\n onShowMonth(): void {\r\n this.years = null;\r\n this.loadMonths();\r\n }\r\n\r\n onSelectYear(inYear?: Date): void {\r\n this.selectedDate.setFullYear(inYear.getFullYear());\r\n this.loadMonths();\r\n this.years = null;\r\n }\r\n\r\n onSelectMonth(inMonth?: number): void {\r\n this.selectedDate.setMonth(inMonth);\r\n this.createCalendar();\r\n this.years = null;\r\n this.months = null;\r\n }\r\n\r\n onPrev(): void {\r\n if (this.years) {\r\n this.selectedDate = subYears(this.selectedDate, AdbDatePickerComponent.YEAR_INTERVALL);\r\n this.loadYearsInterval();\r\n } else if (this.months) {\r\n this.selectedDate = subYears(this.selectedDate, 1);\r\n this.loadMonths();\r\n } else {\r\n this.selectedDate = subMonths(this.selectedDate, 1);\r\n this.createCalendar();\r\n }\r\n }\r\n\r\n onNext(): void {\r\n if (this.years) {\r\n this.selectedDate = addYears(this.selectedDate, AdbDatePickerComponent.YEAR_INTERVALL);\r\n this.loadYearsInterval();\r\n } else if (this.months) {\r\n this.selectedDate = addYears(this.selectedDate, 1);\r\n this.loadMonths();\r\n } else {\r\n this.selectedDate = addMonths(this.selectedDate, 1);\r\n this.createCalendar();\r\n }\r\n }\r\n\r\n\r\n ngOnDestroy(): void {\r\n this.subscriptions.unsubscribe();\r\n }\r\n\r\n private loadMonths(): void {\r\n this.months = AdbDatePickerComponent.MONTHS.map(x => {\r\n return {\r\n value: x,\r\n isThisMonth: getMonth(this.selectedDate) === x && isSameYear(this.currentdDate, this.selectedDate)\r\n }\r\n });\r\n }\r\n\r\n private loadYearsInterval() {\r\n let year = subYears(this.selectedDate, AdbDatePickerComponent.YEAR_INTERVALL);\r\n const years = [];\r\n for (let i = 0; i < 16; i++) {\r\n years.push({\r\n value: year,\r\n title: year.getFullYear(),\r\n isThisYear: isSameYear(year, this.currentdDate)\r\n });\r\n year = addYears(year, 1);\r\n }\r\n this.years = years;\r\n }\r\n\r\n onSelectDate(day: PickerDay): void {\r\n this.selectDate.emit(day.value);\r\n }\r\n\r\n private createCalendar() {\r\n const weeks = [];\r\n const monthInterval = { start: startOfMonth(this.selectedDate), end: endOfMonth(this.selectedDate) };\r\n var fnsWweeks = eachWeekOfInterval(monthInterval, { weekStartsOn: this.translate.currentLang === 'sv' || this.translate.currentLang === 'sv-SE' ? 1 : 0 });\r\n for (const fnsWeek of fnsWweeks) {\r\n const week = { weekNumber: 0, days: [] };\r\n week.weekNumber = getISOWeek(new Date(fnsWeek));\r\n const weekInterval = { start: new Date(fnsWeek), end: addDays(new Date(fnsWeek), 6) };\r\n week.days = eachDayOfInterval(weekInterval).map(day => {\r\n day.setHours(getHours(new Date()));\r\n day.setMinutes(getMinutes(new Date()));\r\n return {\r\n value: day,\r\n isSelected: isSameYear(day, this.initialDate) && isSameDay(day, this.initialDate) && isSameMonth(day, this.initialDate),\r\n isInRange: this.range ? isWithinInterval(day, this.range) : true,\r\n isToday: isSameDay(day, new Date()),\r\n inMonth: monthInterval.start.getMonth() === day.getMonth()\r\n };\r\n });\r\n weeks.push(week);\r\n }\r\n this.weeks = weeks;\r\n }\r\n}\r\n\r\nexport interface PickerWeek {\r\n weeks: {\r\n weekNumber: number;\r\n days: PickerDay[]\r\n }[];\r\n}\r\n\r\nexport interface PickerDay {\r\n value: Date,\r\n isToday: boolean,\r\n isInRange: boolean,\r\n inMonth: boolean,\r\n isSelected: boolean\r\n}","<div class=\"position-relative\" [class.to-left]=\"toLeft\">\r\n <nav class=\"bg-white shadow rounded position-absolute\" style=\"width:350px\">\r\n <header class=\"bg-primary p-2 rounded-top d-flex justify-content-between align-items-center gap-1\">\r\n <button tabIndex=\"-1\" class=\"btn btn-primary text-white rounded-pill\" type=\"button\" (click)=\"onPrev()\"><span class=\"fa fa-chevron-left\"></span></button>\r\n <ng-container *ngIf=\"!years&&!months\">\r\n <button tabIndex=\"-1\" class=\"btn btn-primary text-white rounded-pill\" type=\"button\" (click)=\"onShowMonth();$event.stopPropagation()\">{{selectedDate|adbLocaleDate:'MMM'}}</button>\r\n <button tabIndex=\"-1\" class=\"btn btn-primary text-white rounded-pill\" type=\"button\" (click)=\"onShowYear();$event.stopPropagation()\">{{selectedDate|date:'yyyy'}}</button>\r\n </ng-container>\r\n <button tabIndex=\"-1\" *ngIf=\"years\" class=\"btn btn-primary text-white rounded-pill\" type=\"button\" (click)=\"years=null;;$event.stopPropagation()\">{{years[0].title}} - {{years[years.length-1].title}}</button>\r\n <button tabIndex=\"-1\" *ngIf=\"months\" class=\"btn btn-primary text-white rounded-pill\" type=\"button\" (click)=\"onShowYear();;$event.stopPropagation()\">{{selectedDate|date:'yyyy'}}</button>\r\n <button tabIndex=\"-1\" class=\"btn btn-primary text-white rounded-pill\" type=\"button\" (click)=\"onNext()\"><span class=\"fa fa-chevron-right\"></span></button>\r\n </header>\r\n <div class=\"p-0 border calendar\">\r\n <ul class=\"list-unstyled row\" *ngIf=\"years\">\r\n <li class=\"col-3 text-center px-2 py-3\" *ngFor=\"let year of years\">\r\n <button type=\"button\" tabIndex=\"-1\" class=\"btn btn-sm btn-outline-secondary rounded-pill\" (click)=\"onSelectYear(year.value);$event.stopPropagation()\" [class.active]=\"year.hasObservation\" [ngClass]=\"{'border border-secondary':year.isThisYear}\">{{year.title}}</button>\r\n </li>\r\n </ul>\r\n <ul class=\"list-unstyled row\" *ngIf=\"months\">\r\n <li class=\"col-4 text-center px-2 py-3\" *ngFor=\"let month of months\">\r\n <button type=\"button\" tabIndex=\"-1\" class=\"btn btn-sm btn-outline-secondary rounded-pill\" (click)=\"onSelectMonth(month.value);$event.stopPropagation()\" [class.active]=\"month.observation\" [ngClass]=\"{'border border-secondary':month.isThisMonth}\">\r\n {{'MONTHS.'+(month.value+1)|translate}}\r\n </button>\r\n </li>\r\n </ul>\r\n <div class=\"days\" *ngIf=\"!years&&!months\">\r\n <div class=\"text-center border-bottom py-2 text-muted\" *ngFor=\"let weekDay of weekDays\">{{'WEEK_DAYS.'+weekDay|translate}}</div>\r\n <ng-container *ngFor=\"let week of weeks\">\r\n <button tabIndex=\"-1\" class=\"btn rounded-circle p-0 m-2\" *ngFor=\"let day of week.days\" (click)=\"onSelectDate(day)\" type=\"button\" \r\n [class.border]=\"day.isToday\" [class.bg-primary]=\"day.isSelected\" [class.text-white]=\"day.isSelected\" [ngClass]=\"{'pe-none text-muted opacity-50':!day.inMonth||!day.isInRange}\">\r\n <small>{{day.value|date:'d'}}</small>\r\n </button>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </nav>\r\n</div>","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { TranslateModule } from \"@ngx-translate/core\";\r\nimport { AdbDirectivesModule } from \"../../directives/directives.module\";\r\nimport { AdbPipesModule } from \"../../pipes/pipes.module\";\r\nimport { AdbDatePickerComponent } from \"./adb-date-picker.component\";\r\nimport { AdbDatePickerDirective } from \"./adb-date-picker.directive\";\r\nimport { AdbDatePickerService } from \"./adb-date-picker.service\";\r\n\r\n@NgModule({\r\n imports: [CommonModule, TranslateModule.forChild(), AdbPipesModule, AdbDirectivesModule],\r\n declarations: [AdbDatePickerComponent, AdbDatePickerDirective],\r\n exports: [AdbDatePickerComponent, AdbDatePickerDirective],\r\n providers: [AdbDatePickerService]\r\n})\r\nexport class AdbDatePickerModule { }","import { ElementRef, Injectable } from \"@angular/core\";\r\n\r\n@Injectable()\r\nexport class AdbDropdownService {\r\n currentMenu: any;\r\n currentMenuId: string;\r\n}","import { Directive, ElementRef, EventEmitter, HostBinding, HostListener, Input, Output } from \"@angular/core\";\r\nimport { AdbDropdownService } from \"./adb-dropdown.service\";\r\n\r\n@Directive({\r\n selector: '[adbDropdown]',\r\n exportAs: 'adbDropdown'\r\n})\r\nexport class AdbDropdownDirective {\r\n\r\n constructor(\r\n private elementRef: ElementRef,\r\n private adbDropdownService: AdbDropdownService) {\r\n this.id = this.getId();\r\n }\r\n\r\n @Output() adbDropdown = new EventEmitter();\r\n @Input() insideClick = false;\r\n\r\n @HostBinding('id')\r\n id: string;\r\n\r\n @HostBinding('attr.data-toggle')\r\n dataToggle = \"dropdown\";\r\n\r\n @HostBinding('attr.aria-haspopup')\r\n haspPopup = true;\r\n\r\n\r\n @HostBinding('attr.aria-expanded')\r\n expanded = false;\r\n\r\n @HostListener('click')\r\n onClick(): void {\r\n this.adbDropdownService.currentMenuId = this.id;\r\n const node = this.elementRef.nativeElement.parentNode;\r\n const toggleButton = node.querySelector('.dropdown-toggle');\r\n let style = `transform:translate3d(0px, ${toggleButton?.clientHeight + 1}px, 0px);`;\r\n const menu = node.querySelector('.dropdown-menu');\r\n if (menu) {\r\n this.adbDropdownService.currentMenu = this.elementRef.nativeElement;\r\n if (menu.classList?.contains('dropdown-menu-end')) {\r\n style = style + 'inset: 0px 0px auto auto;';\r\n }\r\n menu.setAttribute('style', style);\r\n if (menu.classList.contains('show')) {\r\n menu.classList.remove('show');\r\n } else {\r\n this.adbDropdown.emit();\r\n menu.classList.add('show');\r\n }\r\n }\r\n }\r\n\r\n @HostListener('document:click', ['$event.target'])\r\n onCheckOutSideClick(target: any): void {\r\n if (this.adbDropdownService.currentMenuId === this.id) {\r\n const parent = this.insideClick?this.elementRef.nativeElement.parentNode:this.elementRef.nativeElement;\r\n const clickedInside = parent.contains(target);\r\n if (!clickedInside) {\r\n const parent = this.elementRef.nativeElement.parentNode.querySelector('.dropdown-menu');\r\n parent?.classList.remove('show');\r\n }\r\n } else {\r\n const parent = this.elementRef.nativeElement.parentNode.querySelector('.dropdown-menu');\r\n parent?.classList.remove('show');\r\n }\r\n }\r\n\r\n close(): void {\r\n const node = this.elementRef.nativeElement.parentNode;\r\n const menu = node.querySelector('.dropdown-menu');\r\n menu.classList.remove('show');\r\n }\r\n\r\n private getId(): string {\r\n return '' + Math.floor(Math.random() * Date.now())\r\n }\r\n}","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { TranslateModule } from \"@ngx-translate/core\";\r\nimport { AdbDirectivesModule } from \"../../directives/directives.module\";\r\nimport { AdbDropdownDirective } from \"./adb-dropdown.directive\";\r\nimport { AdbDropdownService } from \"./adb-dropdown.service\";\r\n\r\n@NgModule({\r\n imports: [CommonModule, TranslateModule.forChild(), AdbDirectivesModule],\r\n declarations: [AdbDropdownDirective],\r\n exports: [AdbDropdownDirective],\r\n providers: [AdbDropdownService]\r\n})\r\nexport class AdbDropdownModule { }","import { ApplicationRef, ComponentFactoryResolver, EmbeddedViewRef, Injectable, Injector, Renderer2, RendererFactory2 } from \"@angular/core\";\r\nimport { Subject } from \"rxjs\";\r\nimport { AdbConfirmModal, DialogModel } from \"./adb-confirm-modal\";\r\n\r\n@Injectable()\r\nexport class AdbModalService {\r\n private closeSubject = new Subject<boolean>();\r\n close$ = this.closeSubject.asObservable();\r\n renderer: Renderer2;\r\n domElem: HTMLElement;\r\n backdrop: any;\r\n\r\n constructor(\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n rendererFactory: RendererFactory2,\r\n private appRef: ApplicationRef,\r\n private injector: Injector) {\r\n this.renderer = rendererFactory.createRenderer(null, null);\r\n }\r\n\r\n hide(confirm: boolean): void {\r\n this.closeSubject.next(confirm);\r\n document.body.removeChild(this.domElem);\r\n document.body.removeChild(this.backdrop);\r\n this.renderer.removeClass(document.body, 'modal-open');\r\n }\r\n\r\n showConfirm(model: DialogModel): void {\r\n this.renderer.addClass(document.body, 'modal-open');\r\n this.backdrop = this.renderer.createElement('div');\r\n this.backdrop.classList.add('modal-backdrop', 'fade', 'show');\r\n this.renderer.appendChild(document.body, this.backdrop);\r\n \r\n let componentRef = this.componentFactoryResolver.resolveComponentFactory(AdbConfirmModal) .create(this.injector);\r\n model.header = model.header ?? 'NOT_SET';\r\n model.text = model.text ?? 'NOT_SET';\r\n model.confirm = model.confirm ?? 'OK';\r\n model.decline = model.decline ?? 'CANCEL';\r\n componentRef.instance.model = model;\r\n\r\n this.appRef.attachView(componentRef.hostView);\r\n this.domElem = (componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\r\n document.body.appendChild(this.domElem);\r\n\r\n }\r\n}","import { Component, Input } from '@angular/core';\r\nimport { AdbModalService } from './adb-modal.service';\r\n@Component({\r\n templateUrl: 'adb-confirm-modal.html'\r\n})\r\nexport class AdbConfirmModal {\r\n @Input() public model: DialogModel;\r\n constructor(public modalRef: AdbModalService) {\r\n }\r\n\r\n onClose(confirm: boolean): void {\r\n this.modalRef.hide(confirm);\r\n }\r\n}\r\n\r\nexport interface DialogModel {\r\n header: string;\r\n text: string;\r\n confirm?: string;\r\n decline?: string;\r\n value?: any;\r\n}\r\n","<div class=\"modal fade show\" *ngIf=\"model\">\r\n <div class=\"modal-dialog modal-dialog-centered\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\">\r\n <h1 class=\"h-subsection mb-0 modal-title\" translate>{{model.header}}</h1>\r\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\" (click)=\"onClose(false)\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{model.text|translate}}\r\n <div *ngIf=\"model.value\">\r\n <strong>{{model.value}}</strong>\r\n </div>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <div class=\"text-right\">\r\n <button type=\"button\" class=\"btn btn-primary me-2\"\r\n (click)=\"onClose(true)\">{{model.confirm|translate}}</button>\r\n <button type=\"button\" class=\"btn btn-secondary\"\r\n (click)=\"onClose(false)\">{{model.decline|translate}}</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { TranslateModule } from \"@ngx-translate/core\";\r\nimport { AdbDirectivesModule } from \"../../directives/directives.module\";\r\nimport { AdbConfirmModal } from \"./adb-confirm-modal\";\r\nimport { AdbModalService } from \"./adb-modal.service\";\r\n\r\n@NgModule({\r\n imports: [CommonModule, TranslateModule.forChild(), AdbDirectivesModule],\r\n declarations: [AdbConfirmModal],\r\n exports: [AdbConfirmModal],\r\n providers: [AdbModalService]\r\n})\r\nexport class AdbModalModule { }","/*\r\n * Public API Surface of artdata-shared\r\n */\r\n\r\n\r\nexport * from './lib/components/adb-header/adb-header.module';\r\nexport * from './lib/components/adb-header/adb-header.component';\r\n\r\nexport * from './lib/directives/directives.module';\r\nexport * from './lib/directives/click-outside.directive';\r\nexport * from './lib/directives/focus.directive';\r\nexport * from './lib/directives/file-upload.directive';\r\n\r\nexport * from './lib/components/pagers/pagers.module';\r\nexport * from './lib/components/pagers/infinite-scroll.component';\r\nexport * from './lib/components/pagers/pager';\r\n\r\nexport * from './lib/pipes/pipes.module';\r\nexport * from './lib/pipes/highlight.pipe';\r\nexport * from './lib/pipes/number-spacing.pipe';\r\nexport * from './lib/pipes/date.pipe';\r\n\r\nexport * from './lib/components/date-picker/adb-date-picker.module';\r\nexport * from './lib/components/date-picker/adb-date-picker.component';\r\nexport * from './lib/components/date-picker/adb-date-picker.directive';\r\n\r\nexport * from './lib/components/adb-dropdown/adb-dropdown.module';\r\nexport * from './lib/components/adb-dropdown/adb-dropdown.directive';\r\n\r\nexport * from './lib/components/adb-confirm-modal/adb-modal.module';\r\nexport * from './lib/components/adb-confirm-modal/adb-confirm-modal';\r\nexport * from './lib/components/adb-confirm-modal/adb-modal.service';\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.EnvironmentService","i3","i4","i1","i1.AdbDatePickerService","i2","i3.LocaleDatePipe","i1.AdbDropdownService","i1.AdbModalService"],"mappings":"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"}
1
+ {"version":3,"file":"adb-shared.mjs","sources":["../../../projects/artdata-shared/src/lib/components/adb-header/environment.service.ts","../../../projects/artdata-shared/src/lib/components/adb-header/adb-header.component.ts","../../../projects/artdata-shared/src/lib/components/adb-header/adb-header.component.html","../../../projects/artdata-shared/src/lib/directives/click-outside.directive.ts","../../../projects/artdata-shared/src/lib/directives/file-upload.directive.ts","../../../projects/artdata-shared/src/lib/directives/focus.directive.ts","../../../projects/artdata-shared/src/lib/directives/directives.module.ts","../../../projects/artdata-shared/src/lib/components/adb-header/adb-header.module.ts","../../../projects/artdata-shared/src/lib/components/pagers/infinite-scroll.component.ts","../../../projects/artdata-shared/src/lib/components/pagers/pager-base.directive.ts","../../../projects/artdata-shared/src/lib/components/pagers/pager.ts","../../../projects/artdata-shared/src/lib/components/pagers/pager.html","../../../projects/artdata-shared/src/lib/components/pagers/pagers.module.ts","../../../projects/artdata-shared/src/lib/pipes/date.pipe.ts","../../../projects/artdata-shared/src/lib/pipes/highlight.pipe.ts","../../../projects/artdata-shared/src/lib/pipes/number-spacing.pipe.ts","../../../projects/artdata-shared/src/lib/pipes/pipes.module.ts","../../../projects/artdata-shared/src/lib/components/date-picker/adb-date-picker.service.ts","../../../projects/artdata-shared/src/lib/components/date-picker/adb-date-picker.directive.ts","../../../projects/artdata-shared/src/lib/components/date-picker/adb-date-picker.component.ts","../../../projects/artdata-shared/src/lib/components/date-picker/adb-date-picker.component.html","../../../projects/artdata-shared/src/lib/components/date-picker/adb-date-picker.module.ts","../../../projects/artdata-shared/src/lib/components/adb-dropdown/adb-dropdown.service.ts","../../../projects/artdata-shared/src/lib/components/adb-dropdown/adb-dropdown.directive.ts","../../../projects/artdata-shared/src/lib/components/adb-dropdown/adb-dropdown.module.ts","../../../projects/artdata-shared/src/lib/components/adb-confirm-modal/adb-modal.service.ts","../../../projects/artdata-shared/src/lib/components/adb-confirm-modal/adb-confirm-modal.ts","../../../projects/artdata-shared/src/lib/components/adb-confirm-modal/adb-confirm-modal.html","../../../projects/artdata-shared/src/lib/components/adb-confirm-modal/adb-modal.module.ts","../../../projects/artdata-shared/src/public-api.ts","../../../projects/artdata-shared/src/adb-shared.ts"],"sourcesContent":["import { Inject, Injectable } from \"@angular/core\";\r\n\r\n@Injectable()\r\nexport class EnvironmentService {\r\n constructor(@Inject('env') public environment) {\r\n }\r\n}","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { forkJoin, Subscription } from 'rxjs';\r\nimport { EnvironmentService } from './environment.service';\r\nimport { Navigation } from './navigation.model';\r\nimport { take } from 'rxjs/operators';\r\n@Component({\r\n selector: 'adb-header2',\r\n templateUrl: './adb-header.component.html'\r\n})\r\nexport class ADBHeaderComponent implements OnInit, OnDestroy {\r\n private subscription = new Subscription();\r\n @Output() loginClicked = new EventEmitter();\r\n @Output() logoutClicked = new EventEmitter();\r\n @Output() dropMenuChange = new EventEmitter<boolean>();\r\n fullName: string;\r\n translationFinished = false;\r\n @Input() set userName(fullName: string) {\r\n this.fullName = fullName;\r\n const splitted = fullName.split(' ');\r\n if (splitted?.length > 1) {\r\n const initials = splitted.shift().charAt(0) + splitted.pop().charAt(0);\r\n this.initials = initials.toUpperCase();\r\n } else {\r\n this.initials = this.fullName ? this.fullName.charAt(0).toUpperCase() : this.fullName;\r\n }\r\n };\r\n initials: string;\r\n showMenu = false;\r\n showUserMenu = false;\r\n navigation: Navigation;\r\n url: string;\r\n expandedLink: string;\r\n constructor(\r\n private httpClient: HttpClient,\r\n private envService: EnvironmentService,\r\n public trans: TranslateService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.url = window.location.href;\r\n const baseUrl = this.envService.environment.resourceUrl;\r\n this.subscription.add(this.httpClient.get<Navigation>(baseUrl + '/assets/links.json').subscribe(result => {\r\n this.navigation = result;\r\n }));\r\n this.initTranslations(baseUrl);\r\n }\r\n\r\n private initTranslations(baseUrl: string): void {\r\n if (this.trans.store.translations[this.trans.currentLang]) {\r\n this.loadTranslation(baseUrl, this.trans.currentLang);\r\n }\r\n this.subscription.add(this.trans.onLangChange.subscribe((event) => {\r\n this.translationFinished = false;\r\n this.loadTranslation(baseUrl, event.lang);\r\n }));\r\n }\r\n\r\n private loadTranslation(baseUrl: string, lang: string): void {\r\n //TODO: Prepare for diffents lang then en sv (en-GB) or add more files in devcomponentserver :)\r\n this.subscription.add(this.httpClient.get(baseUrl + `/assets/i18n/${lang}.json`).subscribe(translations => {\r\n this.trans.setTranslation(lang, translations, true);\r\n this.translationFinished = true;\r\n }));\r\n }\r\n\r\n showMenuDropdown(show: boolean): void {\r\n if (this.showMenu !== show) {\r\n this.showMenu = show;\r\n this.dropMenuChange.emit(show);\r\n }\r\n }\r\n\r\n setLanguage(lang): void {\r\n this.trans.use(lang);\r\n this.showMenu = false;\r\n this.dropMenuChange.emit(false);\r\n //TODO: set localstorage/cookies or probaly event to main app\r\n }\r\n\r\n onExpandLink(event: any, transId: string): void {\r\n event.preventDefault(); event.stopPropagation();\r\n if (this.expandedLink === transId) {\r\n this.expandedLink = null;\r\n return;\r\n }\r\n this.expandedLink = transId;\r\n }\r\n\r\n login(): void {\r\n this.loginClicked.emit();\r\n }\r\n\r\n logout(): void {\r\n this.logoutClicked.emit();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n // private initAllTranslations(baseUrl: string): void {\r\n // const trans$ = forkJoin([this.httpClient.get(baseUrl + '/assets/i18n/en.json'), this.httpClient.get(baseUrl + '/assets/i18n/sv.json')])\r\n // this.subscription.add(trans$.subscribe(result => {\r\n // this.trans.setTranslation('en', result[0], true);\r\n // this.trans.setTranslation('sv', result[1], true);\r\n // }));\r\n // }\r\n}\r\n\r\n","<header id=\"top-header\" (clickOutside)=\"showUserMenu=false;showMenuDropdown(false);\">\r\n <nav class=\"d-flex flex-wrap px-3\">\r\n <div class=\"flex-grow-1 d-flex align-items-center justify-content-between justify-content-md-start\">\r\n <div class=\"logo d-none d-md-block\">\r\n <img src=\"/assets/images/logo.svg\" style=\"height: 3.2rem;\">\r\n </div>\r\n <div class=\"logo ps-2 d-sm-block d-md-none d-flex align-items-center\">\r\n <img src=\"/assets/images/logo_sm_white.png\" style=\"height: 2rem;\">\r\n </div>\r\n <strong class=\"bigger\">{{'ADB_HEADER.TITLE'|translate}}</strong>\r\n </div>\r\n <div *ngIf=\"translationFinished\" class=\"flex-grow-1 d-flex justify-content-lg-between justify-content-end align-items-center\">\r\n <div *ngIf=\"navigation\" class=\"d-flex align-items-center\">\r\n <nav class=\"d-none align-items-center d-lg-flex pe-4 gap-4\" *ngIf=\"navigation\">\r\n <ng-container *ngFor=\"let link of navigation.links\">\r\n <a href=\"{{link.url}}?lang={{trans.currentLang}}\" *ngIf=\"link.topLink\" [ngClass]=\"{'d-none d-xl-block':link.transId==='ADB_HEADER.OBSERVATION'}\">\r\n {{link.transId|translate}}\r\n </a>\r\n </ng-container>\r\n </nav>\r\n <div>\r\n <button type=\"button\" class=\"btn btn-sm py-1 px-2 btn-primary\" (click)=\"showUserMenu = false;showMenuDropdown(!showMenu)\">\r\n {{'ADB_HEADER.MENY'|translate}}\r\n <i class=\"ms-1 fas\" [ngClass]=\"showMenu?'fa-chevron-up':'fa-chevron-down'\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"d-none d-md-block ps-4\">\r\n <button *ngIf=\"initials\" type=\"button\" class=\"btn initials\" (click)=\"showUserMenu = !showUserMenu;showMenuDropdown(false)\">{{initials}}</button>\r\n <button *ngIf=\"!initials\" type=\"button\" (click)=\"showUserMenu = !showUserMenu;showMenuDropdown(false)\" class=\"btn btn-link\">\r\n {{'ADB_HEADER.LOGIN'|translate}}\r\n </button>\r\n </div>\r\n </div>\r\n </nav>\r\n <div class=\"menu\" *ngIf=\"showUserMenu\">\r\n <div class=\"menu-body bg-white p-3\" style=\"width:15rem\">\r\n <ng-container *ngIf=\"initials\">\r\n <div class=\"d-flex align-items-center gap-2 text-dark\">\r\n <span class=\"initials\">{{initials}}</span>\r\n <strong>{{fullName}}</strong>\r\n </div>\r\n <hr class=\"mx-n3 text-muted\">\r\n <button (click)=\"logout()\" type=\"button\" class=\"btn btn-link p-0\">\r\n <i class=\"fas fa-sign-out-alt me-1\"></i>{{'ADB_HEADER.LOGOUT'|translate}}\r\n </button>\r\n </ng-container>\r\n <ng-container *ngIf=\"!initials\">\r\n <div class=\"d-flex justify-content-center\">\r\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"login()\" id=\"start-login\">{{'ADB_HEADER.LOGIN'|translate}}</button>\r\n </div>\r\n <a *ngIf=\"navigation\" class=\"d-block mt-3\" href=\"{{navigation.createAccountLink}}?lang={{trans.currentLang}}&returnUrl={{url}}\">\r\n {{'ADB_HEADER.CREATE_USER'|translate}}\r\n </a>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"menu\" *ngIf=\"showMenu\">\r\n <div class=\"menu-body\" *ngIf=\"navigation\">\r\n <div class=\"px-3 pt-3 mb-1\">\r\n <div class=\"d-flex justify-content-between flex-wrap gap-2 mb-2\">\r\n <div>\r\n <div class=\"d-flex d-md-none align-items-center gap-2\" *ngIf=\"initials\">\r\n <span class=\"initials me-2\">{{initials}}</span>\r\n <button type=\"button\" (click)=\"logout()\" class=\"btn btn-primary\">\r\n {{'ADB_HEADER.LOGOUT'|translate}}\r\n </button>\r\n </div>\r\n <div class=\"d-flex gap-2 d-md-none\" *ngIf=\"!initials\">\r\n <button type=\"button\" (click)=\"login()\" class=\"btn btn-primary\" id=\"login\">\r\n {{'ADB_HEADER.LOGIN'|translate}}\r\n </button>\r\n <a href=\"{{navigation.createAccountLink}}?lang={{trans.currentLang}}&returnUrl={{url}}\"\r\n class=\"btn btn-primary text-white\">\r\n {{'ADB_HEADER.CREATE_USER'|translate}}\r\n </a>\r\n </div>\r\n </div>\r\n <div>\r\n <button type=\"button\" *ngIf=\"trans.currentLang==='en'\" (click)=\"setLanguage('sv')\"\r\n class=\"btn btn-primary\">\r\n {{'ADB_HEADER.IN_SWEDISH'|translate}}\r\n </button>\r\n <button type=\"button\" *ngIf=\"trans.currentLang==='sv'\" (click)=\"setLanguage('en')\"\r\n class=\"btn btn-primary\">\r\n {{'ADB_HEADER.IN_ENGLISH'|translate}}\r\n </button>\r\n </div>\r\n </div>\r\n {{'ADB_HEADER.SERVICES'|translate}}\r\n </div>\r\n <div id=\"splash\">\r\n <div class=\"px-3 d-flex flex-column\">\r\n <ul class=\"list-group ms-0 mb-0 ps-0\">\r\n <li class=\"mb-1 list-group-item p-0 rounded\" *ngFor=\"let link of navigation.links\"\r\n [attr.aria-expanded]=\"link.transId===expandedLink?true:false\" role=\"button\">\r\n <div class=\"d-flex align-items-center justify-content-between\">\r\n <a href=\"{{link.url}}?lang={{trans.currentLang}}\" class=\"d-flex align-items-center flex-grow-1 p-2\">\r\n <small class=\"fa-stack me-1\" *ngIf=\"link.icon\">\r\n <span class=\"fas fa-circle fa-stack-2x text-primary\"></span>\r\n <span class=\"fas fa-stack-1x fa-inverse\" [ngClass]=\"link.icon\"></span>\r\n </small>\r\n {{link.transId|translate}}\r\n </a>\r\n <button class=\"btn btn-expand me-2\" *ngIf=\"link.children?.length>0\" (click)=\"onExpandLink($event,link.transId)\">\r\n <i class=\"fas fa-chevron-up\" [ngClass]=\"link.transId===expandedLink?'d-block ':'d-none'\"></i>\r\n <i class=\"fas fa-chevron-down\" [ngClass]=\"link.transId!==expandedLink?'d-block ':'d-none'\"></i>\r\n </button>\r\n </div>\r\n <ul class=\"list-unstyled\" [ngClass]=\"link.transId===expandedLink?'d-block':'d-none'\">\r\n <li class=\"py-1 m-0\" [class.pt-0]=\"first\" *ngFor=\"let subLink of link.children;let first = first\" style=\"padding-left:3rem;\">\r\n <a class=\"w-100 d-block\" href=\"{{subLink.url}}?lang={{trans.currentLang}}\">\r\n {{subLink.transId|translate}}\r\n </a>\r\n </li>\r\n </ul>\r\n </li>\r\n </ul>\r\n <div *ngIf=\"navigation.about\" class=\"mt-2 mb-auto\">\r\n <div class=\"mb-1\">{{'ADB_HEADER.CONTACT'|translate}}</div>\r\n <div class=\"mb-1 row\">\r\n <div class=\"col-sm-6 mb-2\">\r\n <div class=\"bg-white p-2 rounded\">\r\n <small class=\"fa-stack\" *ngIf=\"navigation.about.icon\">\r\n <span class=\"fas fa-circle fa-stack-2x text-primary\"></span>\r\n <span class=\"fas fa-stack-1x fa-inverse fa-envelope\"></span>\r\n </small>\r\n <a class=\"bg-white p-2\" href=\"mailto:artfakta@artdatabanken.se\">artfakta@artdatabanken.se</a>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-6 mb-2\">\r\n <div class=\"bg-white p-2 rounded\">\r\n <small class=\"fa-stack\" *ngIf=\"navigation.about.icon\">\r\n <span class=\"fas fa-circle fa-stack-2x text-primary\"></span>\r\n <span class=\"fas fa-stack-1x fa-inverse\" [ngClass]=\"navigation.about.icon\"></span>\r\n </small>\r\n <a [href]=\"navigation.about.url\">{{navigation.about.transId|translate}}</a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div style=\"height:10rem\"></div>\r\n <div class=\"mb-3\">\r\n {{'ADB_HEADER.DEVELOPED_BY'|translate}}\r\n <a href=\"https://www.artdatabanken.se/\" class=\"text-white\"><u>{{'ADB_HEADER.ARTDATABANKEN'|translate}}</u></a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</header>\r\n","import { Directive, Output, EventEmitter, ElementRef, HostListener } from '@angular/core';\r\n@Directive({\r\n selector: '[adbClickOutside]',\r\n})\r\nexport class ClickOutsideDirective {\r\n @Output() adbClickOutside = new EventEmitter<any>();\r\n constructor(private elementRef: ElementRef) { }\r\n\r\n @HostListener('document:click', ['$event.target'])\r\n public onClick(target: any) {\r\n const clickedInside = this.elementRef.nativeElement.contains(target);\r\n if (!clickedInside) {\r\n this.adbClickOutside.emit(target);\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, EventEmitter } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: 'input[adbFileUpload]',\r\n host: {\r\n '(change)': 'onBeginUpload($event.target)',\r\n '(click)': 'onClick($event.target)'\r\n },\r\n outputs: ['upload']\r\n})\r\nexport class FileUploadDirective {\r\n upload = new EventEmitter();\r\n click = new EventEmitter();\r\n constructor(private el: ElementRef) {}\r\n \r\n onBeginUpload(target: any) {\r\n if (target) {\r\n if (target.files && target.files[0]) {\r\n this.upload.emit(target.files[0]);\r\n }\r\n }\r\n }\r\n\r\n onClick(target: any) {\r\n (this.el.nativeElement as HTMLInputElement).value = '';\r\n if (target) {\r\n this.click.emit(target);\r\n }\r\n }\r\n}","/* eslint-disable @angular-eslint/directive-selector */\r\nimport { Directive, ElementRef, AfterViewInit, Input } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[adbFocus]',\r\n})\r\nexport class FocusDirective implements AfterViewInit {\r\n\r\n @Input('adbFocus')\r\n focused = false;\r\n\r\n constructor(public element: ElementRef<HTMLElement>) {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n // ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked.\r\n if (this.focused) {\r\n setTimeout(() => this.element.nativeElement.focus(), 0);\r\n }\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { ClickOutsideDirective } from \"./click-outside.directive\";\r\nimport { FileUploadDirective } from \"./file-upload.directive\";\r\nimport { FocusDirective } from \"./focus.directive\";\r\n\r\n@NgModule({\r\n imports: [],\r\n declarations: [ClickOutsideDirective, FocusDirective, FileUploadDirective],\r\n exports: [ClickOutsideDirective, FocusDirective, FileUploadDirective]\r\n})\r\nexport class AdbDirectivesModule { }","import { CommonModule } from '@angular/common';\r\nimport { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { ADBHeaderComponent } from './adb-header.component';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { EnvironmentService } from './environment.service';\r\nimport { RouterModule } from '@angular/router';\r\nimport { AdbDirectivesModule } from '../../directives/directives.module';\r\n\r\n\r\n@NgModule({\r\n declarations: [ADBHeaderComponent],\r\n imports: [\r\n CommonModule,\r\n HttpClientModule,\r\n RouterModule,\r\n TranslateModule,\r\n AdbDirectivesModule\r\n ],\r\n exports: [ADBHeaderComponent]\r\n})\r\nexport class ADBHeaderModule {\r\n public static forRoot(environment: any): ModuleWithProviders<ADBHeaderModule> {\r\n return {\r\n ngModule: ADBHeaderModule,\r\n providers: [\r\n EnvironmentService,\r\n {\r\n provide: 'env', // you can also use InjectionToken\r\n useValue: environment\r\n }\r\n ]\r\n };\r\n }\r\n}\r\n","import { AfterViewInit, Directive, ElementRef, EventEmitter, HostBinding, OnDestroy, Output } from \"@angular/core\";\r\n\r\n@Directive({ selector: \"[onVisible]\" })\r\nexport class InfiniteScrollComponent implements AfterViewInit, OnDestroy {\r\n @Output() public onVisible: EventEmitter<any> = new EventEmitter();\r\n @HostBinding('style.height') height = '1px';\r\n private _intersectionObserver?: IntersectionObserver;\r\n\r\n constructor(private _element: ElementRef) { }\r\n\r\n public ngAfterViewInit() {\r\n this._intersectionObserver = new IntersectionObserver(entries => {\r\n this.checkForIntersection(entries);\r\n }, {});\r\n this._intersectionObserver.observe(<Element>this._element.nativeElement);\r\n }\r\n\r\n public ngOnDestroy() {\r\n if (this._intersectionObserver) {\r\n this._intersectionObserver.disconnect();\r\n }\r\n }\r\n\r\n private checkForIntersection = (\r\n entries: Array<IntersectionObserverEntry>\r\n ) => {\r\n entries.forEach((entry: IntersectionObserverEntry) => {\r\n const isIntersecting =\r\n (<any>entry).isIntersecting &&\r\n entry.target === this._element.nativeElement;\r\n\r\n if (isIntersecting) {\r\n this.onVisible.emit();\r\n }\r\n });\r\n };\r\n}\r\n","import { Input } from '@angular/core';\r\nimport { Directive } from '@angular/core';\r\n@Directive()\r\nexport abstract class PagerBaseDirective {\r\n private static DEFAULT_LIMIT = 10;\r\n private static VISIBLE_PAGES = 5;\r\n protected static SKIP_RESOURCE = 'offset';\r\n\r\n @Input() totalCount: number;\r\n pages: Array<number>;\r\n @Input() limit: number = PagerBaseDirective.DEFAULT_LIMIT;\r\n amountOfPages: number;\r\n currentPage = 1;\r\n\r\n protected calculatePages(): void {\r\n this.amountOfPages = Math.ceil(this.totalCount / this.limit);\r\n if ((this.currentPage + 1) > PagerBaseDirective.VISIBLE_PAGES) {\r\n this.pages = [\r\n this.currentPage - 2,\r\n this.currentPage - 1, this.currentPage];\r\n const above = this.amountOfPages - this.currentPage;\r\n if (above >= 1) {\r\n this.pages.push(this.currentPage + 1);\r\n }\r\n if (above >= 2) {\r\n this.pages.push(this.currentPage + 2);\r\n }\r\n } else if (this.totalCount) {\r\n const max = this.amountOfPages > PagerBaseDirective.VISIBLE_PAGES ? 5 : this.amountOfPages;\r\n this.pages = Array(Math.ceil(max)).fill(1).map((x, i) => i + 1);\r\n }\r\n }\r\n\r\n}\r\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { PagerBaseDirective } from './pager-base.directive';\r\n\r\n@Component({\r\n selector: 'adb-pager-nav',\r\n templateUrl: 'pager.html'\r\n})\r\nexport class PagerComponent extends PagerBaseDirective implements OnInit, OnDestroy {\r\n private subscription = new Subscription();\r\n\r\n constructor(private activatedRoute: ActivatedRoute) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.subscription.add(this.activatedRoute.queryParams.subscribe(params => {\r\n if (params.offset) {\r\n this.currentPage = (+params.offset / this.limit) + 1;\r\n }\r\n this.calculatePages();\r\n }));\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscription.unsubscribe();\r\n }\r\n}\r\n","<nav *ngIf=\"pages&&pages.length>1&&currentPage<=amountOfPages\" class=\"d-flex justify-content-end pe-2 my-1\">\r\n <ul class=\"pagination mb-0\">\r\n <li class=\"page-item\" [class.disabled]=\"currentPage===1\">\r\n <a class=\"page-link\" [routerLink]=\"[]\" [queryParams]=\"{ offset: 0}\" queryParamsHandling=\"merge\">\r\n <i class=\"fas fa-chevron-double-left\"></i>\r\n </a>\r\n </li>\r\n <li class=\"page-item\" [class.disabled]=\"currentPage===1\">\r\n <a class=\"page-link\" [routerLink]=\"[]\" [queryParams]=\"{ offset: (currentPage-2)*limit}\"\r\n queryParamsHandling=\"merge\">\r\n <i class=\"fas fa-chevron-left\"></i>\r\n </a>\r\n </li>\r\n <li class=\"page-item\" [class.active]=\"currentPage===page\" *ngFor=\"let page of pages\">\r\n <a class=\"page-link\" [routerLink]=\"[]\" [queryParams]=\"{ offset: (page-1)*limit}\"\r\n queryParamsHandling=\"merge\">{{page}}</a>\r\n </li>\r\n <li class=\"page-item\" [class.disabled]=\"currentPage>=amountOfPages\">\r\n <a class=\"page-link\" [routerLink]=\"[]\" [queryParams]=\"{ offset: currentPage*limit}\"\r\n queryParamsHandling=\"merge\">\r\n <i class=\"fas fa-chevron-right\"></i>\r\n </a>\r\n </li>\r\n <li *ngIf=\"(amountOfPages-1)*limit<10000\" class=\"page-item\" [class.disabled]=\"currentPage>=amountOfPages\">\r\n <a class=\"page-link\" [routerLink]=\"[]\" [queryParams]=\"{ offset: (amountOfPages-1)*limit}\"\r\n queryParamsHandling=\"merge\">\r\n <i class=\"fas fa-chevron-double-right\"></i>\r\n </a>\r\n </li>\r\n </ul>\r\n</nav>","\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { InfiniteScrollComponent } from \"./infinite-scroll.component\";\r\nimport { PagerComponent } from \"./pager\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n RouterModule\r\n ],\r\n declarations: [InfiniteScrollComponent, PagerComponent],\r\n exports: [InfiniteScrollComponent, PagerComponent]\r\n})\r\nexport class AdbPagersModule { }","import { DatePipe } from \"@angular/common\";\r\nimport { Pipe, PipeTransform } from \"@angular/core\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n@Pipe({\r\n name: 'adbLocaleDate',\r\n pure: false\r\n})\r\nexport class LocaleDatePipe implements PipeTransform {\r\n constructor(private translate: TranslateService) {}\r\n transform(value: any, format: string) {\r\n return new DatePipe(this.translate.currentLang).transform(value, format, null, this.translate.currentLang);\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n@Pipe({\r\n name: 'adbHighlight'\r\n})\r\nexport class HighlightPipe implements PipeTransform {\r\n forbiddenSymbols = /[`!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?~]/;\r\n transform(value: any, searchs: any): any {\r\n if (!value) { return value; }\r\n value = value + '';\r\n if (searchs) {\r\n if (!Array.isArray(searchs)) {\r\n searchs = searchs.split(' ').filter(s => s);\r\n }\r\n for (let search of searchs) {\r\n if (this.forbiddenSymbols.test(search)) {\r\n search = search.replace(this.forbiddenSymbols, '');\r\n }\r\n const normalizedSearch = this.normalizeText(search);\r\n const normalizedValue = this.normalizeText(value);\r\n const start = normalizedValue ? normalizedValue.indexOf(normalizedSearch) : -1;\r\n if (start !== -1) {\r\n const matched = value.substring(start, start + search.length);\r\n value = value.replace(matched, `<mark>${matched}</mark>`);\r\n }\r\n }\r\n }\r\n return value;\r\n }\r\n\r\n private normalizeText(text: string): string {\r\n return text?.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '').toLocaleLowerCase();\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'adbSpacing',\r\n pure: false\r\n})\r\nexport class NumberSpacingPipe implements PipeTransform {\r\n transform(value) {\r\n // If value is empty, 0 is falsy so perform an extra check to not make '0' to an empty string\r\n if (!value && value !== 0) {\r\n return '';\r\n }\r\n return value.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ' ');\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { LocaleDatePipe } from \"./date.pipe\";\r\nimport { HighlightPipe } from \"./highlight.pipe\";\r\nimport { NumberSpacingPipe } from \"./number-spacing.pipe\";\r\n\r\n@NgModule({\r\n imports: [],\r\n declarations: [HighlightPipe, NumberSpacingPipe, LocaleDatePipe],\r\n exports: [HighlightPipe, NumberSpacingPipe, LocaleDatePipe]\r\n})\r\nexport class AdbPipesModule { }","import { ComponentRef, Inject, Injectable } from \"@angular/core\";\r\nimport { BehaviorSubject, Subject } from \"rxjs\";\r\nimport { AdbDatePickerComponent } from \"./adb-date-picker.component\";\r\n\r\n@Injectable()\r\nexport class AdbDatePickerService {\r\n viewRef: ComponentRef<AdbDatePickerComponent>;\r\n}","import { formatDate } from \"@angular/common\";\r\nimport { Directive, ElementRef, forwardRef, HostBinding, HostListener, Input, OnDestroy, OnInit, Renderer2, ViewContainerRef } from \"@angular/core\";\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR} from \"@angular/forms\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { isValid, parse, parseISO } from \"date-fns\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { AdbDatePickerComponent } from \"./adb-date-picker.component\";\r\nimport { AdbDatePickerService } from \"./adb-date-picker.service\";\r\n\r\n@Directive({\r\n selector: `input[adbDatepicker]`,\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => AdbDatePickerDirective),\r\n multi: true\r\n }]\r\n})\r\nexport class AdbDatePickerDirective implements ControlValueAccessor, OnInit, OnDestroy {\r\n @HostBinding('autocomplete') autocomplete = 'off';\r\n private subscriptions = new Subscription();\r\n @Input() format = 'yyyy-MM-dd';\r\n @Input() toLeft: boolean;\r\n @Input() settings: { maxDate?: Date | string, minDate?: Date | string } = null;\r\n id: string;\r\n initialDate: Date;\r\n\r\n constructor(\r\n private viewContainerRef: ViewContainerRef,\r\n private renderer: Renderer2,\r\n private elementRef: ElementRef,\r\n private adbDatePickerService: AdbDatePickerService,\r\n public translate: TranslateService) {\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n @HostListener('click')\r\n onClick(): void {\r\n if (this.adbDatePickerService.viewRef) {\r\n this.adbDatePickerService.viewRef.destroy();\r\n }\r\n const viewRef = this.viewContainerRef.createComponent<AdbDatePickerComponent>(AdbDatePickerComponent);\r\n viewRef.instance.settings = this.settings;\r\n viewRef.instance.toLeft = this.toLeft;\r\n viewRef.instance.initialDate = this.initialDate;\r\n this.id = this.getId();\r\n viewRef.instance.id = this.id;\r\n viewRef.instance.selectDate.subscribe((date) => {\r\n this.renderer.setProperty(this.elementRef.nativeElement, 'value', formatDate(date, this.format, this.translate.currentLang));\r\n this.onChange(date);\r\n this.initialDate = date;\r\n this.onHide();\r\n });\r\n viewRef.instance.hide.subscribe(() => {\r\n this.onHide();\r\n });\r\n this.adbDatePickerService.viewRef = viewRef;\r\n }\r\n\r\n @HostListener('keyup.esc')\r\n onHide(): void {\r\n this.adbDatePickerService.viewRef = null;\r\n this.viewContainerRef.detach();\r\n this.viewContainerRef.clear();\r\n }\r\n\r\n @HostListener('keydown', ['$event'])\r\n handleKeyboardEvent(event: KeyboardEvent) {\r\n if (event.key === 'Tab') {\r\n this.onHide();\r\n } else if (event.key === 'Backspace') {\r\n this.initialDate = null;\r\n this.renderer.setProperty(this.elementRef.nativeElement, 'value', null);\r\n this.onChange();\r\n this.onHide();\r\n }\r\n else {\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n\r\n @HostListener('document:click', ['$event.target'])\r\n onCheckOutSideClick(target: any): void {\r\n const nativeElement = this.adbDatePickerService.viewRef?.instance.elementRef.nativeElement ?? null;\r\n if (nativeElement) {\r\n if (nativeElement.id === this.id) {\r\n if (!target.hasAttribute('adbdatepicker')) {\r\n const clickedInside = nativeElement.contains(target);\r\n if (!clickedInside) {\r\n this.onHide();\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscriptions.unsubscribe();\r\n }\r\n\r\n //ControlValueAccessor\r\n onChange: any = () => { };\r\n onTouched: any = () => { };\r\n\r\n writeValue(value: Date | string): void {\r\n if (value) {\r\n this.initialDate = AdbDatePickerDirective.parseDate(value);\r\n if (this.initialDate) {\r\n this.renderer.setProperty(this.elementRef.nativeElement, 'value', formatDate(this.initialDate, this.format, this.translate.currentLang));\r\n }\r\n } else {\r\n this.initialDate = null;\r\n this.renderer.setProperty(this.elementRef.nativeElement, 'value', '');\r\n }\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.viewContainerRef.clear();\r\n }\r\n\r\n static parseDate(value: Date | string): Date {\r\n if (typeof value === 'string') {\r\n if (isValid(parseISO(value))) {\r\n return parseISO(value);\r\n } else {\r\n return null;\r\n }\r\n } else if (value instanceof Date) {\r\n return value;\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n private getId(): string {\r\n return '' + Math.floor(Math.random() * Date.now())\r\n }\r\n}","import { Component, ElementRef, EventEmitter, HostBinding, Input, OnDestroy, OnInit, Output } from \"@angular/core\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { addDays, addMonths, addYears, eachDayOfInterval, eachWeekOfInterval, endOfDay, endOfMonth, getHours, getISOWeek, getMinutes, getMonth, isSameDay, isSameMonth, isSameYear, isWithinInterval, startOfDay, startOfMonth, subMonths, subYears } from \"date-fns\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { AdbDatePickerDirective } from \"./adb-date-picker.directive\";\r\n\r\n@Component({\r\n selector: 'adb-date-picker',\r\n templateUrl: './adb-date-picker.component.html'\r\n})\r\nexport class AdbDatePickerComponent implements OnInit, OnDestroy {\r\n private subscriptions = new Subscription();\r\n static MONTHS = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\r\n static WEEK_DAYS = ['1', '2', '3', '4', '5', '6', '7'];\r\n static YEAR_INTERVALL = 8;\r\n currentdDate: Date = new Date();\r\n selectedDate: Date = new Date();\r\n years: { value: Date, title: string, isThisYear: boolean }[];\r\n months: { value: number, isThisMonth: boolean }[];\r\n weekDays = AdbDatePickerComponent.WEEK_DAYS;\r\n weeks: PickerWeek[];\r\n range: { start: any; end: any; };\r\n\r\n @Input() initialDate: Date;\r\n\r\n @Input() settings: any;\r\n @Input() toLeft: boolean;\r\n\r\n @HostBinding('id')\r\n @Input() id: string;\r\n\r\n @Output() selectDate = new EventEmitter<Date>();\r\n @Output() hide = new EventEmitter<void>();\r\n\r\n constructor(public elementRef: ElementRef, private translate: TranslateService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.settings) {\r\n if (this.settings?.minDate || this.settings?.maxDate) {\r\n const minDate = AdbDatePickerDirective.parseDate(this.settings.minDate);\r\n const maxDate = AdbDatePickerDirective.parseDate(this.settings.maxDate);\r\n this.range = {\r\n start: minDate ? startOfDay(minDate) : subYears(new Date(), 1000),\r\n end: maxDate ? endOfDay(maxDate) : addYears(new Date(), 1000)\r\n };\r\n }\r\n }\r\n\r\n this.selectedDate = this.currentdDate = this.initialDate ?? new Date();\r\n this.createCalendar()\r\n }\r\n\r\n onShowYear(): void {\r\n this.months = null;\r\n this.loadYearsInterval();\r\n }\r\n\r\n onShowMonth(): void {\r\n this.years = null;\r\n this.loadMonths();\r\n }\r\n\r\n onSelectYear(inYear?: Date): void {\r\n this.selectedDate.setFullYear(inYear.getFullYear());\r\n this.loadMonths();\r\n this.years = null;\r\n }\r\n\r\n onSelectMonth(inMonth?: number): void {\r\n this.selectedDate.setMonth(inMonth);\r\n this.createCalendar();\r\n this.years = null;\r\n this.months = null;\r\n }\r\n\r\n onPrev(): void {\r\n if (this.years) {\r\n this.selectedDate = subYears(this.selectedDate, AdbDatePickerComponent.YEAR_INTERVALL);\r\n this.loadYearsInterval();\r\n } else if (this.months) {\r\n this.selectedDate = subYears(this.selectedDate, 1);\r\n this.loadMonths();\r\n } else {\r\n this.selectedDate = subMonths(this.selectedDate, 1);\r\n this.createCalendar();\r\n }\r\n }\r\n\r\n onNext(): void {\r\n if (this.years) {\r\n this.selectedDate = addYears(this.selectedDate, AdbDatePickerComponent.YEAR_INTERVALL);\r\n this.loadYearsInterval();\r\n } else if (this.months) {\r\n this.selectedDate = addYears(this.selectedDate, 1);\r\n this.loadMonths();\r\n } else {\r\n this.selectedDate = addMonths(this.selectedDate, 1);\r\n this.createCalendar();\r\n }\r\n }\r\n\r\n\r\n ngOnDestroy(): void {\r\n this.subscriptions.unsubscribe();\r\n }\r\n\r\n private loadMonths(): void {\r\n this.months = AdbDatePickerComponent.MONTHS.map(x => {\r\n return {\r\n value: x,\r\n isThisMonth: getMonth(this.selectedDate) === x && isSameYear(this.currentdDate, this.selectedDate)\r\n }\r\n });\r\n }\r\n\r\n private loadYearsInterval() {\r\n let year = subYears(this.selectedDate, AdbDatePickerComponent.YEAR_INTERVALL);\r\n const years = [];\r\n for (let i = 0; i < 16; i++) {\r\n years.push({\r\n value: year,\r\n title: year.getFullYear(),\r\n isThisYear: isSameYear(year, this.currentdDate)\r\n });\r\n year = addYears(year, 1);\r\n }\r\n this.years = years;\r\n }\r\n\r\n onSelectDate(day: PickerDay): void {\r\n this.selectDate.emit(day.value);\r\n }\r\n\r\n private createCalendar() {\r\n const weeks = [];\r\n const monthInterval = { start: startOfMonth(this.selectedDate), end: endOfMonth(this.selectedDate) };\r\n var fnsWweeks = eachWeekOfInterval(monthInterval, { weekStartsOn: this.translate.currentLang === 'sv' || this.translate.currentLang === 'sv-SE' ? 1 : 0 });\r\n for (const fnsWeek of fnsWweeks) {\r\n const week = { weekNumber: 0, days: [] };\r\n week.weekNumber = getISOWeek(new Date(fnsWeek));\r\n const weekInterval = { start: new Date(fnsWeek), end: addDays(new Date(fnsWeek), 6) };\r\n week.days = eachDayOfInterval(weekInterval).map(day => {\r\n day.setHours(getHours(new Date()));\r\n day.setMinutes(getMinutes(new Date()));\r\n return {\r\n value: day,\r\n isSelected: isSameYear(day, this.initialDate) && isSameDay(day, this.initialDate) && isSameMonth(day, this.initialDate),\r\n isInRange: this.range ? isWithinInterval(day, this.range) : true,\r\n isToday: isSameDay(day, new Date()),\r\n inMonth: monthInterval.start.getMonth() === day.getMonth()\r\n };\r\n });\r\n weeks.push(week);\r\n }\r\n this.weeks = weeks;\r\n }\r\n}\r\n\r\nexport interface PickerWeek {\r\n weeks: {\r\n weekNumber: number;\r\n days: PickerDay[]\r\n }[];\r\n}\r\n\r\nexport interface PickerDay {\r\n value: Date,\r\n isToday: boolean,\r\n isInRange: boolean,\r\n inMonth: boolean,\r\n isSelected: boolean\r\n}","<div class=\"position-relative\" [class.to-left]=\"toLeft\">\r\n <nav class=\"bg-white shadow rounded position-absolute\" style=\"width:350px\">\r\n <header class=\"bg-primary p-2 rounded-top d-flex justify-content-between align-items-center gap-1\">\r\n <button tabIndex=\"-1\" class=\"btn btn-primary text-white rounded-pill\" type=\"button\" (click)=\"onPrev()\"><span class=\"fa fa-chevron-left\"></span></button>\r\n <ng-container *ngIf=\"!years&&!months\">\r\n <button tabIndex=\"-1\" class=\"btn btn-primary text-white rounded-pill\" type=\"button\" (click)=\"onShowMonth();$event.stopPropagation()\">{{selectedDate|adbLocaleDate:'MMM'}}</button>\r\n <button tabIndex=\"-1\" class=\"btn btn-primary text-white rounded-pill\" type=\"button\" (click)=\"onShowYear();$event.stopPropagation()\">{{selectedDate|date:'yyyy'}}</button>\r\n </ng-container>\r\n <button tabIndex=\"-1\" *ngIf=\"years\" class=\"btn btn-primary text-white rounded-pill\" type=\"button\" (click)=\"years=null;;$event.stopPropagation()\">{{years[0].title}} - {{years[years.length-1].title}}</button>\r\n <button tabIndex=\"-1\" *ngIf=\"months\" class=\"btn btn-primary text-white rounded-pill\" type=\"button\" (click)=\"onShowYear();;$event.stopPropagation()\">{{selectedDate|date:'yyyy'}}</button>\r\n <button tabIndex=\"-1\" class=\"btn btn-primary text-white rounded-pill\" type=\"button\" (click)=\"onNext()\"><span class=\"fa fa-chevron-right\"></span></button>\r\n </header>\r\n <div class=\"p-0 border calendar\">\r\n <ul class=\"list-unstyled row\" *ngIf=\"years\">\r\n <li class=\"col-3 text-center px-2 py-3\" *ngFor=\"let year of years\">\r\n <button type=\"button\" tabIndex=\"-1\" class=\"btn btn-sm btn-outline-secondary rounded-pill\" (click)=\"onSelectYear(year.value);$event.stopPropagation()\" [class.active]=\"year.hasObservation\" [ngClass]=\"{'border border-secondary':year.isThisYear}\">{{year.title}}</button>\r\n </li>\r\n </ul>\r\n <ul class=\"list-unstyled row\" *ngIf=\"months\">\r\n <li class=\"col-4 text-center px-2 py-3\" *ngFor=\"let month of months\">\r\n <button type=\"button\" tabIndex=\"-1\" class=\"btn btn-sm btn-outline-secondary rounded-pill\" (click)=\"onSelectMonth(month.value);$event.stopPropagation()\" [class.active]=\"month.observation\" [ngClass]=\"{'border border-secondary':month.isThisMonth}\">\r\n {{'MONTHS.'+(month.value+1)|translate}}\r\n </button>\r\n </li>\r\n </ul>\r\n <div class=\"days\" *ngIf=\"!years&&!months\">\r\n <div class=\"text-center border-bottom py-2 text-muted\" *ngFor=\"let weekDay of weekDays\">{{'WEEK_DAYS.'+weekDay|translate}}</div>\r\n <ng-container *ngFor=\"let week of weeks\">\r\n <button tabIndex=\"-1\" class=\"btn rounded-circle p-0 m-2\" *ngFor=\"let day of week.days\" (click)=\"onSelectDate(day)\" type=\"button\" \r\n [class.border]=\"day.isToday\" [class.bg-primary]=\"day.isSelected\" [class.text-white]=\"day.isSelected\" [ngClass]=\"{'pe-none text-muted opacity-50':!day.inMonth||!day.isInRange}\">\r\n <small>{{day.value|date:'d'}}</small>\r\n </button>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </nav>\r\n</div>","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { TranslateModule } from \"@ngx-translate/core\";\r\nimport { AdbDirectivesModule } from \"../../directives/directives.module\";\r\nimport { AdbPipesModule } from \"../../pipes/pipes.module\";\r\nimport { AdbDatePickerComponent } from \"./adb-date-picker.component\";\r\nimport { AdbDatePickerDirective } from \"./adb-date-picker.directive\";\r\nimport { AdbDatePickerService } from \"./adb-date-picker.service\";\r\n\r\n@NgModule({\r\n imports: [CommonModule, TranslateModule.forChild(), AdbPipesModule, AdbDirectivesModule],\r\n declarations: [AdbDatePickerComponent, AdbDatePickerDirective],\r\n exports: [AdbDatePickerComponent, AdbDatePickerDirective],\r\n providers: [AdbDatePickerService]\r\n})\r\nexport class AdbDatePickerModule { }","import { ElementRef, Injectable } from \"@angular/core\";\r\n\r\n@Injectable()\r\nexport class AdbDropdownService {\r\n currentMenu: any;\r\n currentMenuId: string;\r\n}","import { Directive, ElementRef, EventEmitter, HostBinding, HostListener, Input, Output } from \"@angular/core\";\r\nimport { AdbDropdownService } from \"./adb-dropdown.service\";\r\n\r\n@Directive({\r\n selector: '[adbDropdown]',\r\n exportAs: 'adbDropdown'\r\n})\r\nexport class AdbDropdownDirective {\r\n\r\n constructor(\r\n private elementRef: ElementRef,\r\n private adbDropdownService: AdbDropdownService) {\r\n this.id = this.getId();\r\n }\r\n\r\n @Output() adbDropdown = new EventEmitter();\r\n @Input() insideClick = false;\r\n\r\n @HostBinding('id')\r\n id: string;\r\n\r\n @HostBinding('attr.data-toggle')\r\n dataToggle = \"dropdown\";\r\n\r\n @HostBinding('attr.aria-haspopup')\r\n haspPopup = true;\r\n\r\n\r\n @HostBinding('attr.aria-expanded')\r\n expanded = false;\r\n\r\n @HostListener('click')\r\n onClick(): void {\r\n this.adbDropdownService.currentMenuId = this.id;\r\n const node = this.elementRef.nativeElement.parentNode;\r\n const toggleButton = node.querySelector('.dropdown-toggle');\r\n let style = `transform:translate3d(0px, ${toggleButton?.clientHeight + 1}px, 0px);`;\r\n const menu = node.querySelector('.dropdown-menu');\r\n if (menu) {\r\n this.adbDropdownService.currentMenu = this.elementRef.nativeElement;\r\n if (menu.classList?.contains('dropdown-menu-end')) {\r\n style = style + 'inset: 0px 0px auto auto;';\r\n }\r\n menu.setAttribute('style', style);\r\n if (menu.classList.contains('show')) {\r\n menu.classList.remove('show');\r\n } else {\r\n this.adbDropdown.emit();\r\n menu.classList.add('show');\r\n }\r\n }\r\n }\r\n\r\n @HostListener('document:click', ['$event.target'])\r\n onCheckOutSideClick(target: any): void {\r\n if (this.adbDropdownService.currentMenuId === this.id) {\r\n const parent = this.insideClick?this.elementRef.nativeElement.parentNode:this.elementRef.nativeElement;\r\n const clickedInside = parent.contains(target);\r\n if (!clickedInside) {\r\n const parent = this.elementRef.nativeElement.parentNode.querySelector('.dropdown-menu');\r\n parent?.classList.remove('show');\r\n }\r\n } else {\r\n const parent = this.elementRef.nativeElement.parentNode.querySelector('.dropdown-menu');\r\n parent?.classList.remove('show');\r\n }\r\n }\r\n\r\n close(): void {\r\n const node = this.elementRef.nativeElement.parentNode;\r\n const menu = node.querySelector('.dropdown-menu');\r\n menu.classList.remove('show');\r\n }\r\n\r\n private getId(): string {\r\n return '' + Math.floor(Math.random() * Date.now())\r\n }\r\n}","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { TranslateModule } from \"@ngx-translate/core\";\r\nimport { AdbDirectivesModule } from \"../../directives/directives.module\";\r\nimport { AdbDropdownDirective } from \"./adb-dropdown.directive\";\r\nimport { AdbDropdownService } from \"./adb-dropdown.service\";\r\n\r\n@NgModule({\r\n imports: [CommonModule, TranslateModule.forChild(), AdbDirectivesModule],\r\n declarations: [AdbDropdownDirective],\r\n exports: [AdbDropdownDirective],\r\n providers: [AdbDropdownService]\r\n})\r\nexport class AdbDropdownModule { }","import { ApplicationRef, ComponentFactoryResolver, EmbeddedViewRef, Injectable, Injector, Renderer2, RendererFactory2 } from \"@angular/core\";\r\nimport { Subject } from \"rxjs\";\r\nimport { AdbConfirmModal, DialogModel } from \"./adb-confirm-modal\";\r\n\r\n@Injectable()\r\nexport class AdbModalService {\r\n private closeSubject = new Subject<boolean>();\r\n close$ = this.closeSubject.asObservable();\r\n renderer: Renderer2;\r\n domElem: HTMLElement;\r\n backdrop: any;\r\n\r\n constructor(\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n rendererFactory: RendererFactory2,\r\n private appRef: ApplicationRef,\r\n private injector: Injector) {\r\n this.renderer = rendererFactory.createRenderer(null, null);\r\n }\r\n\r\n hide(confirm: boolean): void {\r\n this.closeSubject.next(confirm);\r\n document.body.removeChild(this.domElem);\r\n document.body.removeChild(this.backdrop);\r\n this.renderer.removeClass(document.body, 'modal-open');\r\n }\r\n\r\n showConfirm(model: DialogModel): void {\r\n this.renderer.addClass(document.body, 'modal-open');\r\n this.backdrop = this.renderer.createElement('div');\r\n this.backdrop.classList.add('modal-backdrop', 'fade', 'show');\r\n this.renderer.appendChild(document.body, this.backdrop);\r\n \r\n let componentRef = this.componentFactoryResolver.resolveComponentFactory(AdbConfirmModal).create(this.injector);\r\n model.header = model.header ?? 'NOT_SET';\r\n model.text = model.text ?? 'NOT_SET';\r\n model.confirm = model.confirm ?? 'OK';\r\n model.decline = model.decline ?? 'CANCEL';\r\n componentRef.instance.model = model;\r\n\r\n this.appRef.attachView(componentRef.hostView);\r\n this.domElem = (componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\r\n document.body.appendChild(this.domElem);\r\n\r\n }\r\n}","import { Component, Input } from '@angular/core';\r\nimport { AdbModalService } from './adb-modal.service';\r\n@Component({\r\n templateUrl: 'adb-confirm-modal.html'\r\n})\r\nexport class AdbConfirmModal {\r\n @Input() public model: DialogModel;\r\n constructor(public modalRef: AdbModalService) {\r\n }\r\n\r\n onClose(confirm: boolean): void {\r\n this.modalRef.hide(confirm);\r\n }\r\n}\r\n\r\nexport interface DialogModel {\r\n header: string;\r\n text: string;\r\n confirm?: string;\r\n decline?: string;\r\n value?: any;\r\n}\r\n","<div class=\"modal fade show\" *ngIf=\"model\">\r\n <div class=\"modal-dialog modal-dialog-centered\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\">\r\n <h1 class=\"h-subsection mb-0 modal-title\" translate>{{model.header}}</h1>\r\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\" (click)=\"onClose(false)\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{model.text|translate}}\r\n <div *ngIf=\"model.value\">\r\n <strong>{{model.value}}</strong>\r\n </div>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <div class=\"text-right\">\r\n <button type=\"button\" class=\"btn btn-primary me-2\"\r\n (click)=\"onClose(true)\">{{model.confirm|translate}}</button>\r\n <button type=\"button\" class=\"btn btn-secondary\"\r\n (click)=\"onClose(false)\">{{model.decline|translate}}</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { TranslateModule } from \"@ngx-translate/core\";\r\nimport { AdbDirectivesModule } from \"../../directives/directives.module\";\r\nimport { AdbConfirmModal } from \"./adb-confirm-modal\";\r\nimport { AdbModalService } from \"./adb-modal.service\";\r\n\r\n@NgModule({\r\n imports: [CommonModule, TranslateModule.forChild(), AdbDirectivesModule],\r\n declarations: [AdbConfirmModal],\r\n exports: [AdbConfirmModal],\r\n providers: [AdbModalService]\r\n})\r\nexport class AdbModalModule { }","/*\r\n * Public API Surface of artdata-shared\r\n */\r\n\r\n\r\nexport * from './lib/components/adb-header/adb-header.module';\r\nexport * from './lib/components/adb-header/adb-header.component';\r\n\r\nexport * from './lib/directives/directives.module';\r\nexport * from './lib/directives/click-outside.directive';\r\nexport * from './lib/directives/focus.directive';\r\nexport * from './lib/directives/file-upload.directive';\r\n\r\nexport * from './lib/components/pagers/pagers.module';\r\nexport * from './lib/components/pagers/infinite-scroll.component';\r\nexport * from './lib/components/pagers/pager';\r\n\r\nexport * from './lib/pipes/pipes.module';\r\nexport * from './lib/pipes/highlight.pipe';\r\nexport * from './lib/pipes/number-spacing.pipe';\r\nexport * from './lib/pipes/date.pipe';\r\n\r\nexport * from './lib/components/date-picker/adb-date-picker.module';\r\nexport * from './lib/components/date-picker/adb-date-picker.component';\r\nexport * from './lib/components/date-picker/adb-date-picker.directive';\r\n\r\nexport * from './lib/components/adb-dropdown/adb-dropdown.module';\r\nexport * from './lib/components/adb-dropdown/adb-dropdown.directive';\r\n\r\nexport * from './lib/components/adb-confirm-modal/adb-modal.module';\r\nexport * from './lib/components/adb-confirm-modal/adb-confirm-modal';\r\nexport * from './lib/components/adb-confirm-modal/adb-modal.service';\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.EnvironmentService","i3","i4","i1","i1.AdbDatePickerService","i2","i3.LocaleDatePipe","i1.AdbDropdownService","i1.AdbModalService"],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  import { PipeTransform } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class HighlightPipe implements PipeTransform {
4
- format: RegExp;
4
+ forbiddenSymbols: RegExp;
5
5
  transform(value: any, searchs: any): any;
6
+ private normalizeText;
6
7
  static ɵfac: i0.ɵɵFactoryDeclaration<HighlightPipe, never>;
7
8
  static ɵpipe: i0.ɵɵPipeDeclaration<HighlightPipe, "adbHighlight">;
8
9
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "adb-shared",
3
- "version": "2.0.24",
3
+ "version": "2.0.25",
4
4
  "author": "ADB",
5
5
  "license": "ISC",
6
6
  "peerDependencies": {