herum-shared 0.1.32 → 0.1.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/atoms/index.d.ts +3 -2
- package/directives/index.d.ts +8 -1
- package/fesm2022/herum-shared-atoms.mjs +15 -9
- package/fesm2022/herum-shared-atoms.mjs.map +1 -1
- package/fesm2022/herum-shared-directives.mjs +35 -2
- package/fesm2022/herum-shared-directives.mjs.map +1 -1
- package/fesm2022/herum-shared-molecules.mjs +11 -6
- package/fesm2022/herum-shared-molecules.mjs.map +1 -1
- package/fesm2022/herum-shared.mjs +270 -239
- package/fesm2022/herum-shared.mjs.map +1 -1
- package/index.d.ts +50 -43
- package/molecules/index.d.ts +4 -3
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { EventEmitter, ViewChild, Output, Input, Component, Pipe, HostListener, Inject, forwardRef, ViewChildren, Optional, Self, Injectable, Directive, ViewEncapsulation, HostBinding, NgModule } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/common';
|
|
4
4
|
import { formatDate, DOCUMENT, CommonModule, DatePipe } from '@angular/common';
|
|
5
5
|
import { Subject, BehaviorSubject, forkJoin, EMPTY } from 'rxjs';
|
|
@@ -18,18 +18,18 @@ import { MatInputModule } from '@angular/material/input';
|
|
|
18
18
|
import { MatSelectModule } from '@angular/material/select';
|
|
19
19
|
import * as i2$1 from '@angular/material/tooltip';
|
|
20
20
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
21
|
-
import * as i1$
|
|
21
|
+
import * as i1$3 from '@angular/forms';
|
|
22
22
|
import { NG_VALUE_ACCESSOR, FormControl, Validators, FormControlName, ControlContainer, ReactiveFormsModule, FormsModule } from '@angular/forms';
|
|
23
|
-
import { HERUM_SHARED_CONFIG_TOKEN } from 'herum-shared/environment';
|
|
24
|
-
import * as i1$3 from '@angular/common/http';
|
|
25
|
-
import { HttpHeaders } from '@angular/common/http';
|
|
26
23
|
import lottie from 'lottie-web';
|
|
27
|
-
import
|
|
24
|
+
import { HERUM_SHARED_CONFIG_TOKEN } from 'herum-shared/environment';
|
|
25
|
+
import * as i4 from 'herum-shared/directives';
|
|
26
|
+
import { DirectivesModule as DirectivesModule$1 } from 'herum-shared/directives';
|
|
27
|
+
import * as i1$4 from 'herum-shared/herum-types';
|
|
28
28
|
import { QuizHeaderState, microResourceAuthorizationType, ResourceState, TimeUnit, Gender, StepStatus, TableActions } from 'herum-shared/herum-types';
|
|
29
29
|
import { isTruncatedTitleElement, convertToDate, updateFullYear, getDropdownAnimationStates, toHash, buildPath, setHeaders, remainJustWantedValueInDictionary, getVersionPathParameter, getAssignmentStateDisplayName, replaceInterpolateKeysWithObjectProperties, convertHeightToPixels } from 'herum-shared/utils';
|
|
30
30
|
import * as i1$8 from '@angular/cdk/clipboard';
|
|
31
31
|
import { ClipboardModule } from '@angular/cdk/clipboard';
|
|
32
|
-
import * as i4 from 'herum-shared/pipes';
|
|
32
|
+
import * as i4$1 from 'herum-shared/pipes';
|
|
33
33
|
import { PipesModule as PipesModule$1 } from 'herum-shared/pipes';
|
|
34
34
|
import * as i2$2 from 'herum-shared/atoms';
|
|
35
35
|
import { AtomsModule as AtomsModule$1 } from 'herum-shared/atoms';
|
|
@@ -43,6 +43,8 @@ import * as i1$7 from '@angular/material/core';
|
|
|
43
43
|
import { MatNativeDateModule, MAT_DATE_LOCALE } from '@angular/material/core';
|
|
44
44
|
import { v4 } from 'uuid';
|
|
45
45
|
import { SYSTEM_AUDIO_VISUAL_CONFIGURATION, SYSTEM_TRACK_TEXT_CHANGES_SERVICE } from 'herum-shared/tokens';
|
|
46
|
+
import * as i1$5 from '@angular/common/http';
|
|
47
|
+
import { HttpHeaders } from '@angular/common/http';
|
|
46
48
|
import { StorageService } from 'herum-shared/static-services';
|
|
47
49
|
import { selfIsTeacherExample, closedListExample, permissionsTemplatesExample } from 'herum-shared/objectsExample';
|
|
48
50
|
import * as i2$4 from '@angular/router';
|
|
@@ -58,62 +60,6 @@ import { TableRowHeight } from 'herum-shared/decorators';
|
|
|
58
60
|
import { trigger, state, style, transition, animate } from '@angular/animations';
|
|
59
61
|
import { ErrorMessageDialogComponent as ErrorMessageDialogComponent$1 } from 'herum-shared/errors';
|
|
60
62
|
|
|
61
|
-
class HerumToolTipDirective {
|
|
62
|
-
el;
|
|
63
|
-
tooltipText = '';
|
|
64
|
-
tooltip;
|
|
65
|
-
constructor(el) {
|
|
66
|
-
this.el = el;
|
|
67
|
-
this.tooltip = document.createElement('div');
|
|
68
|
-
this.tooltip.className = 'tooltip';
|
|
69
|
-
}
|
|
70
|
-
onMouseEnter() {
|
|
71
|
-
this.showTooltip();
|
|
72
|
-
}
|
|
73
|
-
onMouseLeave() {
|
|
74
|
-
this.hideTooltip();
|
|
75
|
-
}
|
|
76
|
-
showTooltip() {
|
|
77
|
-
const hostPosition = this.el.nativeElement.getBoundingClientRect();
|
|
78
|
-
const tooltipPosition = {
|
|
79
|
-
top: window.scrollY + hostPosition.top - this.tooltip.offsetHeight - 30,
|
|
80
|
-
left: window.scrollX + hostPosition.left + hostPosition.width / 4 //+ this.tooltip.offsetWidth
|
|
81
|
-
};
|
|
82
|
-
const bodyRect = document.body.getBoundingClientRect();
|
|
83
|
-
const tooltipRect = this.tooltip.getBoundingClientRect();
|
|
84
|
-
if (tooltipPosition.left < bodyRect.left) {
|
|
85
|
-
tooltipPosition.left = bodyRect.left;
|
|
86
|
-
}
|
|
87
|
-
else if (tooltipPosition.left + tooltipRect.width > bodyRect.right) {
|
|
88
|
-
tooltipPosition.left = bodyRect.right - tooltipRect.width;
|
|
89
|
-
}
|
|
90
|
-
this.tooltip.style.top = `${tooltipPosition.top}px`;
|
|
91
|
-
this.tooltip.style.left = `${tooltipPosition.left}px`;
|
|
92
|
-
document.body.appendChild(this.tooltip);
|
|
93
|
-
this.tooltip.innerText = this.tooltipText;
|
|
94
|
-
}
|
|
95
|
-
hideTooltip() {
|
|
96
|
-
document.body.removeChild(this.tooltip);
|
|
97
|
-
}
|
|
98
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: HerumToolTipDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
99
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.17", type: HerumToolTipDirective, isStandalone: false, selector: "[appHerumToolTip]", inputs: { tooltipText: "tooltipText" }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()" } }, ngImport: i0 });
|
|
100
|
-
}
|
|
101
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: HerumToolTipDirective, decorators: [{
|
|
102
|
-
type: Directive,
|
|
103
|
-
args: [{
|
|
104
|
-
standalone: false,
|
|
105
|
-
selector: '[appHerumToolTip]'
|
|
106
|
-
}]
|
|
107
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { tooltipText: [{
|
|
108
|
-
type: Input
|
|
109
|
-
}], onMouseEnter: [{
|
|
110
|
-
type: HostListener,
|
|
111
|
-
args: ['mouseenter']
|
|
112
|
-
}], onMouseLeave: [{
|
|
113
|
-
type: HostListener,
|
|
114
|
-
args: ['mouseleave']
|
|
115
|
-
}] } });
|
|
116
|
-
|
|
117
63
|
const max = 3;
|
|
118
64
|
const min = 0.1;
|
|
119
65
|
const step = 0.1;
|
|
@@ -639,55 +585,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
|
|
|
639
585
|
type: Output
|
|
640
586
|
}] } });
|
|
641
587
|
|
|
642
|
-
const unwantedSelectors = ["div", null];
|
|
643
|
-
class UserActionDirective {
|
|
644
|
-
el;
|
|
645
|
-
http;
|
|
646
|
-
environmentConfig;
|
|
647
|
-
description;
|
|
648
|
-
constructor(el, http, environmentConfig) {
|
|
649
|
-
this.el = el;
|
|
650
|
-
this.http = http;
|
|
651
|
-
this.environmentConfig = environmentConfig;
|
|
652
|
-
}
|
|
653
|
-
onClick(event) {
|
|
654
|
-
var obj = {
|
|
655
|
-
system: this.environmentConfig?.environment?.envName,
|
|
656
|
-
currentUrl: this.el.nativeElement?.formAction,
|
|
657
|
-
innerText: this.el.nativeElement?.innerText,
|
|
658
|
-
attributes: Array.from(Object.values(this.el.nativeElement?.attributes)).map((attribute) => ({
|
|
659
|
-
attribute: attribute.name,
|
|
660
|
-
value: attribute.value
|
|
661
|
-
})),
|
|
662
|
-
selector: this.el.nativeElement?.tagName,
|
|
663
|
-
viewPath: event.path?.map(viewElement => viewElement.localName).filter(selector => !unwantedSelectors.includes(selector) && selector),
|
|
664
|
-
timeStamp: event.timeStamp,
|
|
665
|
-
screenX: event.screenX,
|
|
666
|
-
screenY: event.screenY,
|
|
667
|
-
description: this.description
|
|
668
|
-
};
|
|
669
|
-
this.http.post(this.environmentConfig?.environment?.userAction, obj).subscribe(res => { });
|
|
670
|
-
}
|
|
671
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: UserActionDirective, deps: [{ token: i0.ElementRef }, { token: i1$3.HttpClient }, { token: HERUM_SHARED_CONFIG_TOKEN }], target: i0.ɵɵFactoryTarget.Directive });
|
|
672
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.17", type: UserActionDirective, isStandalone: false, selector: "[userAction]", inputs: { description: ["userAction", "description"] }, host: { listeners: { "click": "onClick($event)" } }, ngImport: i0 });
|
|
673
|
-
}
|
|
674
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: UserActionDirective, decorators: [{
|
|
675
|
-
type: Directive,
|
|
676
|
-
args: [{
|
|
677
|
-
standalone: false,
|
|
678
|
-
selector: '[userAction]'
|
|
679
|
-
}]
|
|
680
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1$3.HttpClient }, { type: undefined, decorators: [{
|
|
681
|
-
type: Inject,
|
|
682
|
-
args: [HERUM_SHARED_CONFIG_TOKEN]
|
|
683
|
-
}] }], propDecorators: { description: [{
|
|
684
|
-
type: Input,
|
|
685
|
-
args: ['userAction']
|
|
686
|
-
}], onClick: [{
|
|
687
|
-
type: HostListener,
|
|
688
|
-
args: ['click', ['$event']]
|
|
689
|
-
}] } });
|
|
690
|
-
|
|
691
588
|
class HerumPresentationViewerComponent {
|
|
692
589
|
srcPath;
|
|
693
590
|
resourceId;
|
|
@@ -763,62 +660,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
|
|
|
763
660
|
args: ['lottieRef', { static: true }]
|
|
764
661
|
}] } });
|
|
765
662
|
|
|
766
|
-
const iconDefaultColor = '#7897a8';
|
|
767
|
-
const attribute = 'stroke';
|
|
768
|
-
const pathSelector = 'path';
|
|
769
|
-
const svgSelector = 'svg';
|
|
770
|
-
class SvgOnHoverDirective {
|
|
771
|
-
element;
|
|
772
|
-
iconHoverColor;
|
|
773
|
-
onMouseEnter() {
|
|
774
|
-
if (!this.iconHoverColor)
|
|
775
|
-
this.iconHoverColor = window.getComputedStyle(document.body).getPropertyValue('--icons-color');
|
|
776
|
-
if (this.element.nativeElement.querySelector(svgSelector)?.querySelectorAll(pathSelector).length === 1)
|
|
777
|
-
this.setElementAttribute(this.iconHoverColor);
|
|
778
|
-
else
|
|
779
|
-
;
|
|
780
|
-
this.setElementsAttribute(this.iconHoverColor);
|
|
781
|
-
}
|
|
782
|
-
onMouseLeave() {
|
|
783
|
-
if (this.element.nativeElement.querySelector(svgSelector)?.querySelectorAll(pathSelector).length === 1)
|
|
784
|
-
this.setElementAttribute(iconDefaultColor);
|
|
785
|
-
else
|
|
786
|
-
this.setElementsAttribute(iconDefaultColor);
|
|
787
|
-
}
|
|
788
|
-
stroke;
|
|
789
|
-
constructor(element) {
|
|
790
|
-
this.element = element;
|
|
791
|
-
}
|
|
792
|
-
setElementAttribute(color) {
|
|
793
|
-
const element = this.element.nativeElement.querySelector(svgSelector)?.querySelector(pathSelector);
|
|
794
|
-
element?.setAttribute(attribute, color);
|
|
795
|
-
}
|
|
796
|
-
setElementsAttribute(color) {
|
|
797
|
-
const elements = this.element.nativeElement.querySelector(svgSelector)?.querySelectorAll(pathSelector);
|
|
798
|
-
elements?.forEach(element => element.setAttribute(attribute, color));
|
|
799
|
-
}
|
|
800
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: SvgOnHoverDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
801
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.17", type: SvgOnHoverDirective, isStandalone: false, selector: "[svgOnHover]", inputs: { iconHoverColor: ["svgOnHover", "iconHoverColor"] }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()" }, properties: { "stroke": "this.stroke" } }, ngImport: i0 });
|
|
802
|
-
}
|
|
803
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: SvgOnHoverDirective, decorators: [{
|
|
804
|
-
type: Directive,
|
|
805
|
-
args: [{
|
|
806
|
-
standalone: false,
|
|
807
|
-
selector: '[svgOnHover]'
|
|
808
|
-
}]
|
|
809
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { iconHoverColor: [{
|
|
810
|
-
type: Input,
|
|
811
|
-
args: ['svgOnHover']
|
|
812
|
-
}], onMouseEnter: [{
|
|
813
|
-
type: HostListener,
|
|
814
|
-
args: ['mouseenter']
|
|
815
|
-
}], onMouseLeave: [{
|
|
816
|
-
type: HostListener,
|
|
817
|
-
args: ['mouseleave']
|
|
818
|
-
}], stroke: [{
|
|
819
|
-
type: HostBinding
|
|
820
|
-
}] } });
|
|
821
|
-
|
|
822
663
|
class HerumButtonComponent {
|
|
823
664
|
type = 'primary';
|
|
824
665
|
color = 'regular';
|
|
@@ -828,7 +669,7 @@ class HerumButtonComponent {
|
|
|
828
669
|
isLoading = false;
|
|
829
670
|
name;
|
|
830
671
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: HerumButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
831
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: HerumButtonComponent, isStandalone: false, selector: "herum-button", inputs: { type: "type", color: "color", size: "size", roundedCorners: "roundedCorners", disabled: "disabled", isLoading: "isLoading", name: "name" }, ngImport: i0, template: "<button userAction class=\"herum-button shadow\" [name]=\"name\"\r\n [ngClass]=\"[type, color ?? '', size, roundedCorners + '-rounded-corners', isLoading ? 'skeleton' : '']\"\r\n [disabled]=\"disabled\">\r\n <ng-content></ng-content>\r\n</button>", styles: ["button{padding:var(--button-padding-size);width:100%;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;font-weight:500;font-size:var(--standard-font-size);box-shadow:0 0 var(--box-shadow-blur) #00000029!important}button:active{transform:scale(.96)}button:focus-visible{outline:none;transform:scale(.96)}.default-rounded-corners{border-radius:var(--border-radius)}.up-rounded-corners{border-radius:8px 8px 0 0}.down-rounded-corners{border-radius:0 0 8px 8px}shadow{box-shadow:0 0 var(--box-shadow-blur) #00000029!important}.fit{width:fit-content;height:fit-content;padding:4px 8px}.small{min-width:var(--minimum-small-button-width-size);height:var(--small-button-height-size)}.medium{min-width:var(--minimum-medium-button-width-size);height:var(--medium-button-height-size)}.big{min-width:var(--minimum-medium-button-width-size);height:var(--big-button-height-size)}.medium-square{min-width:var(--minimum-medium-quare-button-width-size);height:var(--medium-button-height-size)}.primary{background:var(--primary-color);color:var(--light-text-color)}.primary:hover{background:var(--lighter-primary-color)}.primary:active{background:var(--darker-primary-color)}.white{background:#fff;color:var(--icons-color)}.primary[disabled]{background:var(--disabled-background-color);color:var(--disabled-text-color)}.secondary{background:var(--light-background-color);border:var(--secondary-color) 2px solid;color:var(--secondary-color)}.secondary:hover{background:var(--light-background-color);border:var(--lighter-secondary-color) 2px solid;color:var(--lighter-secondary-color)}.secondary:active{border:var(--darker-secondary-color) 2px solid;color:var(--darker-secondary-color)}.secondary[disabled]{background:var(--disabled-background-color);border:var(--disabled-background-color);color:var(--disabled-text-color)}.ghost{background:transparent;outline:transparent;color:var(--secondary-color);box-shadow:none!important}.ghost:hover{color:var(--lighter-secondary-color)}.ghost:active{background:var(--darker-light-background-color);outline:transparent;color:var(--secondary-color);box-shadow:0 0 var(--box-shadow-blur) #00000029!important}.ghost[disabled]{color:var(--disabled-text-color);background-color:transparent}[disabled]{cursor:not-allowed;color:var(--disabled-text-color)}.error{background:var(--error-color)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
672
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: HerumButtonComponent, isStandalone: false, selector: "herum-button", inputs: { type: "type", color: "color", size: "size", roundedCorners: "roundedCorners", disabled: "disabled", isLoading: "isLoading", name: "name" }, ngImport: i0, template: "<button userAction class=\"herum-button shadow\" [name]=\"name\"\r\n [ngClass]=\"[type, color ?? '', size, roundedCorners + '-rounded-corners', isLoading ? 'skeleton' : '']\"\r\n [disabled]=\"disabled\">\r\n <ng-content></ng-content>\r\n</button>", styles: ["button{padding:var(--button-padding-size);width:100%;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;font-weight:500;font-size:var(--standard-font-size);box-shadow:0 0 var(--box-shadow-blur) #00000029!important}button:active{transform:scale(.96)}button:focus-visible{outline:none;transform:scale(.96)}.default-rounded-corners{border-radius:var(--border-radius)}.up-rounded-corners{border-radius:8px 8px 0 0}.down-rounded-corners{border-radius:0 0 8px 8px}shadow{box-shadow:0 0 var(--box-shadow-blur) #00000029!important}.fit{width:fit-content;height:fit-content;padding:4px 8px}.small{min-width:var(--minimum-small-button-width-size);height:var(--small-button-height-size)}.medium{min-width:var(--minimum-medium-button-width-size);height:var(--medium-button-height-size)}.big{min-width:var(--minimum-medium-button-width-size);height:var(--big-button-height-size)}.medium-square{min-width:var(--minimum-medium-quare-button-width-size);height:var(--medium-button-height-size)}.primary{background:var(--primary-color);color:var(--light-text-color)}.primary:hover{background:var(--lighter-primary-color)}.primary:active{background:var(--darker-primary-color)}.white{background:#fff;color:var(--icons-color)}.primary[disabled]{background:var(--disabled-background-color);color:var(--disabled-text-color)}.secondary{background:var(--light-background-color);border:var(--secondary-color) 2px solid;color:var(--secondary-color)}.secondary:hover{background:var(--light-background-color);border:var(--lighter-secondary-color) 2px solid;color:var(--lighter-secondary-color)}.secondary:active{border:var(--darker-secondary-color) 2px solid;color:var(--darker-secondary-color)}.secondary[disabled]{background:var(--disabled-background-color);border:var(--disabled-background-color);color:var(--disabled-text-color)}.ghost{background:transparent;outline:transparent;color:var(--secondary-color);box-shadow:none!important}.ghost:hover{color:var(--lighter-secondary-color)}.ghost:active{background:var(--darker-light-background-color);outline:transparent;color:var(--secondary-color);box-shadow:0 0 var(--box-shadow-blur) #00000029!important}.ghost[disabled]{color:var(--disabled-text-color);background-color:transparent}[disabled]{cursor:not-allowed;color:var(--disabled-text-color)}.error{background:var(--error-color)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.UserActionDirective, selector: "[userAction]", inputs: ["userAction"] }] });
|
|
832
673
|
}
|
|
833
674
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: HerumButtonComponent, decorators: [{
|
|
834
675
|
type: Component,
|
|
@@ -1341,7 +1182,7 @@ class QuizOneAnswerQuestionComponent {
|
|
|
1341
1182
|
this.destroySubject$.complete();
|
|
1342
1183
|
}
|
|
1343
1184
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: QuizOneAnswerQuestionComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: HERUM_SHARED_CONFIG_TOKEN }], target: i0.ɵɵFactoryTarget.Component });
|
|
1344
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: QuizOneAnswerQuestionComponent, isStandalone: false, selector: "quiz-one-answer-question", inputs: { instructionTitle: "instructionTitle", question: "question", userAnswers: "userAnswers", quizData: "quizData", areAnswersRevealed: "areAnswersRevealed", areAnswersBlocked: "areAnswersBlocked", isCheckingMode: "isCheckingMode" }, outputs: { onAnswersChange: "onAnswersChange" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"instructionTitle\" class=\"instruction-title\">{{ instructionTitle }}</div>\r\n\r\n<herum-radio-button [options]=\"convertedOptions\" [secondarySelectedOption]=\"correctAnswer\"\r\n [showAdditionalOptionsText]=\"areAnswersRevealed || isCheckingMode\" [isBlocked]=\"areAnswersBlocked\"\r\n [isVertical]=\"true\" [formControl]=\"selectedAnswer\"\r\n [ngClass]=\"{'revealed-answers':areAnswersRevealed || isCheckingMode}\" [additionalOptionsText]=\"answerNotes\">\r\n</herum-radio-button>", styles: ["", ".quiz-container{display:flex;flex-direction:column;gap:16px}.quiz-container p,.quiz-container b{font-size:16px;margin-bottom:.25rem}.quiz-container .quiz-title{font-weight:700}.quiz-container .error-message{color:var(--error-color);font-weight:700}.quiz-container .answer-item{display:flex;flex-direction:row;gap:8px}.answers-container{display:flex;flex-direction:column;gap:16px}.answers-container .answer-item{display:flex;flex-direction:row;gap:8px}.answers-container .answer-note{background-color:var(--light-text-color);border-radius:var(border-radius);font-size:14px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$
|
|
1185
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: QuizOneAnswerQuestionComponent, isStandalone: false, selector: "quiz-one-answer-question", inputs: { instructionTitle: "instructionTitle", question: "question", userAnswers: "userAnswers", quizData: "quizData", areAnswersRevealed: "areAnswersRevealed", areAnswersBlocked: "areAnswersBlocked", isCheckingMode: "isCheckingMode" }, outputs: { onAnswersChange: "onAnswersChange" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"instructionTitle\" class=\"instruction-title\">{{ instructionTitle }}</div>\r\n\r\n<herum-radio-button [options]=\"convertedOptions\" [secondarySelectedOption]=\"correctAnswer\"\r\n [showAdditionalOptionsText]=\"areAnswersRevealed || isCheckingMode\" [isBlocked]=\"areAnswersBlocked\"\r\n [isVertical]=\"true\" [formControl]=\"selectedAnswer\"\r\n [ngClass]=\"{'revealed-answers':areAnswersRevealed || isCheckingMode}\" [additionalOptionsText]=\"answerNotes\">\r\n</herum-radio-button>", styles: ["", ".quiz-container{display:flex;flex-direction:column;gap:16px}.quiz-container p,.quiz-container b{font-size:16px;margin-bottom:.25rem}.quiz-container .quiz-title{font-weight:700}.quiz-container .error-message{color:var(--error-color);font-weight:700}.quiz-container .answer-item{display:flex;flex-direction:row;gap:8px}.answers-container{display:flex;flex-direction:column;gap:16px}.answers-container .answer-item{display:flex;flex-direction:row;gap:8px}.answers-container .answer-note{background-color:var(--light-text-color);border-radius:var(border-radius);font-size:14px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: HerumRadioButtonComponent, selector: "herum-radio-button", inputs: ["options", "isValid", "errorMsg", "isVertical", "isBlocked", "type", "selectedOption", "additionalOptionsText", "showAdditionalOptionsText", "secondarySelectedOption"], outputs: ["selectOptionEmitter"] }] });
|
|
1345
1186
|
}
|
|
1346
1187
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: QuizOneAnswerQuestionComponent, decorators: [{
|
|
1347
1188
|
type: Component,
|
|
@@ -1652,13 +1493,13 @@ class QuizMultiAnswerQuestionComponent {
|
|
|
1652
1493
|
this.destroySubject$.next(null);
|
|
1653
1494
|
this.destroySubject$.complete();
|
|
1654
1495
|
}
|
|
1655
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: QuizMultiAnswerQuestionComponent, deps: [{ token: i1$
|
|
1656
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: QuizMultiAnswerQuestionComponent, isStandalone: false, selector: "quiz-multi-answer-question", inputs: { question: "question", quizData: "quizData", userAnswers: "userAnswers", isCheckingMode: "isCheckingMode", areAnswersRevealed: "areAnswersRevealed", areAnswersBlocked: "areAnswersBlocked", correctAnswerCount: "correctAnswerCount" }, outputs: { onAnswersChange: "onAnswersChange", onValidationChange: "onValidationChange" }, viewQueries: [{ propertyName: "checkboxes", predicate: HerumCheckboxComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"main-container\">\r\n <p class=\"correct-answer-count\">\u05D9\u05E9 \u05DC\u05E1\u05DE\u05DF {{ correctAnswerCount }} \u05EA\u05E9\u05D5\u05D1\u05D5\u05EA</p>\r\n\r\n <form *ngIf=\"question.answers\" [formGroup]=\"answersForm\" class=\"answers-container\">\r\n <div class=\"answer-item\" *ngFor=\"let answer of question.answers;let i=index\">\r\n <div class=\"answer-container\" [ngClass]=\"{'revealed-answers':(areAnswersRevealed || isCheckingMode)}\"\r\n [attr.type]=\"(areAnswersRevealed || isCheckingMode) ? answerTypeAttributes[i] : ''\"\r\n [attr.includes-additional-option-text]=\"(additionalOptionsText && additionalOptionsText[i]) ? 'true' : 'false'\">\r\n <herum-checkbox [isBlocked]=\"isBlocked\" [formControlName]=\"controlNamePrefix + i\"\r\n [id]=\"controlNamePrefix + i\">\r\n </herum-checkbox>\r\n\r\n <p class=\"answer-text cursor-pointer\" [ngClass]=\"{'cursor-pointer':!isBlocked}\"\r\n (click)=\"_onAnswerClicked(i)\">{{ answer.content }}</p>\r\n </div>\r\n\r\n <span *ngIf=\"answer.note && (areAnswersRevealed || isCheckingMode)\" class=\"answer-note\">\r\n {{ answer.note }}\r\n </span>\r\n </div>\r\n </form>\r\n</div>", styles: [".answer-text{line-height:1;font-size:14px;font-weight:700}.correct-answer-count{margin-block-end:0;font-size:14px}.answers-container,.main-container{display:flex;flex-direction:column;gap:8px;width:100%}.answer-container{display:flex;align-items:center;gap:8px}.answer-container,.answer-note{flex:1}\n", ".quiz-container{display:flex;flex-direction:column;gap:16px}.quiz-container p,.quiz-container b{font-size:16px;margin-bottom:.25rem}.quiz-container .quiz-title{font-weight:700}.quiz-container .error-message{color:var(--error-color);font-weight:700}.quiz-container .answer-item{display:flex;flex-direction:row;gap:8px}.answers-container{display:flex;flex-direction:column;gap:16px}.answers-container .answer-item{display:flex;flex-direction:row;gap:8px}.answers-container .answer-note{background-color:var(--light-text-color);border-radius:var(border-radius);font-size:14px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$
|
|
1496
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: QuizMultiAnswerQuestionComponent, deps: [{ token: i1$3.FormBuilder }, { token: HERUM_SHARED_CONFIG_TOKEN }], target: i0.ɵɵFactoryTarget.Component });
|
|
1497
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: QuizMultiAnswerQuestionComponent, isStandalone: false, selector: "quiz-multi-answer-question", inputs: { question: "question", quizData: "quizData", userAnswers: "userAnswers", isCheckingMode: "isCheckingMode", areAnswersRevealed: "areAnswersRevealed", areAnswersBlocked: "areAnswersBlocked", correctAnswerCount: "correctAnswerCount" }, outputs: { onAnswersChange: "onAnswersChange", onValidationChange: "onValidationChange" }, viewQueries: [{ propertyName: "checkboxes", predicate: HerumCheckboxComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"main-container\">\r\n <p class=\"correct-answer-count\">\u05D9\u05E9 \u05DC\u05E1\u05DE\u05DF {{ correctAnswerCount }} \u05EA\u05E9\u05D5\u05D1\u05D5\u05EA</p>\r\n\r\n <form *ngIf=\"question.answers\" [formGroup]=\"answersForm\" class=\"answers-container\">\r\n <div class=\"answer-item\" *ngFor=\"let answer of question.answers;let i=index\">\r\n <div class=\"answer-container\" [ngClass]=\"{'revealed-answers':(areAnswersRevealed || isCheckingMode)}\"\r\n [attr.type]=\"(areAnswersRevealed || isCheckingMode) ? answerTypeAttributes[i] : ''\"\r\n [attr.includes-additional-option-text]=\"(additionalOptionsText && additionalOptionsText[i]) ? 'true' : 'false'\">\r\n <herum-checkbox [isBlocked]=\"isBlocked\" [formControlName]=\"controlNamePrefix + i\"\r\n [id]=\"controlNamePrefix + i\">\r\n </herum-checkbox>\r\n\r\n <p class=\"answer-text cursor-pointer\" [ngClass]=\"{'cursor-pointer':!isBlocked}\"\r\n (click)=\"_onAnswerClicked(i)\">{{ answer.content }}</p>\r\n </div>\r\n\r\n <span *ngIf=\"answer.note && (areAnswersRevealed || isCheckingMode)\" class=\"answer-note\">\r\n {{ answer.note }}\r\n </span>\r\n </div>\r\n </form>\r\n</div>", styles: [".answer-text{line-height:1;font-size:14px;font-weight:700}.correct-answer-count{margin-block-end:0;font-size:14px}.answers-container,.main-container{display:flex;flex-direction:column;gap:8px;width:100%}.answer-container{display:flex;align-items:center;gap:8px}.answer-container,.answer-note{flex:1}\n", ".quiz-container{display:flex;flex-direction:column;gap:16px}.quiz-container p,.quiz-container b{font-size:16px;margin-bottom:.25rem}.quiz-container .quiz-title{font-weight:700}.quiz-container .error-message{color:var(--error-color);font-weight:700}.quiz-container .answer-item{display:flex;flex-direction:row;gap:8px}.answers-container{display:flex;flex-direction:column;gap:16px}.answers-container .answer-item{display:flex;flex-direction:row;gap:8px}.answers-container .answer-note{background-color:var(--light-text-color);border-radius:var(border-radius);font-size:14px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: HerumCheckboxComponent, selector: "herum-checkbox", inputs: ["type", "isChecked", "isBlocked"], outputs: ["checkedEmitter"] }] });
|
|
1657
1498
|
}
|
|
1658
1499
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: QuizMultiAnswerQuestionComponent, decorators: [{
|
|
1659
1500
|
type: Component,
|
|
1660
1501
|
args: [{ standalone: false, selector: 'quiz-multi-answer-question', template: "<div class=\"main-container\">\r\n <p class=\"correct-answer-count\">\u05D9\u05E9 \u05DC\u05E1\u05DE\u05DF {{ correctAnswerCount }} \u05EA\u05E9\u05D5\u05D1\u05D5\u05EA</p>\r\n\r\n <form *ngIf=\"question.answers\" [formGroup]=\"answersForm\" class=\"answers-container\">\r\n <div class=\"answer-item\" *ngFor=\"let answer of question.answers;let i=index\">\r\n <div class=\"answer-container\" [ngClass]=\"{'revealed-answers':(areAnswersRevealed || isCheckingMode)}\"\r\n [attr.type]=\"(areAnswersRevealed || isCheckingMode) ? answerTypeAttributes[i] : ''\"\r\n [attr.includes-additional-option-text]=\"(additionalOptionsText && additionalOptionsText[i]) ? 'true' : 'false'\">\r\n <herum-checkbox [isBlocked]=\"isBlocked\" [formControlName]=\"controlNamePrefix + i\"\r\n [id]=\"controlNamePrefix + i\">\r\n </herum-checkbox>\r\n\r\n <p class=\"answer-text cursor-pointer\" [ngClass]=\"{'cursor-pointer':!isBlocked}\"\r\n (click)=\"_onAnswerClicked(i)\">{{ answer.content }}</p>\r\n </div>\r\n\r\n <span *ngIf=\"answer.note && (areAnswersRevealed || isCheckingMode)\" class=\"answer-note\">\r\n {{ answer.note }}\r\n </span>\r\n </div>\r\n </form>\r\n</div>", styles: [".answer-text{line-height:1;font-size:14px;font-weight:700}.correct-answer-count{margin-block-end:0;font-size:14px}.answers-container,.main-container{display:flex;flex-direction:column;gap:8px;width:100%}.answer-container{display:flex;align-items:center;gap:8px}.answer-container,.answer-note{flex:1}\n", ".quiz-container{display:flex;flex-direction:column;gap:16px}.quiz-container p,.quiz-container b{font-size:16px;margin-bottom:.25rem}.quiz-container .quiz-title{font-weight:700}.quiz-container .error-message{color:var(--error-color);font-weight:700}.quiz-container .answer-item{display:flex;flex-direction:row;gap:8px}.answers-container{display:flex;flex-direction:column;gap:16px}.answers-container .answer-item{display:flex;flex-direction:row;gap:8px}.answers-container .answer-note{background-color:var(--light-text-color);border-radius:var(border-radius);font-size:14px}\n"] }]
|
|
1661
|
-
}], ctorParameters: () => [{ type: i1$
|
|
1502
|
+
}], ctorParameters: () => [{ type: i1$3.FormBuilder }, { type: undefined, decorators: [{
|
|
1662
1503
|
type: Inject,
|
|
1663
1504
|
args: [HERUM_SHARED_CONFIG_TOKEN]
|
|
1664
1505
|
}] }], propDecorators: { question: [{
|
|
@@ -1981,6 +1822,7 @@ class HerumInputFieldComponent {
|
|
|
1981
1822
|
})).subscribe();
|
|
1982
1823
|
}
|
|
1983
1824
|
setInputsByFormControl() {
|
|
1825
|
+
console.log(this.ngControl);
|
|
1984
1826
|
if (!this.ngControl)
|
|
1985
1827
|
return;
|
|
1986
1828
|
if (this.ngControl instanceof FormControlName)
|
|
@@ -2109,13 +1951,13 @@ class HerumInputFieldComponent {
|
|
|
2109
1951
|
this.destroySubject$.complete();
|
|
2110
1952
|
}
|
|
2111
1953
|
}
|
|
2112
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: HerumInputFieldComponent, deps: [{ token: i1$
|
|
2113
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: HerumInputFieldComponent, isStandalone: false, selector: "herum-input-field", inputs: { type: "type", placeholder: "placeholder", disabled: "disabled", isBlocked: "isBlocked", isValid: "isValid", errorMsg: "errorMsg", showErrorMsgGap: "showErrorMsgGap", inputValue: "inputValue", isLoading: "isLoading", id: "id", debounceTime: "debounceTime", minValue: "minValue", maxValue: "maxValue", isBlurred: "isBlurred", touched: "touched", ltrMode: "ltrMode", preventMacroKeysPressEvent: "preventMacroKeysPressEvent" }, outputs: { inputValueEmitter: "inputValueEmitter" }, host: { listeners: { "keypress": "onKeyPress($event)", "paste": "onPaste($event)" }, properties: { "class.required-control": "isRequired" } }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true }], ngImport: i0, template: "<div class=\"input-container\" [class]=\"type\">\r\n <input [type]=\"inputHtmlType\" dir=\"rtl\" class=\"w-100 input-field\"\r\n [ngClass]=\"{'error-input':!isValid && !isLoading && touched && isBlurred , 'transparent-text': isLoading, 'ltr':ltrMode}\"\r\n [ngStyle]=\"{'resize': type == 'textBox' ? 'vertical' : 'none'}\" [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled || isBlocked || isLoading\" [(ngModel)]=\"inputValue\" [alt]=\"type\"\r\n [id]=\"id ? id :formControlName\" [attr.prevent-macro-keys-press-event]=\"preventMacroKeysPressEvent\"\r\n (ngModelChange)=\"_onInput($event)\" (blur)=\"_setBlurred()\" />\r\n\r\n <ng-container *ngIf=\"!isLoading\">\r\n <ng-container *ngIf=\"type=='search' || type=='search-blur'\">\r\n <span class=\"icon\" [innerHTML]=\"searchImageSvg | safeHtml\" *ngIf=\"!inputValue && !disabled\">\r\n </span>\r\n\r\n <span class=\"icon\" *ngIf=\"disabled\">\r\n <img src=\"assets/shared/icons/input/grey-search.png\" />\r\n </span>\r\n </ng-container>\r\n\r\n <span class=\"icon clickable small-icon\" *ngIf=\"shouldShowClearIcon\" (click)=\"clearInput()\">\r\n <span class=\"small-icon\" [innerHTML]=\"xImageSvg | safeHtml\"></span>\r\n </span>\r\n\r\n <span class=\"icon clickable eye-icon\" *ngIf=\"shouldShowPasswordToggle\"\r\n (mousedown)=\"$event.preventDefault()\" (click)=\"_onTogglePasswordVisibility($event)\">\r\n <img [src]=\"passwordEyeSource\">\r\n </span>\r\n </ng-container>\r\n\r\n <div *ngIf=\"isLoading\" class=\"skeleton skeleton-text input-skeleton\"></div>\r\n</div>\r\n\r\n<label class=\"error-msg right\" *ngIf=\"shouldShowErrorMsg\">\r\n {{errorMsg}}\r\n</label>", styles: [":host{--icon-size: 16px}.input-container .icon{position:absolute;left:12px;cursor:pointer}.icon{stroke:var(--icons-color);height:var(--icon-size);width:var(--icon-size)}.small-icon{fill:var(--icons-color);height:9px}.icon img{width:var(--icon-size);height:var(--icon-size);display:block}.eye-icon{display:inline-flex;align-items:center;justify-content:center}.input-field:disabled{opacity:.6;cursor:not-allowed}.input-skeleton{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:90%}.search-blur input{border:1px solid rgba(255,255,255,.6)!important;background-color:#ffffff39!important;color:#fff!important}.search-blur input::placeholder{color:#fff!important}.search-blur .icon,.search-blur .small-icon{stroke:#fff!important}\n", ".input-container{position:relative;display:flex;align-items:center}.input-container .input-field{padding:8px 12px 8px 30px;color:#000;height:var(--atom-input-height)}.input-field{border:1px solid var(--inactive-border-color);padding:var(--button-padding-size);border-radius:var(--border-radius);font-size:var(--standard-font-size);box-shadow:0 0 var(--box-shadow-blur) #00000029!important}.input-field:hover{border-color:var(--icons-color-light-2)}.input-field:focus{outline:none;border-color:var(--icons-color-light-1);box-shadow:0 0 5px var(--icons-color-light-1)}.input-field::placeholder{color:var(--disabled-text-color)}span{justify-content:center;display:flex}img{height:16px}.right{justify-content:right}.error-input,.error-input:focus{border-color:var(--error-color)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1$
|
|
1954
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: HerumInputFieldComponent, deps: [{ token: i1$3.NgControl, optional: true, self: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
1955
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: HerumInputFieldComponent, isStandalone: false, selector: "herum-input-field", inputs: { type: "type", placeholder: "placeholder", disabled: "disabled", isBlocked: "isBlocked", isValid: "isValid", errorMsg: "errorMsg", showErrorMsgGap: "showErrorMsgGap", inputValue: "inputValue", isLoading: "isLoading", id: "id", debounceTime: "debounceTime", minValue: "minValue", maxValue: "maxValue", isBlurred: "isBlurred", touched: "touched", ltrMode: "ltrMode", preventMacroKeysPressEvent: "preventMacroKeysPressEvent" }, outputs: { inputValueEmitter: "inputValueEmitter" }, host: { listeners: { "keypress": "onKeyPress($event)", "paste": "onPaste($event)" }, properties: { "class.required-control": "isRequired" } }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true }], ngImport: i0, template: "<div class=\"input-container\" [class]=\"type\">\r\n <input [type]=\"inputHtmlType\" dir=\"rtl\" class=\"w-100 input-field\"\r\n [ngClass]=\"{'error-input':!isValid && !isLoading && touched && isBlurred , 'transparent-text': isLoading, 'ltr':ltrMode}\"\r\n [ngStyle]=\"{'resize': type == 'textBox' ? 'vertical' : 'none'}\" [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled || isBlocked || isLoading\" [(ngModel)]=\"inputValue\" [alt]=\"type\"\r\n [id]=\"id ? id :formControlName\" [attr.prevent-macro-keys-press-event]=\"preventMacroKeysPressEvent\"\r\n (ngModelChange)=\"_onInput($event)\" (blur)=\"_setBlurred()\" />\r\n\r\n <ng-container *ngIf=\"!isLoading\">\r\n <ng-container *ngIf=\"type=='search' || type=='search-blur'\">\r\n <span class=\"icon\" [innerHTML]=\"searchImageSvg | safeHtml\" *ngIf=\"!inputValue && !disabled\">\r\n </span>\r\n\r\n <span class=\"icon\" *ngIf=\"disabled\">\r\n <img src=\"assets/shared/icons/input/grey-search.png\" />\r\n </span>\r\n </ng-container>\r\n\r\n <span class=\"icon clickable small-icon\" *ngIf=\"shouldShowClearIcon\" (click)=\"clearInput()\">\r\n <span class=\"small-icon\" [innerHTML]=\"xImageSvg | safeHtml\"></span>\r\n </span>\r\n\r\n <span class=\"icon clickable eye-icon\" *ngIf=\"shouldShowPasswordToggle\"\r\n (mousedown)=\"$event.preventDefault()\" (click)=\"_onTogglePasswordVisibility($event)\">\r\n <img [src]=\"passwordEyeSource\">\r\n </span>\r\n </ng-container>\r\n\r\n <div *ngIf=\"isLoading\" class=\"skeleton skeleton-text input-skeleton\"></div>\r\n</div>\r\n\r\n<label class=\"error-msg right\" *ngIf=\"shouldShowErrorMsg\">\r\n {{errorMsg}}\r\n</label>", styles: [":host{--icon-size: 16px}.input-container .icon{position:absolute;left:12px;cursor:pointer}.icon{stroke:var(--icons-color);height:var(--icon-size);width:var(--icon-size)}.small-icon{fill:var(--icons-color);height:9px}.icon img{width:var(--icon-size);height:var(--icon-size);display:block}.eye-icon{display:inline-flex;align-items:center;justify-content:center}.input-field:disabled{opacity:.6;cursor:not-allowed}.input-skeleton{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:90%}.search-blur input{border:1px solid rgba(255,255,255,.6)!important;background-color:#ffffff39!important;color:#fff!important}.search-blur input::placeholder{color:#fff!important}.search-blur .icon,.search-blur .small-icon{stroke:#fff!important}\n", ".input-container{position:relative;display:flex;align-items:center}.input-container .input-field{padding:8px 12px 8px 30px;color:#000;height:var(--atom-input-height)}.input-field{border:1px solid var(--inactive-border-color);padding:var(--button-padding-size);border-radius:var(--border-radius);font-size:var(--standard-font-size);box-shadow:0 0 var(--box-shadow-blur) #00000029!important}.input-field:hover{border-color:var(--icons-color-light-2)}.input-field:focus{outline:none;border-color:var(--icons-color-light-1);box-shadow:0 0 5px var(--icons-color-light-1)}.input-field::placeholder{color:var(--disabled-text-color)}span{justify-content:center;display:flex}img{height:16px}.right{justify-content:right}.error-input,.error-input:focus{border-color:var(--error-color)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "pipe", type: i4$1.SafeHtmlPipe, name: "safeHtml" }] });
|
|
2114
1956
|
}
|
|
2115
1957
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: HerumInputFieldComponent, decorators: [{
|
|
2116
1958
|
type: Component,
|
|
2117
1959
|
args: [{ standalone: false, selector: 'herum-input-field', host: { '[class.required-control]': 'isRequired' }, template: "<div class=\"input-container\" [class]=\"type\">\r\n <input [type]=\"inputHtmlType\" dir=\"rtl\" class=\"w-100 input-field\"\r\n [ngClass]=\"{'error-input':!isValid && !isLoading && touched && isBlurred , 'transparent-text': isLoading, 'ltr':ltrMode}\"\r\n [ngStyle]=\"{'resize': type == 'textBox' ? 'vertical' : 'none'}\" [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled || isBlocked || isLoading\" [(ngModel)]=\"inputValue\" [alt]=\"type\"\r\n [id]=\"id ? id :formControlName\" [attr.prevent-macro-keys-press-event]=\"preventMacroKeysPressEvent\"\r\n (ngModelChange)=\"_onInput($event)\" (blur)=\"_setBlurred()\" />\r\n\r\n <ng-container *ngIf=\"!isLoading\">\r\n <ng-container *ngIf=\"type=='search' || type=='search-blur'\">\r\n <span class=\"icon\" [innerHTML]=\"searchImageSvg | safeHtml\" *ngIf=\"!inputValue && !disabled\">\r\n </span>\r\n\r\n <span class=\"icon\" *ngIf=\"disabled\">\r\n <img src=\"assets/shared/icons/input/grey-search.png\" />\r\n </span>\r\n </ng-container>\r\n\r\n <span class=\"icon clickable small-icon\" *ngIf=\"shouldShowClearIcon\" (click)=\"clearInput()\">\r\n <span class=\"small-icon\" [innerHTML]=\"xImageSvg | safeHtml\"></span>\r\n </span>\r\n\r\n <span class=\"icon clickable eye-icon\" *ngIf=\"shouldShowPasswordToggle\"\r\n (mousedown)=\"$event.preventDefault()\" (click)=\"_onTogglePasswordVisibility($event)\">\r\n <img [src]=\"passwordEyeSource\">\r\n </span>\r\n </ng-container>\r\n\r\n <div *ngIf=\"isLoading\" class=\"skeleton skeleton-text input-skeleton\"></div>\r\n</div>\r\n\r\n<label class=\"error-msg right\" *ngIf=\"shouldShowErrorMsg\">\r\n {{errorMsg}}\r\n</label>", styles: [":host{--icon-size: 16px}.input-container .icon{position:absolute;left:12px;cursor:pointer}.icon{stroke:var(--icons-color);height:var(--icon-size);width:var(--icon-size)}.small-icon{fill:var(--icons-color);height:9px}.icon img{width:var(--icon-size);height:var(--icon-size);display:block}.eye-icon{display:inline-flex;align-items:center;justify-content:center}.input-field:disabled{opacity:.6;cursor:not-allowed}.input-skeleton{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:90%}.search-blur input{border:1px solid rgba(255,255,255,.6)!important;background-color:#ffffff39!important;color:#fff!important}.search-blur input::placeholder{color:#fff!important}.search-blur .icon,.search-blur .small-icon{stroke:#fff!important}\n", ".input-container{position:relative;display:flex;align-items:center}.input-container .input-field{padding:8px 12px 8px 30px;color:#000;height:var(--atom-input-height)}.input-field{border:1px solid var(--inactive-border-color);padding:var(--button-padding-size);border-radius:var(--border-radius);font-size:var(--standard-font-size);box-shadow:0 0 var(--box-shadow-blur) #00000029!important}.input-field:hover{border-color:var(--icons-color-light-2)}.input-field:focus{outline:none;border-color:var(--icons-color-light-1);box-shadow:0 0 5px var(--icons-color-light-1)}.input-field::placeholder{color:var(--disabled-text-color)}span{justify-content:center;display:flex}img{height:16px}.right{justify-content:right}.error-input,.error-input:focus{border-color:var(--error-color)}\n"] }]
|
|
2118
|
-
}], ctorParameters: () => [{ type: i1$
|
|
1960
|
+
}], ctorParameters: () => [{ type: i1$3.NgControl, decorators: [{
|
|
2119
1961
|
type: Optional
|
|
2120
1962
|
}, {
|
|
2121
1963
|
type: Self
|
|
@@ -2517,7 +2359,7 @@ class HerumHierarchyTreeNodeComponent {
|
|
|
2517
2359
|
return this.environmentConfig?.environment?.systemIdentifier == system.hadracha;
|
|
2518
2360
|
}
|
|
2519
2361
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: HerumHierarchyTreeNodeComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: HERUM_SHARED_CONFIG_TOKEN }], target: i0.ɵɵFactoryTarget.Component });
|
|
2520
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: HerumHierarchyTreeNodeComponent, isStandalone: false, selector: "herum-hierarchy-tree-node", inputs: { treeNodeData: "treeNodeData", size: "size", expandedMode: "expandedMode", showArrow: "showArrow", showAssignmentsDetails: "showAssignmentsDetails", nodeMenuItems: "nodeMenuItems" }, outputs: { onNodeSelected: "onNodeSelected", onMenuItemSelected: "onMenuItemSelected", onExpand: "onExpand" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"node-container\" [class]=\"systemIdentifier\" [id]=\"'tree-node-container-' + treeNodeData.id\"\r\n *ngIf=\"treeNodeData\" [ngClass]=\"treeNodeData.status + ' ' + size + ' ' + expandedMode\" #nodeTitle appHerumToolTip>\r\n <div class=\"decorative-line\"></div>\r\n\r\n <div class=\"menu-icon-container\" *ngIf=\"nodeMenuItems?.length > 0\">\r\n <img src=\"/assets/hadracha/general/menu-button.svg\" [matMenuTriggerFor]=\"menu\">\r\n <mat-menu #menu=\"matMenu\">\r\n <button mat-menu-item *ngFor=\"let nodeMenuItem of nodeMenuItems\"\r\n (click)=\"_onMenuItemSelected(nodeMenuItem)\">\r\n <img src=\"/assets/hadracha/structs/{{nodeMenuItem.iconName}}.svg\">\r\n {{ nodeMenuItem.displayText }}\r\n </button>\r\n </mat-menu>\r\n </div>\r\n\r\n <p #treeNodeDataTitle [id]=\"'tree-node-title-' + treeNodeData.id\"\r\n [matTooltip]=\"_isTruncatedTitleElement(nodeTitle) ? treeNodeData.title : ''\" (click)=\"_onNodeSelected()\">\r\n {{treeNodeData.title | ellipsis:treeNodeDataTitle }}\r\n </p>\r\n\r\n <p class=\"totals\" *ngIf=\"showAssignmentsDetails\">\r\n <ng-container *ngIf=\"isHerum\">\r\n <span [matTooltip]='toRPActualAssignmentsDisplayText'> {{this.treeNodeData.totals?.toRPActualAssignments}}\r\n </span> /\r\n <span [matTooltip]='expectedAssignmentsDisplayText'> {{this.treeNodeData.totals?.toRPExpectedAssignments}}\r\n </span>\r\n <span class=\"invalid-assignments\" [ngClass]=\"{'green':this.treeNodeData.totals?.invalidAssignments == 0}\"\r\n [matTooltip]='invalidAssignmentsDisplayText'>\r\n +{{this.treeNodeData.totals?.invalidAssignments}}\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"isHadracha\">\r\n <div class=\"total-value\">\r\n {{this.treeNodeData.totals.total}}\r\n </div>\r\n <p class=\"total-text\">\u05D7\u05E0\u05D9\u05DB\u05D9\u05DD</p>\r\n </ng-container>\r\n </p>\r\n\r\n <br *ngIf=\"!showAssignmentsDetails\">\r\n\r\n <div class=\"row\">\r\n <herum-progress-bar *ngIf=\"!isHadracha\" [percentage]=\"treeNodeData.percentage ? treeNodeData.percentage:0 \"\r\n [negativePercentage]=\"negativePercentage\" [type]=\"'solid'\" [size]=\"'tight'\">\r\n </herum-progress-bar>\r\n\r\n <span class=\"chevron\" *ngIf=\"showArrow\" [ngStyle]=\"{transform: isExpand ? 'rotate(180deg)' : 'none'}\"\r\n [innerHTML]=\"smallChevronSvg | safeHtml\" (click)=\"_onExpand()\">\r\n </span>\r\n </div>\r\n</div>", styles: [":host{border-radius:0 0 var(--border-radius) var(--border-radius)}.node-container{box-shadow:0 0 var(--box-shadow-blur) #00000029!important;display:flex;flex-direction:column;width:170px;gap:4px;padding:4px;border-radius:var(--border-radius);background-color:#fff}.node-container p{margin:0;font-weight:700;font-size:14px}.node-container .row{justify-content:center;align-items:center;position:relative}.node-container .row .chevron{position:absolute;bottom:-20px;background-color:#fff;border-radius:50%;box-shadow:0 0 var(--box-shadow-blur) #00000029!important;width:20px;cursor:pointer;height:20px;z-index:99;padding:1px;stroke:var(--icons-color)}.node-container .totals{font-size:12px;direction:ltr;margin-bottom:8px}.node-container .totals .invalid-assignments{color:var(--error-color);margin-left:8px}.competency-cluster-container{width:100%;display:flex;justify-content:center;align-items:center;padding-bottom:8px}.regular{width:170px}.small{width:140px!important}.close .row .chevron,.open .row .chevron{display:block}.d-flex{justify-content:space-between}.none .row .chevron{display:none}.high{border-top:4px solid var(--icons-color)}.medium{border-top:4px solid orange}.low{border-top:4px solid var(--error-color)}.green{color:var(--icons-color)!important}.decorative-line,.menu-icon-container{display:none}.mat-menu-item{font-family:heebo;font-size:14px;font-weight:400;color:var(--icons-color)}.mat-menu-item:not(:last-child){border-bottom:1px solid var(--divider-color)}::ng-deep .mat-menu-panel{border-radius:var(--border-radius)!important}::ng-deep .mat-menu-content{padding-top:0!important;padding-bottom:0!important}::ng-deep .mat-menu-content button{display:flex;align-items:center;gap:8px;height:36px}.hadracha:hover .menu-icon-container{display:block;height:10px;position:absolute;top:4px;left:12px;z-index:1}.hadracha:hover .menu-icon-container img{height:14px}.hadracha{border-top:none!important;border-radius:0 0 var(--border-radius) var(--border-radius);position:relative}.hadracha .decorative-line{display:block;width:100%;height:4px;background-color:var(--icons-color);border-radius:10px;position:absolute;top:-6px;left:0;z-index:1}.hadracha .totals{display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0}.hadracha .totals .total-value{padding:4px;width:33px;height:33px;background-color:var(--icons-color-light-2);border-radius:var(--border-radius);display:flex;align-items:center;justify-content:center}.hadracha .totals p.total-text{font-size:12px;font-weight:400;text-align:center;margin:0}.hadracha .node-container:hover .totals .total-value{background-color:var(--divider-color)!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2$3.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i2$3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i2$3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i2$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i2$2.HerumProgressBarComponent, selector: "herum-progress-bar", inputs: ["percentage", "invalidPercentage", "showPercentage", "percentagePosition", "type", "size", "color", "borderRadius", "total", "showBorder", "thickness"] }, { kind: "pipe", type: i4.SafeHtmlPipe, name: "safeHtml" }, { kind: "pipe", type: i4.EllipsisPipe, name: "ellipsis" }] });
|
|
2362
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: HerumHierarchyTreeNodeComponent, isStandalone: false, selector: "herum-hierarchy-tree-node", inputs: { treeNodeData: "treeNodeData", size: "size", expandedMode: "expandedMode", showArrow: "showArrow", showAssignmentsDetails: "showAssignmentsDetails", nodeMenuItems: "nodeMenuItems" }, outputs: { onNodeSelected: "onNodeSelected", onMenuItemSelected: "onMenuItemSelected", onExpand: "onExpand" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"node-container\" [class]=\"systemIdentifier\" [id]=\"'tree-node-container-' + treeNodeData.id\"\r\n *ngIf=\"treeNodeData\" [ngClass]=\"treeNodeData.status + ' ' + size + ' ' + expandedMode\" #nodeTitle appHerumToolTip>\r\n <div class=\"decorative-line\"></div>\r\n\r\n <div class=\"menu-icon-container\" *ngIf=\"nodeMenuItems?.length > 0\">\r\n <img src=\"/assets/hadracha/general/menu-button.svg\" [matMenuTriggerFor]=\"menu\">\r\n <mat-menu #menu=\"matMenu\">\r\n <button mat-menu-item *ngFor=\"let nodeMenuItem of nodeMenuItems\"\r\n (click)=\"_onMenuItemSelected(nodeMenuItem)\">\r\n <img src=\"/assets/hadracha/structs/{{nodeMenuItem.iconName}}.svg\">\r\n {{ nodeMenuItem.displayText }}\r\n </button>\r\n </mat-menu>\r\n </div>\r\n\r\n <p #treeNodeDataTitle [id]=\"'tree-node-title-' + treeNodeData.id\"\r\n [matTooltip]=\"_isTruncatedTitleElement(nodeTitle) ? treeNodeData.title : ''\" (click)=\"_onNodeSelected()\">\r\n {{treeNodeData.title | ellipsis:treeNodeDataTitle }}\r\n </p>\r\n\r\n <p class=\"totals\" *ngIf=\"showAssignmentsDetails\">\r\n <ng-container *ngIf=\"isHerum\">\r\n <span [matTooltip]='toRPActualAssignmentsDisplayText'> {{this.treeNodeData.totals?.toRPActualAssignments}}\r\n </span> /\r\n <span [matTooltip]='expectedAssignmentsDisplayText'> {{this.treeNodeData.totals?.toRPExpectedAssignments}}\r\n </span>\r\n <span class=\"invalid-assignments\" [ngClass]=\"{'green':this.treeNodeData.totals?.invalidAssignments == 0}\"\r\n [matTooltip]='invalidAssignmentsDisplayText'>\r\n +{{this.treeNodeData.totals?.invalidAssignments}}\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"isHadracha\">\r\n <div class=\"total-value\">\r\n {{this.treeNodeData.totals.total}}\r\n </div>\r\n <p class=\"total-text\">\u05D7\u05E0\u05D9\u05DB\u05D9\u05DD</p>\r\n </ng-container>\r\n </p>\r\n\r\n <br *ngIf=\"!showAssignmentsDetails\">\r\n\r\n <div class=\"row\">\r\n <herum-progress-bar *ngIf=\"!isHadracha\" [percentage]=\"treeNodeData.percentage ? treeNodeData.percentage:0 \"\r\n [negativePercentage]=\"negativePercentage\" [type]=\"'solid'\" [size]=\"'tight'\">\r\n </herum-progress-bar>\r\n\r\n <span class=\"chevron\" *ngIf=\"showArrow\" [ngStyle]=\"{transform: isExpand ? 'rotate(180deg)' : 'none'}\"\r\n [innerHTML]=\"smallChevronSvg | safeHtml\" (click)=\"_onExpand()\">\r\n </span>\r\n </div>\r\n</div>", styles: [":host{border-radius:0 0 var(--border-radius) var(--border-radius)}.node-container{box-shadow:0 0 var(--box-shadow-blur) #00000029!important;display:flex;flex-direction:column;width:170px;gap:4px;padding:4px;border-radius:var(--border-radius);background-color:#fff}.node-container p{margin:0;font-weight:700;font-size:14px}.node-container .row{justify-content:center;align-items:center;position:relative}.node-container .row .chevron{position:absolute;bottom:-20px;background-color:#fff;border-radius:50%;box-shadow:0 0 var(--box-shadow-blur) #00000029!important;width:20px;cursor:pointer;height:20px;z-index:99;padding:1px;stroke:var(--icons-color)}.node-container .totals{font-size:12px;direction:ltr;margin-bottom:8px}.node-container .totals .invalid-assignments{color:var(--error-color);margin-left:8px}.competency-cluster-container{width:100%;display:flex;justify-content:center;align-items:center;padding-bottom:8px}.regular{width:170px}.small{width:140px!important}.close .row .chevron,.open .row .chevron{display:block}.d-flex{justify-content:space-between}.none .row .chevron{display:none}.high{border-top:4px solid var(--icons-color)}.medium{border-top:4px solid orange}.low{border-top:4px solid var(--error-color)}.green{color:var(--icons-color)!important}.decorative-line,.menu-icon-container{display:none}.mat-menu-item{font-family:heebo;font-size:14px;font-weight:400;color:var(--icons-color)}.mat-menu-item:not(:last-child){border-bottom:1px solid var(--divider-color)}::ng-deep .mat-menu-panel{border-radius:var(--border-radius)!important}::ng-deep .mat-menu-content{padding-top:0!important;padding-bottom:0!important}::ng-deep .mat-menu-content button{display:flex;align-items:center;gap:8px;height:36px}.hadracha:hover .menu-icon-container{display:block;height:10px;position:absolute;top:4px;left:12px;z-index:1}.hadracha:hover .menu-icon-container img{height:14px}.hadracha{border-top:none!important;border-radius:0 0 var(--border-radius) var(--border-radius);position:relative}.hadracha .decorative-line{display:block;width:100%;height:4px;background-color:var(--icons-color);border-radius:10px;position:absolute;top:-6px;left:0;z-index:1}.hadracha .totals{display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0}.hadracha .totals .total-value{padding:4px;width:33px;height:33px;background-color:var(--icons-color-light-2);border-radius:var(--border-radius);display:flex;align-items:center;justify-content:center}.hadracha .totals p.total-text{font-size:12px;font-weight:400;text-align:center;margin:0}.hadracha .node-container:hover .totals .total-value{background-color:var(--divider-color)!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2$3.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i2$3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i2$3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i2$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i4.HerumToolTipDirective, selector: "[appHerumToolTip]", inputs: ["tooltipText"] }, { kind: "component", type: i2$2.HerumProgressBarComponent, selector: "herum-progress-bar", inputs: ["percentage", "invalidPercentage", "showPercentage", "percentagePosition", "type", "size", "color", "borderRadius", "total", "showBorder", "thickness"] }, { kind: "pipe", type: i4$1.SafeHtmlPipe, name: "safeHtml" }, { kind: "pipe", type: i4$1.EllipsisPipe, name: "ellipsis" }] });
|
|
2521
2363
|
}
|
|
2522
2364
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: HerumHierarchyTreeNodeComponent, decorators: [{
|
|
2523
2365
|
type: Component,
|
|
@@ -3512,7 +3354,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
|
|
|
3512
3354
|
args: [{
|
|
3513
3355
|
providedIn: 'root'
|
|
3514
3356
|
}]
|
|
3515
|
-
}], ctorParameters: () => [{ type: i1$
|
|
3357
|
+
}], ctorParameters: () => [{ type: i1$4.AudioVisualConfiguration, decorators: [{
|
|
3516
3358
|
type: Inject,
|
|
3517
3359
|
args: [SYSTEM_AUDIO_VISUAL_CONFIGURATION]
|
|
3518
3360
|
}] }] });
|
|
@@ -3703,7 +3545,7 @@ class GraphQLService {
|
|
|
3703
3545
|
});
|
|
3704
3546
|
return orderString + '}';
|
|
3705
3547
|
}
|
|
3706
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: GraphQLService, deps: [{ token: i1$
|
|
3548
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: GraphQLService, deps: [{ token: i1$5.HttpClient }, { token: HERUM_SHARED_CONFIG_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3707
3549
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: GraphQLService, providedIn: 'root' });
|
|
3708
3550
|
}
|
|
3709
3551
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: GraphQLService, decorators: [{
|
|
@@ -3711,7 +3553,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
|
|
|
3711
3553
|
args: [{
|
|
3712
3554
|
providedIn: 'root'
|
|
3713
3555
|
}]
|
|
3714
|
-
}], ctorParameters: () => [{ type: i1$
|
|
3556
|
+
}], ctorParameters: () => [{ type: i1$5.HttpClient }, { type: undefined, decorators: [{
|
|
3715
3557
|
type: Inject,
|
|
3716
3558
|
args: [HERUM_SHARED_CONFIG_TOKEN]
|
|
3717
3559
|
}] }] });
|
|
@@ -3808,7 +3650,7 @@ class AuthService {
|
|
|
3808
3650
|
generateStringForAuthenticationHash(personalId, militaryId) {
|
|
3809
3651
|
return personalId + militaryId;
|
|
3810
3652
|
}
|
|
3811
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: AuthService, deps: [{ token: i1$
|
|
3653
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: AuthService, deps: [{ token: i1$5.HttpClient }, { token: i2$4.Router }, { token: GraphQLService }, { token: HERUM_SHARED_CONFIG_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3812
3654
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: AuthService, providedIn: 'root' });
|
|
3813
3655
|
}
|
|
3814
3656
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: AuthService, decorators: [{
|
|
@@ -3816,7 +3658,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
|
|
|
3816
3658
|
args: [{
|
|
3817
3659
|
providedIn: 'root'
|
|
3818
3660
|
}]
|
|
3819
|
-
}], ctorParameters: () => [{ type: i1$
|
|
3661
|
+
}], ctorParameters: () => [{ type: i1$5.HttpClient }, { type: i2$4.Router }, { type: GraphQLService }, { type: undefined, decorators: [{
|
|
3820
3662
|
type: Inject,
|
|
3821
3663
|
args: [HERUM_SHARED_CONFIG_TOKEN]
|
|
3822
3664
|
}] }] });
|
|
@@ -4147,7 +3989,7 @@ class DbActionRequestsService {
|
|
|
4147
3989
|
this.environmentConfig?.mongoUpdates?.Methods?.ModelInfo
|
|
4148
3990
|
]));
|
|
4149
3991
|
}
|
|
4150
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: DbActionRequestsService, deps: [{ token: i1$
|
|
3992
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: DbActionRequestsService, deps: [{ token: i1$5.HttpClient }, { token: DbActionsInnerIdManagerService }, { token: HERUM_SHARED_CONFIG_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4151
3993
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: DbActionRequestsService, providedIn: 'root' });
|
|
4152
3994
|
}
|
|
4153
3995
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: DbActionRequestsService, decorators: [{
|
|
@@ -4155,7 +3997,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
|
|
|
4155
3997
|
args: [{
|
|
4156
3998
|
providedIn: 'root'
|
|
4157
3999
|
}]
|
|
4158
|
-
}], ctorParameters: () => [{ type: i1$
|
|
4000
|
+
}], ctorParameters: () => [{ type: i1$5.HttpClient }, { type: DbActionsInnerIdManagerService }, { type: undefined, decorators: [{
|
|
4159
4001
|
type: Inject,
|
|
4160
4002
|
args: [HERUM_SHARED_CONFIG_TOKEN]
|
|
4161
4003
|
}] }] });
|
|
@@ -4512,7 +4354,7 @@ class MicroResourcesService {
|
|
|
4512
4354
|
});
|
|
4513
4355
|
return forkJoin(updates.map(request => this.http.post(this.environmentConfig?.environment?.siteServerPath + this.environmentConfig?.resourcePaths?.resourceUpdateAuthorizations, request)));
|
|
4514
4356
|
}
|
|
4515
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: MicroResourcesService, deps: [{ token: i1$
|
|
4357
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: MicroResourcesService, deps: [{ token: i1$5.HttpClient }, { token: HERUM_SHARED_CONFIG_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4516
4358
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: MicroResourcesService, providedIn: 'root' });
|
|
4517
4359
|
}
|
|
4518
4360
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: MicroResourcesService, decorators: [{
|
|
@@ -4520,7 +4362,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
|
|
|
4520
4362
|
args: [{
|
|
4521
4363
|
providedIn: 'root'
|
|
4522
4364
|
}]
|
|
4523
|
-
}], ctorParameters: () => [{ type: i1$
|
|
4365
|
+
}], ctorParameters: () => [{ type: i1$5.HttpClient }, { type: undefined, decorators: [{
|
|
4524
4366
|
type: Inject,
|
|
4525
4367
|
args: [HERUM_SHARED_CONFIG_TOKEN]
|
|
4526
4368
|
}] }] });
|
|
@@ -4702,11 +4544,60 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
|
|
|
4702
4544
|
args: [{
|
|
4703
4545
|
providedIn: 'root'
|
|
4704
4546
|
}]
|
|
4705
|
-
}], ctorParameters: () => [{ type: i1$
|
|
4547
|
+
}], ctorParameters: () => [{ type: i1$4.ISystemTrackTextChangesService, decorators: [{
|
|
4706
4548
|
type: Inject,
|
|
4707
4549
|
args: [SYSTEM_TRACK_TEXT_CHANGES_SERVICE]
|
|
4708
4550
|
}] }] });
|
|
4709
4551
|
|
|
4552
|
+
const unwantedSelectors = ["div", null];
|
|
4553
|
+
class UserActionDirective {
|
|
4554
|
+
el;
|
|
4555
|
+
http;
|
|
4556
|
+
environmentConfig;
|
|
4557
|
+
description;
|
|
4558
|
+
constructor(el, http, environmentConfig) {
|
|
4559
|
+
this.el = el;
|
|
4560
|
+
this.http = http;
|
|
4561
|
+
this.environmentConfig = environmentConfig;
|
|
4562
|
+
}
|
|
4563
|
+
onClick(event) {
|
|
4564
|
+
var obj = {
|
|
4565
|
+
system: this.environmentConfig?.environment?.envName,
|
|
4566
|
+
currentUrl: this.el.nativeElement?.formAction,
|
|
4567
|
+
innerText: this.el.nativeElement?.innerText,
|
|
4568
|
+
attributes: Array.from(Object.values(this.el.nativeElement?.attributes)).map((attribute) => ({
|
|
4569
|
+
attribute: attribute.name,
|
|
4570
|
+
value: attribute.value
|
|
4571
|
+
})),
|
|
4572
|
+
selector: this.el.nativeElement?.tagName,
|
|
4573
|
+
viewPath: event.path?.map(viewElement => viewElement.localName).filter(selector => !unwantedSelectors.includes(selector) && selector),
|
|
4574
|
+
timeStamp: event.timeStamp,
|
|
4575
|
+
screenX: event.screenX,
|
|
4576
|
+
screenY: event.screenY,
|
|
4577
|
+
description: this.description
|
|
4578
|
+
};
|
|
4579
|
+
this.http.post(this.environmentConfig?.environment?.userAction, obj).subscribe(res => { });
|
|
4580
|
+
}
|
|
4581
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: UserActionDirective, deps: [{ token: i0.ElementRef }, { token: i1$5.HttpClient }, { token: HERUM_SHARED_CONFIG_TOKEN }], target: i0.ɵɵFactoryTarget.Directive });
|
|
4582
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.17", type: UserActionDirective, isStandalone: false, selector: "[userAction]", inputs: { description: ["userAction", "description"] }, host: { listeners: { "click": "onClick($event)" } }, ngImport: i0 });
|
|
4583
|
+
}
|
|
4584
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: UserActionDirective, decorators: [{
|
|
4585
|
+
type: Directive,
|
|
4586
|
+
args: [{
|
|
4587
|
+
standalone: false,
|
|
4588
|
+
selector: '[userAction]'
|
|
4589
|
+
}]
|
|
4590
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1$5.HttpClient }, { type: undefined, decorators: [{
|
|
4591
|
+
type: Inject,
|
|
4592
|
+
args: [HERUM_SHARED_CONFIG_TOKEN]
|
|
4593
|
+
}] }], propDecorators: { description: [{
|
|
4594
|
+
type: Input,
|
|
4595
|
+
args: ['userAction']
|
|
4596
|
+
}], onClick: [{
|
|
4597
|
+
type: HostListener,
|
|
4598
|
+
args: ['click', ['$event']]
|
|
4599
|
+
}] } });
|
|
4600
|
+
|
|
4710
4601
|
class HerumSpinnerComponent {
|
|
4711
4602
|
size = 'default-size';
|
|
4712
4603
|
borderColor = 'default-border-color';
|
|
@@ -4750,7 +4641,7 @@ class AudioSliderComponent {
|
|
|
4750
4641
|
this.sliderChange.emit(this.sliderValue);
|
|
4751
4642
|
}
|
|
4752
4643
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: AudioSliderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4753
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: AudioSliderComponent, isStandalone: false, selector: "audio-slider", inputs: { sliderValue: "sliderValue", maxValue: "maxValue", color: "color", id: "id" }, outputs: { sliderChange: "sliderChange" }, viewQueries: [{ propertyName: "slider", first: true, predicate: ["slider"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"wrapper\">\r\n <div class=\"range\">\r\n <input [style.background]=\"'linear-gradient(to right, #f50 100%, #ccc 0%);'\" type=\"range\" [id]=\"id\" [min]=\"0\" [max]=\"maxValue\" [value]=\"100\" [(ngModel)]=\"sliderValue\"\r\n (input)=\"updateSliderBackground()\" />\r\n </div>\r\n</div>", styles: [".wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;direction:ltr}.wrapper .range{position:relative}.wrapper input[type=range]{-webkit-appearance:none;width:100%;direction:ltr;height:4px;border-radius:5px;outline:none;transition:background .3s ease}.wrapper input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#fff;width:14px!important;height:14px!important;filter:drop-shadow(0px 0px 6px rgba(0,0,0,.16))!important;border-radius:50%!important;cursor:pointer!important}.wrapper input[type=range]::-moz-range-thumb{background:#fff;width:14px!important;height:14px!important;filter:drop-shadow(0px 0px 6px rgba(0,0,0,.16))!important;border-radius:50%!important;cursor:pointer!important}.wrapper .value{margin-top:10px;font-size:16px;color:#333;text-align:center}\n"], dependencies: [{ kind: "directive", type: i1$
|
|
4644
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: AudioSliderComponent, isStandalone: false, selector: "audio-slider", inputs: { sliderValue: "sliderValue", maxValue: "maxValue", color: "color", id: "id" }, outputs: { sliderChange: "sliderChange" }, viewQueries: [{ propertyName: "slider", first: true, predicate: ["slider"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"wrapper\">\r\n <div class=\"range\">\r\n <input [style.background]=\"'linear-gradient(to right, #f50 100%, #ccc 0%);'\" type=\"range\" [id]=\"id\" [min]=\"0\" [max]=\"maxValue\" [value]=\"100\" [(ngModel)]=\"sliderValue\"\r\n (input)=\"updateSliderBackground()\" />\r\n </div>\r\n</div>", styles: [".wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;direction:ltr}.wrapper .range{position:relative}.wrapper input[type=range]{-webkit-appearance:none;width:100%;direction:ltr;height:4px;border-radius:5px;outline:none;transition:background .3s ease}.wrapper input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#fff;width:14px!important;height:14px!important;filter:drop-shadow(0px 0px 6px rgba(0,0,0,.16))!important;border-radius:50%!important;cursor:pointer!important}.wrapper input[type=range]::-moz-range-thumb{background:#fff;width:14px!important;height:14px!important;filter:drop-shadow(0px 0px 6px rgba(0,0,0,.16))!important;border-radius:50%!important;cursor:pointer!important}.wrapper .value{margin-top:10px;font-size:16px;color:#333;text-align:center}\n"], dependencies: [{ kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.RangeValueAccessor, selector: "input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
4754
4645
|
}
|
|
4755
4646
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: AudioSliderComponent, decorators: [{
|
|
4756
4647
|
type: Component,
|
|
@@ -5128,12 +5019,12 @@ class AudioPlayerComponent {
|
|
|
5128
5019
|
this.removeAudioElementEventListeners();
|
|
5129
5020
|
}
|
|
5130
5021
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: AudioPlayerComponent, deps: [{ token: AudioVisualizationService }, { token: GlobalKeyboardListenerService }, { token: KeyPressService }, { token: UtilsService }, { token: SYSTEM_AUDIO_VISUAL_CONFIGURATION }], target: i0.ɵɵFactoryTarget.Component });
|
|
5131
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: AudioPlayerComponent, isStandalone: false, selector: "herum-audio-player", inputs: { showVolumeSliders: "showVolumeSliders", isPreview: "isPreview", getTimeUpdate: "getTimeUpdate", playbackSpeed: "playbackSpeed", isBlock: "isBlock", currentTime: "currentTime", isAudioPlaying: "isAudioPlaying", width: "width", id: "id", audioFile: "audioFile", mediaSettings: "mediaSettings", bucketName: "bucketName" }, outputs: { periodicCurrentTime: "periodicCurrentTime", isLoadingChange: "isLoadingChange", timingUpdateByRequest: "timingUpdateByRequest", mediaSettingsUpdate: "mediaSettingsUpdate" }, host: { listeners: { "window:resize": "onWindowResize()", "document:keyup": "handleKeyboardEvent($event)" } }, viewQueries: [{ propertyName: "audioCanvas", first: true, predicate: ["audioCanvas"], descendants: true }, { propertyName: "slider", first: true, predicate: ["slider"], descendants: true, static: true }, { propertyName: "audioContainer", first: true, predicate: ["audioContainer"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"audio-container\" #audioContainer>\r\n <p class=\"current-time\" *ngIf=\"!errorMessage\">{{ currentTimeLabel }}</p>\r\n\r\n <p *ngIf=\"errorMessage\" class=\"m-0 d-flex gap-2 align-items-center\">\r\n <img src=\"/assets/college/learningArea/error.svg\">\r\n {{ errorMessage }}\r\n </p>\r\n\r\n <div class=\"audio-loader-container\" [userAction]=\"'currentTime: ' + currentTime\">\r\n <canvas [class.transparent]=\"isLoading\" #audioCanvas (click)=\"_onCanvasClick($event)\"> </canvas>\r\n </div>\r\n\r\n <div class=\"audio-controls\">\r\n <div *ngIf=\"showVolumeSliders\" class=\"volume-container\">\r\n <div class=\"right slider-container\">\r\n <label>R</label>\r\n <audio-slider color=\"#3B2DBE\" [id]=\"'right'\" userAction\r\n (sliderChange)=\"rightVolume=$event/100; _updateVolume()\">\r\n </audio-slider>\r\n </div>\r\n\r\n <div class=\"left slider-container\">\r\n <label>L</label>\r\n <audio-slider color=\"#2D7ABE\" [id]=\"'left'\" userAction\r\n (sliderChange)=\"leftVolume=$event/100; _updateVolume()\">\r\n </audio-slider>\r\n </div>\r\n </div>\r\n\r\n <button class=\"control-button\" [userAction]=\"'currentTime: ' + currentTime\" (click)=\"_skipForward(15)\" userAction>\r\n <img src=\"assets/shared/audio-images/next15.svg\" alt=\"Fast Forward\" />\r\n </button>\r\n\r\n <button class=\"control-button play-button\" [userAction]=\"isAudioPlaying ? 'play' : 'pause'\"\r\n (click)=\"_onTogglePlay()\">\r\n <ng-container *ngIf=\"!isLoading\">\r\n <img *ngIf=\"!isBlock\"\r\n [src]=\"isAudioPlaying ? 'assets/shared/audio-images/pause.svg' : 'assets/shared/audio-images/play.svg'\"\r\n alt=\"Play/Pause\" />\r\n <img *ngIf=\"isBlock\"\r\n [src]=\"isAudioPlaying ? 'assets/shared/audio-images/gray-pause.svg' : 'assets/shared/audio-images/gray-play.svg'\"\r\n alt=\"Play/Pause\" />\r\n </ng-container>\r\n <herum-spinner *ngIf=\"isLoading\"></herum-spinner>\r\n </button>\r\n\r\n <button class=\"control-button\" (click)=\"_skipBackward(15)\" [userAction]=\"'currentTime: ' + currentTime\">\r\n <img src=\"assets/shared/audio-images/previous15.svg\" alt=\"Rewind\" />\r\n </button>\r\n\r\n <div class=\"speed-control\">\r\n <herum-video-select class=\"video-speed-select\" userAction [options]=\"speedOptions\"\r\n [currentVideoSpeed]=\"playbackSpeed\" (selectedOptionEmitter)=\"_updatePlaybackSpeed($event)\">\r\n </herum-video-select>\r\n </div>\r\n </div>\r\n</div>", styles: [":root{--background-color: #f2f2f2;background-color:var(--background-color)}*{box-sizing:border-box}.audio-container{text-align:center;flex:1}.time-control{margin:20px}canvas{width:100%;height:116px;border-radius:8px;margin-top:4px;opacity:1}.transparent{opacity:0!important}.audio-loader-container{position:relative;display:flex;align-items:center;justify-content:center}.audio-loader-container .d-flex{position:absolute;z-index:2}.audio-controls{padding:12px;display:flex;align-items:center;justify-content:center;gap:10px;background-color:var(--background-color);height:calc(100% - 160px)}.control-button{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#f9f9f9;border:none;border-radius:12px;cursor:pointer;transition:background .3s ease;fill:#fff;filter:drop-shadow(0px 0px 6px rgba(0,0,0,.16))}.control-button img{width:20px;height:20px}.control-button:hover{background:#f0f0f0}.play-button{width:50px;height:50px;border:none;border-radius:50%}.play-button img{width:25px;height:25px}.speed-control{display:flex;align-items:center;justify-content:center;background:#f9f9f9;border:none;border-radius:5px;padding:5px 10px;fill:#fff;filter:drop-shadow(0px 0px 6px rgba(0,0,0,.16))}.current-time{font-weight:400;font-size:14px;text-align:left;margin:0;padding-left:12px}.speed-control select{border:none;background:transparent;font-size:14px;outline:none;cursor:pointer}.volume-sliders{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:10px}.volume-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.slider-container{display:flex;flex-direction:row-reverse;align-items:center;justify-content:center;gap:10px}.slider-container label{margin:0;background:#d18a8a;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;color:#fff}.left label{background-color:#2d7abe}.right label{background-color:#3b2dbe}audio-slider{width:90px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: HerumSpinnerComponent, selector: "herum-spinner", inputs: ["size", "borderColor", "borderWidth", "borderTopColor", "shape"] }, { kind: "component", type: HerumVideoSelectComponent, selector: "herum-video-select", inputs: ["currentVideoSpeed", "options"], outputs: ["selectedOptionEmitter"] }, { kind: "
|
|
5022
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: AudioPlayerComponent, isStandalone: false, selector: "herum-audio-player", inputs: { showVolumeSliders: "showVolumeSliders", isPreview: "isPreview", getTimeUpdate: "getTimeUpdate", playbackSpeed: "playbackSpeed", isBlock: "isBlock", currentTime: "currentTime", isAudioPlaying: "isAudioPlaying", width: "width", id: "id", audioFile: "audioFile", mediaSettings: "mediaSettings", bucketName: "bucketName" }, outputs: { periodicCurrentTime: "periodicCurrentTime", isLoadingChange: "isLoadingChange", timingUpdateByRequest: "timingUpdateByRequest", mediaSettingsUpdate: "mediaSettingsUpdate" }, host: { listeners: { "window:resize": "onWindowResize()", "document:keyup": "handleKeyboardEvent($event)" } }, viewQueries: [{ propertyName: "audioCanvas", first: true, predicate: ["audioCanvas"], descendants: true }, { propertyName: "slider", first: true, predicate: ["slider"], descendants: true, static: true }, { propertyName: "audioContainer", first: true, predicate: ["audioContainer"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"audio-container\" #audioContainer>\r\n <p class=\"current-time\" *ngIf=\"!errorMessage\">{{ currentTimeLabel }}</p>\r\n\r\n <p *ngIf=\"errorMessage\" class=\"m-0 d-flex gap-2 align-items-center\">\r\n <img src=\"/assets/college/learningArea/error.svg\">\r\n {{ errorMessage }}\r\n </p>\r\n\r\n <div class=\"audio-loader-container\" [userAction]=\"'currentTime: ' + currentTime\">\r\n <canvas [class.transparent]=\"isLoading\" #audioCanvas (click)=\"_onCanvasClick($event)\"> </canvas>\r\n </div>\r\n\r\n <div class=\"audio-controls\">\r\n <div *ngIf=\"showVolumeSliders\" class=\"volume-container\">\r\n <div class=\"right slider-container\">\r\n <label>R</label>\r\n <audio-slider color=\"#3B2DBE\" [id]=\"'right'\" userAction\r\n (sliderChange)=\"rightVolume=$event/100; _updateVolume()\">\r\n </audio-slider>\r\n </div>\r\n\r\n <div class=\"left slider-container\">\r\n <label>L</label>\r\n <audio-slider color=\"#2D7ABE\" [id]=\"'left'\" userAction\r\n (sliderChange)=\"leftVolume=$event/100; _updateVolume()\">\r\n </audio-slider>\r\n </div>\r\n </div>\r\n\r\n <button class=\"control-button\" [userAction]=\"'currentTime: ' + currentTime\" (click)=\"_skipForward(15)\" userAction>\r\n <img src=\"assets/shared/audio-images/next15.svg\" alt=\"Fast Forward\" />\r\n </button>\r\n\r\n <button class=\"control-button play-button\" [userAction]=\"isAudioPlaying ? 'play' : 'pause'\"\r\n (click)=\"_onTogglePlay()\">\r\n <ng-container *ngIf=\"!isLoading\">\r\n <img *ngIf=\"!isBlock\"\r\n [src]=\"isAudioPlaying ? 'assets/shared/audio-images/pause.svg' : 'assets/shared/audio-images/play.svg'\"\r\n alt=\"Play/Pause\" />\r\n <img *ngIf=\"isBlock\"\r\n [src]=\"isAudioPlaying ? 'assets/shared/audio-images/gray-pause.svg' : 'assets/shared/audio-images/gray-play.svg'\"\r\n alt=\"Play/Pause\" />\r\n </ng-container>\r\n <herum-spinner *ngIf=\"isLoading\"></herum-spinner>\r\n </button>\r\n\r\n <button class=\"control-button\" (click)=\"_skipBackward(15)\" [userAction]=\"'currentTime: ' + currentTime\">\r\n <img src=\"assets/shared/audio-images/previous15.svg\" alt=\"Rewind\" />\r\n </button>\r\n\r\n <div class=\"speed-control\">\r\n <herum-video-select class=\"video-speed-select\" userAction [options]=\"speedOptions\"\r\n [currentVideoSpeed]=\"playbackSpeed\" (selectedOptionEmitter)=\"_updatePlaybackSpeed($event)\">\r\n </herum-video-select>\r\n </div>\r\n </div>\r\n</div>", styles: [":root{--background-color: #f2f2f2;background-color:var(--background-color)}*{box-sizing:border-box}.audio-container{text-align:center;flex:1}.time-control{margin:20px}canvas{width:100%;height:116px;border-radius:8px;margin-top:4px;opacity:1}.transparent{opacity:0!important}.audio-loader-container{position:relative;display:flex;align-items:center;justify-content:center}.audio-loader-container .d-flex{position:absolute;z-index:2}.audio-controls{padding:12px;display:flex;align-items:center;justify-content:center;gap:10px;background-color:var(--background-color);height:calc(100% - 160px)}.control-button{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#f9f9f9;border:none;border-radius:12px;cursor:pointer;transition:background .3s ease;fill:#fff;filter:drop-shadow(0px 0px 6px rgba(0,0,0,.16))}.control-button img{width:20px;height:20px}.control-button:hover{background:#f0f0f0}.play-button{width:50px;height:50px;border:none;border-radius:50%}.play-button img{width:25px;height:25px}.speed-control{display:flex;align-items:center;justify-content:center;background:#f9f9f9;border:none;border-radius:5px;padding:5px 10px;fill:#fff;filter:drop-shadow(0px 0px 6px rgba(0,0,0,.16))}.current-time{font-weight:400;font-size:14px;text-align:left;margin:0;padding-left:12px}.speed-control select{border:none;background:transparent;font-size:14px;outline:none;cursor:pointer}.volume-sliders{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:10px}.volume-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.slider-container{display:flex;flex-direction:row-reverse;align-items:center;justify-content:center;gap:10px}.slider-container label{margin:0;background:#d18a8a;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;color:#fff}.left label{background-color:#2d7abe}.right label{background-color:#3b2dbe}audio-slider{width:90px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: UserActionDirective, selector: "[userAction]", inputs: ["userAction"] }, { kind: "component", type: HerumSpinnerComponent, selector: "herum-spinner", inputs: ["size", "borderColor", "borderWidth", "borderTopColor", "shape"] }, { kind: "component", type: HerumVideoSelectComponent, selector: "herum-video-select", inputs: ["currentVideoSpeed", "options"], outputs: ["selectedOptionEmitter"] }, { kind: "component", type: AudioSliderComponent, selector: "audio-slider", inputs: ["sliderValue", "maxValue", "color", "id"], outputs: ["sliderChange"] }] });
|
|
5132
5023
|
}
|
|
5133
5024
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: AudioPlayerComponent, decorators: [{
|
|
5134
5025
|
type: Component,
|
|
5135
5026
|
args: [{ standalone: false, selector: 'herum-audio-player', template: "<div class=\"audio-container\" #audioContainer>\r\n <p class=\"current-time\" *ngIf=\"!errorMessage\">{{ currentTimeLabel }}</p>\r\n\r\n <p *ngIf=\"errorMessage\" class=\"m-0 d-flex gap-2 align-items-center\">\r\n <img src=\"/assets/college/learningArea/error.svg\">\r\n {{ errorMessage }}\r\n </p>\r\n\r\n <div class=\"audio-loader-container\" [userAction]=\"'currentTime: ' + currentTime\">\r\n <canvas [class.transparent]=\"isLoading\" #audioCanvas (click)=\"_onCanvasClick($event)\"> </canvas>\r\n </div>\r\n\r\n <div class=\"audio-controls\">\r\n <div *ngIf=\"showVolumeSliders\" class=\"volume-container\">\r\n <div class=\"right slider-container\">\r\n <label>R</label>\r\n <audio-slider color=\"#3B2DBE\" [id]=\"'right'\" userAction\r\n (sliderChange)=\"rightVolume=$event/100; _updateVolume()\">\r\n </audio-slider>\r\n </div>\r\n\r\n <div class=\"left slider-container\">\r\n <label>L</label>\r\n <audio-slider color=\"#2D7ABE\" [id]=\"'left'\" userAction\r\n (sliderChange)=\"leftVolume=$event/100; _updateVolume()\">\r\n </audio-slider>\r\n </div>\r\n </div>\r\n\r\n <button class=\"control-button\" [userAction]=\"'currentTime: ' + currentTime\" (click)=\"_skipForward(15)\" userAction>\r\n <img src=\"assets/shared/audio-images/next15.svg\" alt=\"Fast Forward\" />\r\n </button>\r\n\r\n <button class=\"control-button play-button\" [userAction]=\"isAudioPlaying ? 'play' : 'pause'\"\r\n (click)=\"_onTogglePlay()\">\r\n <ng-container *ngIf=\"!isLoading\">\r\n <img *ngIf=\"!isBlock\"\r\n [src]=\"isAudioPlaying ? 'assets/shared/audio-images/pause.svg' : 'assets/shared/audio-images/play.svg'\"\r\n alt=\"Play/Pause\" />\r\n <img *ngIf=\"isBlock\"\r\n [src]=\"isAudioPlaying ? 'assets/shared/audio-images/gray-pause.svg' : 'assets/shared/audio-images/gray-play.svg'\"\r\n alt=\"Play/Pause\" />\r\n </ng-container>\r\n <herum-spinner *ngIf=\"isLoading\"></herum-spinner>\r\n </button>\r\n\r\n <button class=\"control-button\" (click)=\"_skipBackward(15)\" [userAction]=\"'currentTime: ' + currentTime\">\r\n <img src=\"assets/shared/audio-images/previous15.svg\" alt=\"Rewind\" />\r\n </button>\r\n\r\n <div class=\"speed-control\">\r\n <herum-video-select class=\"video-speed-select\" userAction [options]=\"speedOptions\"\r\n [currentVideoSpeed]=\"playbackSpeed\" (selectedOptionEmitter)=\"_updatePlaybackSpeed($event)\">\r\n </herum-video-select>\r\n </div>\r\n </div>\r\n</div>", styles: [":root{--background-color: #f2f2f2;background-color:var(--background-color)}*{box-sizing:border-box}.audio-container{text-align:center;flex:1}.time-control{margin:20px}canvas{width:100%;height:116px;border-radius:8px;margin-top:4px;opacity:1}.transparent{opacity:0!important}.audio-loader-container{position:relative;display:flex;align-items:center;justify-content:center}.audio-loader-container .d-flex{position:absolute;z-index:2}.audio-controls{padding:12px;display:flex;align-items:center;justify-content:center;gap:10px;background-color:var(--background-color);height:calc(100% - 160px)}.control-button{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#f9f9f9;border:none;border-radius:12px;cursor:pointer;transition:background .3s ease;fill:#fff;filter:drop-shadow(0px 0px 6px rgba(0,0,0,.16))}.control-button img{width:20px;height:20px}.control-button:hover{background:#f0f0f0}.play-button{width:50px;height:50px;border:none;border-radius:50%}.play-button img{width:25px;height:25px}.speed-control{display:flex;align-items:center;justify-content:center;background:#f9f9f9;border:none;border-radius:5px;padding:5px 10px;fill:#fff;filter:drop-shadow(0px 0px 6px rgba(0,0,0,.16))}.current-time{font-weight:400;font-size:14px;text-align:left;margin:0;padding-left:12px}.speed-control select{border:none;background:transparent;font-size:14px;outline:none;cursor:pointer}.volume-sliders{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:10px}.volume-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.slider-container{display:flex;flex-direction:row-reverse;align-items:center;justify-content:center;gap:10px}.slider-container label{margin:0;background:#d18a8a;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;color:#fff}.left label{background-color:#2d7abe}.right label{background-color:#3b2dbe}audio-slider{width:90px}\n"] }]
|
|
5136
|
-
}], ctorParameters: () => [{ type: AudioVisualizationService }, { type: GlobalKeyboardListenerService }, { type: KeyPressService }, { type: UtilsService }, { type: i1$
|
|
5027
|
+
}], ctorParameters: () => [{ type: AudioVisualizationService }, { type: GlobalKeyboardListenerService }, { type: KeyPressService }, { type: UtilsService }, { type: i1$4.AudioVisualConfiguration, decorators: [{
|
|
5137
5028
|
type: Inject,
|
|
5138
5029
|
args: [SYSTEM_AUDIO_VISUAL_CONFIGURATION]
|
|
5139
5030
|
}] }], propDecorators: { showVolumeSliders: [{
|
|
@@ -5185,6 +5076,62 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
|
|
|
5185
5076
|
args: ['document:keyup', ['$event']]
|
|
5186
5077
|
}] } });
|
|
5187
5078
|
|
|
5079
|
+
class HerumToolTipDirective {
|
|
5080
|
+
el;
|
|
5081
|
+
tooltipText = '';
|
|
5082
|
+
tooltip;
|
|
5083
|
+
constructor(el) {
|
|
5084
|
+
this.el = el;
|
|
5085
|
+
this.tooltip = document.createElement('div');
|
|
5086
|
+
this.tooltip.className = 'tooltip';
|
|
5087
|
+
}
|
|
5088
|
+
onMouseEnter() {
|
|
5089
|
+
this.showTooltip();
|
|
5090
|
+
}
|
|
5091
|
+
onMouseLeave() {
|
|
5092
|
+
this.hideTooltip();
|
|
5093
|
+
}
|
|
5094
|
+
showTooltip() {
|
|
5095
|
+
const hostPosition = this.el.nativeElement.getBoundingClientRect();
|
|
5096
|
+
const tooltipPosition = {
|
|
5097
|
+
top: window.scrollY + hostPosition.top - this.tooltip.offsetHeight - 30,
|
|
5098
|
+
left: window.scrollX + hostPosition.left + hostPosition.width / 4 //+ this.tooltip.offsetWidth
|
|
5099
|
+
};
|
|
5100
|
+
const bodyRect = document.body.getBoundingClientRect();
|
|
5101
|
+
const tooltipRect = this.tooltip.getBoundingClientRect();
|
|
5102
|
+
if (tooltipPosition.left < bodyRect.left) {
|
|
5103
|
+
tooltipPosition.left = bodyRect.left;
|
|
5104
|
+
}
|
|
5105
|
+
else if (tooltipPosition.left + tooltipRect.width > bodyRect.right) {
|
|
5106
|
+
tooltipPosition.left = bodyRect.right - tooltipRect.width;
|
|
5107
|
+
}
|
|
5108
|
+
this.tooltip.style.top = `${tooltipPosition.top}px`;
|
|
5109
|
+
this.tooltip.style.left = `${tooltipPosition.left}px`;
|
|
5110
|
+
document.body.appendChild(this.tooltip);
|
|
5111
|
+
this.tooltip.innerText = this.tooltipText;
|
|
5112
|
+
}
|
|
5113
|
+
hideTooltip() {
|
|
5114
|
+
document.body.removeChild(this.tooltip);
|
|
5115
|
+
}
|
|
5116
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: HerumToolTipDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
5117
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.17", type: HerumToolTipDirective, isStandalone: false, selector: "[appHerumToolTip]", inputs: { tooltipText: "tooltipText" }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()" } }, ngImport: i0 });
|
|
5118
|
+
}
|
|
5119
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: HerumToolTipDirective, decorators: [{
|
|
5120
|
+
type: Directive,
|
|
5121
|
+
args: [{
|
|
5122
|
+
standalone: false,
|
|
5123
|
+
selector: '[appHerumToolTip]'
|
|
5124
|
+
}]
|
|
5125
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { tooltipText: [{
|
|
5126
|
+
type: Input
|
|
5127
|
+
}], onMouseEnter: [{
|
|
5128
|
+
type: HostListener,
|
|
5129
|
+
args: ['mouseenter']
|
|
5130
|
+
}], onMouseLeave: [{
|
|
5131
|
+
type: HostListener,
|
|
5132
|
+
args: ['mouseleave']
|
|
5133
|
+
}] } });
|
|
5134
|
+
|
|
5188
5135
|
const CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR = {
|
|
5189
5136
|
provide: NG_VALUE_ACCESSOR,
|
|
5190
5137
|
useExisting: forwardRef(() => HerumTextAreaComponent),
|
|
@@ -5245,7 +5192,7 @@ class HerumTextAreaComponent {
|
|
|
5245
5192
|
return svgsStrings.X;
|
|
5246
5193
|
}
|
|
5247
5194
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: HerumTextAreaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5248
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: HerumTextAreaComponent, isStandalone: false, selector: "herum-text-area", inputs: { placeholder: "placeholder", disabled: "disabled", formControlName: "formControlName", isValid: "isValid", isLoading: "isLoading", errorMsg: "errorMsg", showErrorMsgGap: "showErrorMsgGap", id: "id", preventMacroKeysPressEvent: "preventMacroKeysPressEvent", heightMode: "heightMode", fontSize: "fontSize", inputValue: "inputValue", maxLength: "maxLength" }, outputs: { inputValueEmitter: "inputValueEmitter" }, host: { listeners: { "keypress": "onKeyPress($event)" } }, providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR], viewQueries: [{ propertyName: "textarea", first: true, predicate: ["textarea"], descendants: true }], ngImport: i0, template: "<div class=\"input-container custom-resizer\" [ngClass]=\"heightMode\">\r\n <textarea #textarea class=\"input-field no-resizer min-height-input w-100\"\r\n [ngClass]=\"{'error-input':!isValid && touched && isBlurred}\" [placeholder]=\"placeholder\" [disabled]=\"disabled\" [maxlength]=\"maxLength\"\r\n [(ngModel)]=\"inputValue\" [id]=\"id ? id : formControlName\"\r\n [attr.prevent-macro-keys-press-event]=\"preventMacroKeysPressEvent\" (ngModelChange)=\"_onInput($event)\"\r\n (blur)=\"setBlurred()\">\r\n </textarea>\r\n\r\n <span class=\"icon clickable\" *ngIf=\"inputValue && !disabled && !isLoading\" (click)=\"_onClearTextArea()\">\r\n <span class=\"small-icon\" [innerHTML]=\"xSvg | safeHtml\"></span>\r\n </span>\r\n\r\n <herum-spinner class=\"small-icon\" *ngIf=\"isLoading\"></herum-spinner>\r\n</div>\r\n\r\n<ng-container *ngIf=\"!isValid && touched && isBlurred\">\r\n <label class=\"error-msg right\" *ngIf=\"showErrorMsgGap\">\r\n {{ errorMsg }}\r\n </label>\r\n</ng-container>", styles: [":host{--atom-input-height: 60px}.max{height:100%}.max textarea{height:100%!important}textarea{color:var(--text-color)}.min-height-input{min-height:var(--atom-input-height)}.small-icon{position:absolute;cursor:pointer;height:9px;top:16px;left:16px;fill:var(--icons-color)}.custom-resizer{position:relative}.custom-resizer:before{content:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"9.914\" height=\"9.414\" viewBox=\"0 0 9.914 9.414\">%0D%0A <g id=\"Group_955\" data-name=\"Group 955\" transform=\"translate(-1485.894 -372.793)\">%0D%0A <line id=\"Line_326\" data-name=\"Line 326\" x2=\"5\" y2=\"5\" transform=\"translate(1486.602 376.5)\" fill=\"none\" stroke=\"%237897a8\" stroke-linecap=\"round\" stroke-width=\"1\"/>%0D%0A <line id=\"Line_327\" data-name=\"Line 327\" x2=\"8\" y2=\"8\" transform=\"translate(1487.102 373.5)\" fill=\"none\" stroke=\"%237897a8\" stroke-linecap=\"round\" stroke-width=\"1\"/>%0D%0A </g>%0D%0A</svg>%0D%0A');position:absolute;left:0;bottom:-4px;color:green;pointer-events:none}.no-resizer::-webkit-resizer{display:none}.no-resizer::-moz-resizer{display:none}.no-resizer::-ms-resizer{display:none}\n", ".input-container{position:relative;display:flex;align-items:center}.input-container .input-field{padding:8px 12px 8px 30px;color:#000;height:var(--atom-input-height)}.input-field{border:1px solid var(--inactive-border-color);padding:var(--button-padding-size);border-radius:var(--border-radius);font-size:var(--standard-font-size);box-shadow:0 0 var(--box-shadow-blur) #00000029!important}.input-field:hover{border-color:var(--icons-color-light-2)}.input-field:focus{outline:none;border-color:var(--icons-color-light-1);box-shadow:0 0 5px var(--icons-color-light-1)}.input-field::placeholder{color:var(--disabled-text-color)}span{justify-content:center;display:flex}img{height:16px}.right{justify-content:right}.error-input,.error-input:focus{border-color:var(--error-color)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$
|
|
5195
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: HerumTextAreaComponent, isStandalone: false, selector: "herum-text-area", inputs: { placeholder: "placeholder", disabled: "disabled", formControlName: "formControlName", isValid: "isValid", isLoading: "isLoading", errorMsg: "errorMsg", showErrorMsgGap: "showErrorMsgGap", id: "id", preventMacroKeysPressEvent: "preventMacroKeysPressEvent", heightMode: "heightMode", fontSize: "fontSize", inputValue: "inputValue", maxLength: "maxLength" }, outputs: { inputValueEmitter: "inputValueEmitter" }, host: { listeners: { "keypress": "onKeyPress($event)" } }, providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR], viewQueries: [{ propertyName: "textarea", first: true, predicate: ["textarea"], descendants: true }], ngImport: i0, template: "<div class=\"input-container custom-resizer\" [ngClass]=\"heightMode\">\r\n <textarea #textarea class=\"input-field no-resizer min-height-input w-100\"\r\n [ngClass]=\"{'error-input':!isValid && touched && isBlurred}\" [placeholder]=\"placeholder\" [disabled]=\"disabled\" [maxlength]=\"maxLength\"\r\n [(ngModel)]=\"inputValue\" [id]=\"id ? id : formControlName\"\r\n [attr.prevent-macro-keys-press-event]=\"preventMacroKeysPressEvent\" (ngModelChange)=\"_onInput($event)\"\r\n (blur)=\"setBlurred()\">\r\n </textarea>\r\n\r\n <span class=\"icon clickable\" *ngIf=\"inputValue && !disabled && !isLoading\" (click)=\"_onClearTextArea()\">\r\n <span class=\"small-icon\" [innerHTML]=\"xSvg | safeHtml\"></span>\r\n </span>\r\n\r\n <herum-spinner class=\"small-icon\" *ngIf=\"isLoading\"></herum-spinner>\r\n</div>\r\n\r\n<ng-container *ngIf=\"!isValid && touched && isBlurred\">\r\n <label class=\"error-msg right\" *ngIf=\"showErrorMsgGap\">\r\n {{ errorMsg }}\r\n </label>\r\n</ng-container>", styles: [":host{--atom-input-height: 60px}.max{height:100%}.max textarea{height:100%!important}textarea{color:var(--text-color)}.min-height-input{min-height:var(--atom-input-height)}.small-icon{position:absolute;cursor:pointer;height:9px;top:16px;left:16px;fill:var(--icons-color)}.custom-resizer{position:relative}.custom-resizer:before{content:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"9.914\" height=\"9.414\" viewBox=\"0 0 9.914 9.414\">%0D%0A <g id=\"Group_955\" data-name=\"Group 955\" transform=\"translate(-1485.894 -372.793)\">%0D%0A <line id=\"Line_326\" data-name=\"Line 326\" x2=\"5\" y2=\"5\" transform=\"translate(1486.602 376.5)\" fill=\"none\" stroke=\"%237897a8\" stroke-linecap=\"round\" stroke-width=\"1\"/>%0D%0A <line id=\"Line_327\" data-name=\"Line 327\" x2=\"8\" y2=\"8\" transform=\"translate(1487.102 373.5)\" fill=\"none\" stroke=\"%237897a8\" stroke-linecap=\"round\" stroke-width=\"1\"/>%0D%0A </g>%0D%0A</svg>%0D%0A');position:absolute;left:0;bottom:-4px;color:green;pointer-events:none}.no-resizer::-webkit-resizer{display:none}.no-resizer::-moz-resizer{display:none}.no-resizer::-ms-resizer{display:none}\n", ".input-container{position:relative;display:flex;align-items:center}.input-container .input-field{padding:8px 12px 8px 30px;color:#000;height:var(--atom-input-height)}.input-field{border:1px solid var(--inactive-border-color);padding:var(--button-padding-size);border-radius:var(--border-radius);font-size:var(--standard-font-size);box-shadow:0 0 var(--box-shadow-blur) #00000029!important}.input-field:hover{border-color:var(--icons-color-light-2)}.input-field:focus{outline:none;border-color:var(--icons-color-light-1);box-shadow:0 0 5px var(--icons-color-light-1)}.input-field::placeholder{color:var(--disabled-text-color)}span{justify-content:center;display:flex}img{height:16px}.right{justify-content:right}.error-input,.error-input:focus{border-color:var(--error-color)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: HerumSpinnerComponent, selector: "herum-spinner", inputs: ["size", "borderColor", "borderWidth", "borderTopColor", "shape"] }, { kind: "pipe", type: i4$1.SafeHtmlPipe, name: "safeHtml" }] });
|
|
5249
5196
|
}
|
|
5250
5197
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: HerumTextAreaComponent, decorators: [{
|
|
5251
5198
|
type: Component,
|
|
@@ -6089,7 +6036,7 @@ class TrackTextChangesComponent {
|
|
|
6089
6036
|
this.removeEventListenerFromMarkersAndTooltips();
|
|
6090
6037
|
}
|
|
6091
6038
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: TrackTextChangesComponent, deps: [{ token: i1$2.TrackTextChangesService }], target: i0.ɵɵFactoryTarget.Component });
|
|
6092
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: TrackTextChangesComponent, isStandalone: false, selector: "track-text-changes", inputs: { changes: "changes", selectedChange: "selectedChange", currentUser: "currentUser", baseContent: "baseContent", isReadOnly: "isReadOnly", fontSize: "fontSize", showComments: "showComments" }, outputs: { changesEmitter: "changesEmitter" }, viewQueries: [{ propertyName: "editor", first: true, predicate: ["editor"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div id=\"editor-container\" class=\"editor-container\" dir=\"rtl\" [ngClass]=\"{'editor-container-with-grid':showComments}\">\r\n <div #editor class=\"text-editor\" [attr.contenteditable]=\"!isReadOnly\" (keydown)=\"_onKeyDown($event)\"\r\n (mouseup)=\"_onTextSelection()\" (drop)=\"_onDropTextSelection($event)\">\r\n </div>\r\n\r\n <div *ngIf=\"showComments\" class=\"comments-panel\">\r\n <h3>\u05D4\u05E2\u05E8\u05D5\u05EA:</h3>\r\n <div *ngFor=\"let change of changes\">\r\n <div class=\"comment\">\r\n <div class=\"comment-header align-items-center\">\r\n <strong><img [src]=\"change?.creatingUser?.pictureUrl\">{{ change?.creatingUser?.firstName + ' ' +\r\n change?.creatingUser?.lastName }}</strong>\r\n <span>{{ change.timestamp | date:'dd/MM/yy' }}</span>\r\n </div>\r\n\r\n <p #commentRef class=\"reference-text\" appHerumToolTip\r\n [matTooltip]=\"_isTruncatedElement(commentRef) ? change.note : ''\">\r\n <img src=\"assets/shared/trackChanges/text-reference.svg\">\r\n {{ change.note| ellipsis:commentRef }}\r\n </p>\r\n\r\n <div class=\"d-flex flex-cloumn justify-content-between w-100\">\r\n <span class=\"d-flex gap-3 align-items-center w-100\">\r\n\r\n <p class=\"comment-text m-0\">\r\n {{ change.commentText }}\r\n </p>\r\n </span>\r\n\r\n <button class=\"cancel-deletion\" (click)=\"deleteChange(change)\" *ngIf=\"!isReadOnly\">\r\n <img src=\"assets/shared/trackChanges/trash.svg\">\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"showTooltip && !isReadOnly\" class=\"comment-tooltip\" [style.top.px]=\"tooltipPosition.top\"\r\n [style.left.px]=\"tooltipPosition.left\">\r\n <button (click)=\"openCommentBox()\">\r\n <span class=\"icon\" [innerHTML]=\"messagePlusIconSvgString | safeHtml\"></span>\r\n \u05D4\u05D5\u05E1\u05E3 \u05D4\u05E2\u05E8\u05D4\r\n </button>\r\n </div>\r\n\r\n\r\n <div *ngIf=\"showNotAllowedActionTooltip && !isReadOnly\" class=\"comment-tooltip\"\r\n [style.top.px]=\"showNotAllowedActionTooltipPosition.top\" [style.left.px]=\"showNotAllowedActionTooltipPosition.left\">\r\n <span>\r\n <span class=\"icon\" [innerHTML]=\"informationIconSvgString | safeHtml\"></span>\r\n \u05DC\u05D0 \u05E0\u05D9\u05EA\u05DF \u05DC\u05D1\u05E6\u05E2 \u05E4\u05E2\u05D5\u05DC\u05D4 \u05E2\u05DC \u05D4\u05E2\u05E8\u05D4 \u05E7\u05D9\u05D9\u05DE\u05EA\r\n </span>\r\n </div>\r\n\r\n <div *ngIf=\"showCommentBox && !isReadOnly\" class=\"comment-box\" [style.top.px]=\"commentBoxPosition.top\"\r\n [style.left.px]=\"commentBoxPosition.left\">\r\n <herum-text-area [(ngModel)]=\"newCommentText\" placeholder=\"\u05D4\u05D5\u05E1\u05E3 \u05D4\u05E2\u05E8\u05D4\">\r\n </herum-text-area>\r\n\r\n <div class=\"comment-actions\">\r\n <button class=\"cancel\" (click)=\"cancelComment()\">\u05D1\u05D8\u05DC</button>\r\n <button class=\"save\" (click)=\"saveComment()\">\u05D4\u05D5\u05E1\u05E3 \u05D4\u05E2\u05E8\u05D4</button>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"editCommentBox && !isReadOnly\" class=\"comment-box\" [style.top.px]=\"commentBoxPosition.top\"\r\n [style.left.px]=\"commentBoxPosition.left\">\r\n <herum-text-area [(ngModel)]=\"newCommentText\" placeholder=\"\u05D4\u05D5\u05E1\u05E3 \u05D4\u05E2\u05E8\u05D4\">\r\n </herum-text-area>\r\n\r\n <div class=\"comment-actions\">\r\n <button class=\"cancel\" (click)=\"cancelComment()\">\u05D1\u05D8\u05DC</button>\r\n <button class=\"save\" (click)=\"saveComment()\">\u05E9\u05DE\u05D5\u05E8</button>\r\n </div>\r\n </div>\r\n</div>", styles: [":host{height:100%}.editor-container{padding:0 20px 20px;height:100%}.editor-container-with-grid{display:grid;grid-template-columns:2fr 1fr;gap:20px}.text-editor{border:1px solid #ccc;padding:10px;min-height:300px;line-height:1.5;position:relative;border-radius:8px;white-space:pre-wrap;width:90%;overflow-y:auto}.text-editor *{font-size:inherit}::selection{background-color:var(--hover-background);box-shadow:0 0 0 1px var(--hover-background)}.text-editor del{color:red;text-decoration:line-through;background-color:#ffd7d7;border-radius:8px}.text-editor ins{color:#00f;text-decoration:none;border-radius:4px}.comment-marker{background-color:var(--dark-hover-background);border-radius:4px;width:100%}.comments-panel{overflow-y:auto;padding:10px;width:100%;height:100%}.comment{margin-bottom:10px;padding:10px;background-color:#f5f5f5;border-radius:4px;position:relative;width:100%}.comment .comment-text{width:90%;word-break:break-word}.comment-header{display:flex;justify-content:space-between;margin-bottom:8px}.comment-header strong img{margin-left:4px;width:24px;height:24px;border-radius:50%}.toolbar{grid-column:1/-1;padding:10px 0}.comment-tooltip{position:fixed;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0003;z-index:1000;padding:6px 12px}.comment-tooltip .icon{stroke:var(--icons-color)}.comment-tooltip button{background:#fff;color:#1a2d4c;border:none;border-radius:8px;cursor:pointer}.reference-text{opacity:.7}.comment-view-container{width:250px;display:flex;flex-direction:row;justify-content:space-between}.comment-box{display:flex;gap:12px;flex-direction:column;position:fixed;background:#fff;border-radius:8px;padding:10px;box-shadow:0 2px 8px #0003;z-index:1000;width:250px}.comment-box textarea{width:100%;min-height:100px;padding:8px;border:1px solid #ddd;border-radius:8px}.cancel-deletion{background:transparent;color:#fff;border:none;border-radius:4px;padding-inline:4px 0px}.comment-actions{display:flex;gap:10px;justify-content:space-between}.comment-actions .save{background:var(--icons-color);color:#fff;border:none}.comment-actions .cancel{color:var(--icons-color);background:none;border:none}.comment-actions button{padding:6px 12px;border-radius:4px;cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$
|
|
6039
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: TrackTextChangesComponent, isStandalone: false, selector: "track-text-changes", inputs: { changes: "changes", selectedChange: "selectedChange", currentUser: "currentUser", baseContent: "baseContent", isReadOnly: "isReadOnly", fontSize: "fontSize", showComments: "showComments" }, outputs: { changesEmitter: "changesEmitter" }, viewQueries: [{ propertyName: "editor", first: true, predicate: ["editor"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div id=\"editor-container\" class=\"editor-container\" dir=\"rtl\" [ngClass]=\"{'editor-container-with-grid':showComments}\">\r\n <div #editor class=\"text-editor\" [attr.contenteditable]=\"!isReadOnly\" (keydown)=\"_onKeyDown($event)\"\r\n (mouseup)=\"_onTextSelection()\" (drop)=\"_onDropTextSelection($event)\">\r\n </div>\r\n\r\n <div *ngIf=\"showComments\" class=\"comments-panel\">\r\n <h3>\u05D4\u05E2\u05E8\u05D5\u05EA:</h3>\r\n <div *ngFor=\"let change of changes\">\r\n <div class=\"comment\">\r\n <div class=\"comment-header align-items-center\">\r\n <strong><img [src]=\"change?.creatingUser?.pictureUrl\">{{ change?.creatingUser?.firstName + ' ' +\r\n change?.creatingUser?.lastName }}</strong>\r\n <span>{{ change.timestamp | date:'dd/MM/yy' }}</span>\r\n </div>\r\n\r\n <p #commentRef class=\"reference-text\" appHerumToolTip\r\n [matTooltip]=\"_isTruncatedElement(commentRef) ? change.note : ''\">\r\n <img src=\"assets/shared/trackChanges/text-reference.svg\">\r\n {{ change.note| ellipsis:commentRef }}\r\n </p>\r\n\r\n <div class=\"d-flex flex-cloumn justify-content-between w-100\">\r\n <span class=\"d-flex gap-3 align-items-center w-100\">\r\n\r\n <p class=\"comment-text m-0\">\r\n {{ change.commentText }}\r\n </p>\r\n </span>\r\n\r\n <button class=\"cancel-deletion\" (click)=\"deleteChange(change)\" *ngIf=\"!isReadOnly\">\r\n <img src=\"assets/shared/trackChanges/trash.svg\">\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"showTooltip && !isReadOnly\" class=\"comment-tooltip\" [style.top.px]=\"tooltipPosition.top\"\r\n [style.left.px]=\"tooltipPosition.left\">\r\n <button (click)=\"openCommentBox()\">\r\n <span class=\"icon\" [innerHTML]=\"messagePlusIconSvgString | safeHtml\"></span>\r\n \u05D4\u05D5\u05E1\u05E3 \u05D4\u05E2\u05E8\u05D4\r\n </button>\r\n </div>\r\n\r\n\r\n <div *ngIf=\"showNotAllowedActionTooltip && !isReadOnly\" class=\"comment-tooltip\"\r\n [style.top.px]=\"showNotAllowedActionTooltipPosition.top\" [style.left.px]=\"showNotAllowedActionTooltipPosition.left\">\r\n <span>\r\n <span class=\"icon\" [innerHTML]=\"informationIconSvgString | safeHtml\"></span>\r\n \u05DC\u05D0 \u05E0\u05D9\u05EA\u05DF \u05DC\u05D1\u05E6\u05E2 \u05E4\u05E2\u05D5\u05DC\u05D4 \u05E2\u05DC \u05D4\u05E2\u05E8\u05D4 \u05E7\u05D9\u05D9\u05DE\u05EA\r\n </span>\r\n </div>\r\n\r\n <div *ngIf=\"showCommentBox && !isReadOnly\" class=\"comment-box\" [style.top.px]=\"commentBoxPosition.top\"\r\n [style.left.px]=\"commentBoxPosition.left\">\r\n <herum-text-area [(ngModel)]=\"newCommentText\" placeholder=\"\u05D4\u05D5\u05E1\u05E3 \u05D4\u05E2\u05E8\u05D4\">\r\n </herum-text-area>\r\n\r\n <div class=\"comment-actions\">\r\n <button class=\"cancel\" (click)=\"cancelComment()\">\u05D1\u05D8\u05DC</button>\r\n <button class=\"save\" (click)=\"saveComment()\">\u05D4\u05D5\u05E1\u05E3 \u05D4\u05E2\u05E8\u05D4</button>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"editCommentBox && !isReadOnly\" class=\"comment-box\" [style.top.px]=\"commentBoxPosition.top\"\r\n [style.left.px]=\"commentBoxPosition.left\">\r\n <herum-text-area [(ngModel)]=\"newCommentText\" placeholder=\"\u05D4\u05D5\u05E1\u05E3 \u05D4\u05E2\u05E8\u05D4\">\r\n </herum-text-area>\r\n\r\n <div class=\"comment-actions\">\r\n <button class=\"cancel\" (click)=\"cancelComment()\">\u05D1\u05D8\u05DC</button>\r\n <button class=\"save\" (click)=\"saveComment()\">\u05E9\u05DE\u05D5\u05E8</button>\r\n </div>\r\n </div>\r\n</div>", styles: [":host{height:100%}.editor-container{padding:0 20px 20px;height:100%}.editor-container-with-grid{display:grid;grid-template-columns:2fr 1fr;gap:20px}.text-editor{border:1px solid #ccc;padding:10px;min-height:300px;line-height:1.5;position:relative;border-radius:8px;white-space:pre-wrap;width:90%;overflow-y:auto}.text-editor *{font-size:inherit}::selection{background-color:var(--hover-background);box-shadow:0 0 0 1px var(--hover-background)}.text-editor del{color:red;text-decoration:line-through;background-color:#ffd7d7;border-radius:8px}.text-editor ins{color:#00f;text-decoration:none;border-radius:4px}.comment-marker{background-color:var(--dark-hover-background);border-radius:4px;width:100%}.comments-panel{overflow-y:auto;padding:10px;width:100%;height:100%}.comment{margin-bottom:10px;padding:10px;background-color:#f5f5f5;border-radius:4px;position:relative;width:100%}.comment .comment-text{width:90%;word-break:break-word}.comment-header{display:flex;justify-content:space-between;margin-bottom:8px}.comment-header strong img{margin-left:4px;width:24px;height:24px;border-radius:50%}.toolbar{grid-column:1/-1;padding:10px 0}.comment-tooltip{position:fixed;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0003;z-index:1000;padding:6px 12px}.comment-tooltip .icon{stroke:var(--icons-color)}.comment-tooltip button{background:#fff;color:#1a2d4c;border:none;border-radius:8px;cursor:pointer}.reference-text{opacity:.7}.comment-view-container{width:250px;display:flex;flex-direction:row;justify-content:space-between}.comment-box{display:flex;gap:12px;flex-direction:column;position:fixed;background:#fff;border-radius:8px;padding:10px;box-shadow:0 2px 8px #0003;z-index:1000;width:250px}.comment-box textarea{width:100%;min-height:100px;padding:8px;border:1px solid #ddd;border-radius:8px}.cancel-deletion{background:transparent;color:#fff;border:none;border-radius:4px;padding-inline:4px 0px}.comment-actions{display:flex;gap:10px;justify-content:space-between}.comment-actions .save{background:var(--icons-color);color:#fff;border:none}.comment-actions .cancel{color:var(--icons-color);background:none;border:none}.comment-actions button{padding:6px 12px;border-radius:4px;cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "directive", type: i2$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: HerumToolTipDirective, selector: "[appHerumToolTip]", inputs: ["tooltipText"] }, { kind: "component", type: HerumTextAreaComponent, selector: "herum-text-area", inputs: ["placeholder", "disabled", "formControlName", "isValid", "isLoading", "errorMsg", "showErrorMsgGap", "id", "preventMacroKeysPressEvent", "heightMode", "fontSize", "inputValue", "maxLength"], outputs: ["inputValueEmitter"] }, { kind: "pipe", type: i1.DatePipe, name: "date" }, { kind: "pipe", type: SafeHtmlPipe, name: "safeHtml" }, { kind: "pipe", type: EllipsisPipe, name: "ellipsis" }], encapsulation: i0.ViewEncapsulation.None });
|
|
6093
6040
|
}
|
|
6094
6041
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: TrackTextChangesComponent, decorators: [{
|
|
6095
6042
|
type: Component,
|
|
@@ -6176,7 +6123,7 @@ class QuizOpenAnswerQuestionComponent {
|
|
|
6176
6123
|
this.destroySubject$.complete();
|
|
6177
6124
|
}
|
|
6178
6125
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: QuizOpenAnswerQuestionComponent, deps: [{ token: AnswerNotesToTextChangesPipe }], target: i0.ɵɵFactoryTarget.Component });
|
|
6179
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: QuizOpenAnswerQuestionComponent, isStandalone: false, selector: "quiz-open-answer-question", inputs: { previewMode: "previewMode", question: "question", userQuestion: "userQuestion", areAnswersRevealed: "areAnswersRevealed", areAnswersBlocked: "areAnswersBlocked", isCheckingMode: "isCheckingMode", selectedTextChange: "selectedTextChange" }, outputs: { freeTextCorrectAnswerChange: "freeTextCorrectAnswerChange", notesChange: "notesChange" }, usesOnChanges: true, ngImport: i0, template: "<span class=\"answer-title\">{{ isCheckingMode ? '\u05EA\u05E9\u05D5\u05D1\u05EA \u05D4\u05D7\u05E0\u05D9\u05DA' : '\u05DB\u05EA\u05D5\u05D1 \u05EA\u05E9\u05D5\u05D1\u05EA\u05DA' }}\r\n <span *ngIf=\"!isCheckingMode && question?.charactersLimit > 0\">\r\n (\u05E2\u05D3 {{ question?.charactersLimit }} \u05EA\u05D5\u05D5\u05D9\u05DD)\r\n </span>\r\n</span>\r\n\r\n<herum-text-area *ngIf=\"!areAnswersRevealed && !isCheckingMode\" [disabled]=\"previewMode || areAnswersBlocked\"\r\n [maxLength]=\"question?.charactersLimit\" [formControl]=\"freeTextCorrectAnswerControl\" heightMode=\"max\">\r\n</herum-text-area>\r\n\r\n<track-text-changes *ngIf=\"isCheckingMode || areAnswersRevealed\"\r\n [isReadOnly]=\"areAnswersRevealed && !isCheckingMode || !isCheckingMode\" [fontSize]=\"14\"\r\n [selectedChange]=\"selectedTextChange\" [showComments]=\"false\" [baseContent]=\"freeTextCorrectAnswerControl.value\"\r\n [changes]=\"notes\" (changesEmitter)=\"_notesChange($event)\">\r\n</track-text-changes>", styles: [".answer-title{font-size:14px;margin-block-end:8px}herum-text-area,track-text-changes{height:100%;width:100%}::ng-deep track-text-changes .editor-container{padding:0}::ng-deep track-text-changes .text-editor{min-height:180px;height:100%;width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$
|
|
6126
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: QuizOpenAnswerQuestionComponent, isStandalone: false, selector: "quiz-open-answer-question", inputs: { previewMode: "previewMode", question: "question", userQuestion: "userQuestion", areAnswersRevealed: "areAnswersRevealed", areAnswersBlocked: "areAnswersBlocked", isCheckingMode: "isCheckingMode", selectedTextChange: "selectedTextChange" }, outputs: { freeTextCorrectAnswerChange: "freeTextCorrectAnswerChange", notesChange: "notesChange" }, usesOnChanges: true, ngImport: i0, template: "<span class=\"answer-title\">{{ isCheckingMode ? '\u05EA\u05E9\u05D5\u05D1\u05EA \u05D4\u05D7\u05E0\u05D9\u05DA' : '\u05DB\u05EA\u05D5\u05D1 \u05EA\u05E9\u05D5\u05D1\u05EA\u05DA' }}\r\n <span *ngIf=\"!isCheckingMode && question?.charactersLimit > 0\">\r\n (\u05E2\u05D3 {{ question?.charactersLimit }} \u05EA\u05D5\u05D5\u05D9\u05DD)\r\n </span>\r\n</span>\r\n\r\n<herum-text-area *ngIf=\"!areAnswersRevealed && !isCheckingMode\" [disabled]=\"previewMode || areAnswersBlocked\"\r\n [maxLength]=\"question?.charactersLimit\" [formControl]=\"freeTextCorrectAnswerControl\" heightMode=\"max\">\r\n</herum-text-area>\r\n\r\n<track-text-changes *ngIf=\"isCheckingMode || areAnswersRevealed\"\r\n [isReadOnly]=\"areAnswersRevealed && !isCheckingMode || !isCheckingMode\" [fontSize]=\"14\"\r\n [selectedChange]=\"selectedTextChange\" [showComments]=\"false\" [baseContent]=\"freeTextCorrectAnswerControl.value\"\r\n [changes]=\"notes\" (changesEmitter)=\"_notesChange($event)\">\r\n</track-text-changes>", styles: [".answer-title{font-size:14px;margin-block-end:8px}herum-text-area,track-text-changes{height:100%;width:100%}::ng-deep track-text-changes .editor-container{padding:0}::ng-deep track-text-changes .text-editor{min-height:180px;height:100%;width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: HerumTextAreaComponent, selector: "herum-text-area", inputs: ["placeholder", "disabled", "formControlName", "isValid", "isLoading", "errorMsg", "showErrorMsgGap", "id", "preventMacroKeysPressEvent", "heightMode", "fontSize", "inputValue", "maxLength"], outputs: ["inputValueEmitter"] }, { kind: "component", type: TrackTextChangesComponent, selector: "track-text-changes", inputs: ["changes", "selectedChange", "currentUser", "baseContent", "isReadOnly", "fontSize", "showComments"], outputs: ["changesEmitter"] }] });
|
|
6180
6127
|
}
|
|
6181
6128
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: QuizOpenAnswerQuestionComponent, decorators: [{
|
|
6182
6129
|
type: Component,
|
|
@@ -6255,6 +6202,94 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
|
|
|
6255
6202
|
args: ['herumHighlight']
|
|
6256
6203
|
}] } });
|
|
6257
6204
|
|
|
6205
|
+
const iconDefaultColor = '#7897a8';
|
|
6206
|
+
const attribute = 'stroke';
|
|
6207
|
+
const pathSelector = 'path';
|
|
6208
|
+
const svgSelector = 'svg';
|
|
6209
|
+
class SvgOnHoverDirective {
|
|
6210
|
+
element;
|
|
6211
|
+
iconHoverColor;
|
|
6212
|
+
onMouseEnter() {
|
|
6213
|
+
if (!this.iconHoverColor)
|
|
6214
|
+
this.iconHoverColor = window.getComputedStyle(document.body).getPropertyValue('--icons-color');
|
|
6215
|
+
if (this.element.nativeElement.querySelector(svgSelector)?.querySelectorAll(pathSelector).length === 1)
|
|
6216
|
+
this.setElementAttribute(this.iconHoverColor);
|
|
6217
|
+
else
|
|
6218
|
+
;
|
|
6219
|
+
this.setElementsAttribute(this.iconHoverColor);
|
|
6220
|
+
}
|
|
6221
|
+
onMouseLeave() {
|
|
6222
|
+
if (this.element.nativeElement.querySelector(svgSelector)?.querySelectorAll(pathSelector).length === 1)
|
|
6223
|
+
this.setElementAttribute(iconDefaultColor);
|
|
6224
|
+
else
|
|
6225
|
+
this.setElementsAttribute(iconDefaultColor);
|
|
6226
|
+
}
|
|
6227
|
+
stroke;
|
|
6228
|
+
constructor(element) {
|
|
6229
|
+
this.element = element;
|
|
6230
|
+
}
|
|
6231
|
+
setElementAttribute(color) {
|
|
6232
|
+
const element = this.element.nativeElement.querySelector(svgSelector)?.querySelector(pathSelector);
|
|
6233
|
+
element?.setAttribute(attribute, color);
|
|
6234
|
+
}
|
|
6235
|
+
setElementsAttribute(color) {
|
|
6236
|
+
const elements = this.element.nativeElement.querySelector(svgSelector)?.querySelectorAll(pathSelector);
|
|
6237
|
+
elements?.forEach(element => element.setAttribute(attribute, color));
|
|
6238
|
+
}
|
|
6239
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: SvgOnHoverDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
6240
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.17", type: SvgOnHoverDirective, isStandalone: false, selector: "[svgOnHover]", inputs: { iconHoverColor: ["svgOnHover", "iconHoverColor"] }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()" }, properties: { "stroke": "this.stroke" } }, ngImport: i0 });
|
|
6241
|
+
}
|
|
6242
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: SvgOnHoverDirective, decorators: [{
|
|
6243
|
+
type: Directive,
|
|
6244
|
+
args: [{
|
|
6245
|
+
standalone: false,
|
|
6246
|
+
selector: '[svgOnHover]'
|
|
6247
|
+
}]
|
|
6248
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { iconHoverColor: [{
|
|
6249
|
+
type: Input,
|
|
6250
|
+
args: ['svgOnHover']
|
|
6251
|
+
}], onMouseEnter: [{
|
|
6252
|
+
type: HostListener,
|
|
6253
|
+
args: ['mouseenter']
|
|
6254
|
+
}], onMouseLeave: [{
|
|
6255
|
+
type: HostListener,
|
|
6256
|
+
args: ['mouseleave']
|
|
6257
|
+
}], stroke: [{
|
|
6258
|
+
type: HostBinding
|
|
6259
|
+
}] } });
|
|
6260
|
+
|
|
6261
|
+
class DirectivesModule {
|
|
6262
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: DirectivesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
6263
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.17", ngImport: i0, type: DirectivesModule, declarations: [HerumHighlightDirective,
|
|
6264
|
+
HerumToolTipDirective,
|
|
6265
|
+
SvgOnHoverDirective,
|
|
6266
|
+
UserActionDirective], imports: [CommonModule], exports: [HerumHighlightDirective,
|
|
6267
|
+
HerumToolTipDirective,
|
|
6268
|
+
SvgOnHoverDirective,
|
|
6269
|
+
UserActionDirective] });
|
|
6270
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: DirectivesModule, imports: [CommonModule] });
|
|
6271
|
+
}
|
|
6272
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: DirectivesModule, decorators: [{
|
|
6273
|
+
type: NgModule,
|
|
6274
|
+
args: [{
|
|
6275
|
+
declarations: [
|
|
6276
|
+
HerumHighlightDirective,
|
|
6277
|
+
HerumToolTipDirective,
|
|
6278
|
+
SvgOnHoverDirective,
|
|
6279
|
+
UserActionDirective,
|
|
6280
|
+
],
|
|
6281
|
+
exports: [
|
|
6282
|
+
HerumHighlightDirective,
|
|
6283
|
+
HerumToolTipDirective,
|
|
6284
|
+
SvgOnHoverDirective,
|
|
6285
|
+
UserActionDirective,
|
|
6286
|
+
],
|
|
6287
|
+
imports: [
|
|
6288
|
+
CommonModule,
|
|
6289
|
+
],
|
|
6290
|
+
}]
|
|
6291
|
+
}] });
|
|
6292
|
+
|
|
6258
6293
|
class InsuranceDialogComponent {
|
|
6259
6294
|
dialogRef;
|
|
6260
6295
|
data;
|
|
@@ -6282,7 +6317,7 @@ class InsuranceDialogComponent {
|
|
|
6282
6317
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: InsuranceDialogComponent, decorators: [{
|
|
6283
6318
|
type: Component,
|
|
6284
6319
|
args: [{ standalone: false, selector: 'app-insurance-dialog', template: "<div class=\"dialog-container cubes-background\" [class]=\"systemIdentifier\">\r\n <div class=\"title-container\">\r\n <img class=\"warning-icon\" *ngIf=\"isWarning\" src=\"assets/hadracha/general/warningDialog.svg\" alt=\"close-icon\">\r\n <p class=\"section-title\">{{data.title}}</p>\r\n <img class=\"close-button\" src=\"assets/shared/icons/secondary-x.svg\" alt=\"close-icon\" (click)=\"_onClose()\">\r\n </div>\r\n\r\n <p class=\"description\">{{ data.description }}</p>\r\n\r\n <p *ngIf=\"data.note\" class=\"note\">{{ data.note }}</p>\r\n\r\n <div class=\"dialog-buttons-actions-container\" *ngIf=\"!!data.submitActionButton\">\r\n <herum-button (click)=\"_onClose()\" [type]=\"'ghost'\">{{ data.closeActionButton ?? '\u05D1\u05D8\u05DC' }}</herum-button>\r\n <herum-button [color]=\"isWarning ? 'error' : 'regular'\" (click)=\"_onSubmit()\">{{ data.submitActionButton }}</herum-button>\r\n </div>\r\n</div>", styles: [".dialog-container{background-size:auto}.dialog-container .title-container{position:relative;flex-direction:column}.dialog-container .title-container .close-button{position:absolute;top:12px;left:12px}.dialog-container .note{font-weight:700}.warning-icon{height:44px;margin-bottom:24px}\n", ".dialog-container,form{display:flex;flex-direction:column;gap:16px;position:relative;padding:16px;max-height:80vh;width:30vw}.title{font-size:18px;font-weight:600}.description{font-size:14px}p{margin:0}.dialog-buttons-actions-container{width:100%;justify-content:flex-end;gap:16px;display:flex;flex-direction:row}.close-dialog{position:absolute;top:20px;left:20px}.title-container{display:flex;align-items:center;justify-content:space-between}.close-button{cursor:pointer;height:11px}\n"] }]
|
|
6285
|
-
}], ctorParameters: () => [{ type: i1$6.MatDialogRef }, { type: i1$
|
|
6320
|
+
}], ctorParameters: () => [{ type: i1$6.MatDialogRef }, { type: i1$4.DialogConfig, decorators: [{
|
|
6286
6321
|
type: Inject,
|
|
6287
6322
|
args: [MAT_DIALOG_DATA]
|
|
6288
6323
|
}] }, { type: undefined, decorators: [{
|
|
@@ -6462,7 +6497,7 @@ class HerumChipComponent {
|
|
|
6462
6497
|
return this.title?.includes(splitKey);
|
|
6463
6498
|
}
|
|
6464
6499
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: HerumChipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6465
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: HerumChipComponent, isStandalone: false, selector: "herum-chip", inputs: { title: "title", isDeleteButtonNeeded: "isDeleteButtonNeeded", isActive: "isActive", isMenuMode: "isMenuMode", type: "type" }, outputs: { remove: "remove", chipsActivation: "chipsActivation" }, ngImport: i0, template: "<div class=\"herum-chip-container\" [class]=\"type\" [ngClass]=\"{'active':isActive, 'menu-chip':isMenuMode}\" (click)=\"_onChipsSelect()\"\r\n dir=\"rtl\">\r\n\r\n <ng-container *ngIf=\"isTitleToBeSplitted; else defaultTitle\">\r\n <span [innerHTML]=\"splittedTitle | safeHtml\"></span>\r\n </ng-container>\r\n\r\n <ng-template #defaultTitle>{{title}}</ng-template>\r\n\r\n <img *ngIf=\"isDeleteButtonNeeded\" src=\"../../assets/general/secondary-x.svg\" (click)=\"_onRemove()\">\r\n</div>", styles: [".herum-chip-container{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;align-content:center;width:fit-content;gap:5px;padding:0 5px;background-color:transparent;color:var(--secondary-color);border:1px solid var(--secondary-color);border-radius:32px;box-shadow:0 0 6px #61606029}.herum-chip-container:hover{background-color:var(--hover-background)}.active{background-color:var(--secondary-color);color:#fff}.active:hover{background-color:var(--darker-secondary-color);color:#fff}.positive,.negative{color:var(--icons-color);border:1px solid var(--icons-color)}.menu-chip{cursor:pointer;font-size:12px;height:24px;text-align:center;justify-content:center;display:flex;padding:0 7px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "pipe", type: i4.SafeHtmlPipe, name: "safeHtml" }] });
|
|
6500
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: HerumChipComponent, isStandalone: false, selector: "herum-chip", inputs: { title: "title", isDeleteButtonNeeded: "isDeleteButtonNeeded", isActive: "isActive", isMenuMode: "isMenuMode", type: "type" }, outputs: { remove: "remove", chipsActivation: "chipsActivation" }, ngImport: i0, template: "<div class=\"herum-chip-container\" [class]=\"type\" [ngClass]=\"{'active':isActive, 'menu-chip':isMenuMode}\" (click)=\"_onChipsSelect()\"\r\n dir=\"rtl\">\r\n\r\n <ng-container *ngIf=\"isTitleToBeSplitted; else defaultTitle\">\r\n <span [innerHTML]=\"splittedTitle | safeHtml\"></span>\r\n </ng-container>\r\n\r\n <ng-template #defaultTitle>{{title}}</ng-template>\r\n\r\n <img *ngIf=\"isDeleteButtonNeeded\" src=\"../../assets/general/secondary-x.svg\" (click)=\"_onRemove()\">\r\n</div>", styles: [".herum-chip-container{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;align-content:center;width:fit-content;gap:5px;padding:0 5px;background-color:transparent;color:var(--secondary-color);border:1px solid var(--secondary-color);border-radius:32px;box-shadow:0 0 6px #61606029}.herum-chip-container:hover{background-color:var(--hover-background)}.active{background-color:var(--secondary-color);color:#fff}.active:hover{background-color:var(--darker-secondary-color);color:#fff}.positive,.negative{color:var(--icons-color);border:1px solid var(--icons-color)}.menu-chip{cursor:pointer;font-size:12px;height:24px;text-align:center;justify-content:center;display:flex;padding:0 7px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "pipe", type: i4$1.SafeHtmlPipe, name: "safeHtml" }] });
|
|
6466
6501
|
}
|
|
6467
6502
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: HerumChipComponent, decorators: [{
|
|
6468
6503
|
type: Component,
|
|
@@ -6664,7 +6699,7 @@ class HerumDownloadFileComponent {
|
|
|
6664
6699
|
return svgsStrings.downloadFile;
|
|
6665
6700
|
}
|
|
6666
6701
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: HerumDownloadFileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6667
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: HerumDownloadFileComponent, isStandalone: false, selector: "herum-download-file", inputs: { fileId: "fileId", filePath: "filePath", linkText: "linkText" }, outputs: { downloadFile: "downloadFile" }, viewQueries: [{ propertyName: "downloadFileElement", first: true, predicate: ["downloadFile"], descendants: true }], ngImport: i0, template: "<a #downloadFile class=\"download-file\" (click)=\"_onDownloadFile(fileId)\">\r\n <span class=\"download-file-icon\" [innerHTML]=\"downloadFileSvgString | safeHtml\"></span>\r\n <span class=\"clickable-text\">{{ linkText }}</span>\r\n</a>", styles: [".download-file{display:flex;gap:8px;flex-wrap:wrap;align-content:center;text-decoration:none}.download-file .download-file-icon{width:16px;height:100%;stroke:var(--icons-color)}\n"], dependencies: [{ kind: "pipe", type: i4.SafeHtmlPipe, name: "safeHtml" }] });
|
|
6702
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: HerumDownloadFileComponent, isStandalone: false, selector: "herum-download-file", inputs: { fileId: "fileId", filePath: "filePath", linkText: "linkText" }, outputs: { downloadFile: "downloadFile" }, viewQueries: [{ propertyName: "downloadFileElement", first: true, predicate: ["downloadFile"], descendants: true }], ngImport: i0, template: "<a #downloadFile class=\"download-file\" (click)=\"_onDownloadFile(fileId)\">\r\n <span class=\"download-file-icon\" [innerHTML]=\"downloadFileSvgString | safeHtml\"></span>\r\n <span class=\"clickable-text\">{{ linkText }}</span>\r\n</a>", styles: [".download-file{display:flex;gap:8px;flex-wrap:wrap;align-content:center;text-decoration:none}.download-file .download-file-icon{width:16px;height:100%;stroke:var(--icons-color)}\n"], dependencies: [{ kind: "pipe", type: i4$1.SafeHtmlPipe, name: "safeHtml" }] });
|
|
6668
6703
|
}
|
|
6669
6704
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: HerumDownloadFileComponent, decorators: [{
|
|
6670
6705
|
type: Component,
|
|
@@ -6740,7 +6775,7 @@ class ConditionalFormControlNameDirective {
|
|
|
6740
6775
|
this.renderer.removeAttribute(this.el.nativeElement, 'formControlName');
|
|
6741
6776
|
}
|
|
6742
6777
|
}
|
|
6743
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: ConditionalFormControlNameDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1$
|
|
6778
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: ConditionalFormControlNameDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1$3.NgControl }], target: i0.ɵɵFactoryTarget.Directive });
|
|
6744
6779
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.17", type: ConditionalFormControlNameDirective, isStandalone: false, selector: "[appConditionalFormControlName]", inputs: { formControlName: ["appConditionalFormControlName", "formControlName"] }, ngImport: i0 });
|
|
6745
6780
|
}
|
|
6746
6781
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: ConditionalFormControlNameDirective, decorators: [{
|
|
@@ -6749,7 +6784,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
|
|
|
6749
6784
|
standalone: false,
|
|
6750
6785
|
selector: '[appConditionalFormControlName]'
|
|
6751
6786
|
}]
|
|
6752
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1$
|
|
6787
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1$3.NgControl }], propDecorators: { formControlName: [{
|
|
6753
6788
|
type: Input,
|
|
6754
6789
|
args: ['appConditionalFormControlName']
|
|
6755
6790
|
}] } });
|
|
@@ -7268,7 +7303,7 @@ class HerumPaginatorComponent {
|
|
|
7268
7303
|
return svgsStrings.chevron;
|
|
7269
7304
|
}
|
|
7270
7305
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: HerumPaginatorComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
7271
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: HerumPaginatorComponent, isStandalone: false, selector: "herum-paginator", inputs: { numberOfSlots: "numberOfSlots", elementsToSlice: "elementsToSlice", numberOfElementsInPage: "numberOfElementsInPage", currentPage: "currentPage", totalPages: "totalPages", showArrows: "showArrows", slicerMode: "slicerMode" }, outputs: { slicedElements: "slicedElements", currentPageChange: "currentPageChange", paginatorRenderChange: "paginatorRenderChange" }, viewQueries: [{ propertyName: "element", first: true, predicate: ["element"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #element *ngIf=\"totalPages > 1\" class=\"paginator-container\">\r\n <span *ngIf=\"showArrows\" [ngClass]=\"{'cursor-not-allowed': currentPage === 1}\" class=\"item chevron right-chevron\"\r\n [innerHTML]=\"chevronIcon | safeHtml\" (click)=\"_onChangePage(currentPage -1)\">\r\n </span>\r\n\r\n <ng-container *ngFor=\"let item of visiblePages\">\r\n <span class=\"item\" *ngIf=\"_isNumber(item); else ellipsis\" (click)=\"_onChangePage(item)\"\r\n [ngClass]=\"{'herum-card': currentPage === item}\">\r\n {{ item }}\r\n </span>\r\n\r\n <ng-template #ellipsis>\r\n <span class=\"ellipsis\">{{ item }}</span>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <span *ngIf=\"showArrows\" [ngClass]=\"{'cursor-not-allowed': currentPage === totalPages}\"\r\n class=\"item chevron left-chevron\" [innerHTML]=\"chevronIcon | safeHtml\"\r\n (click)=\"_onChangePage(currentPage + 1)\">\r\n </span>\r\n</div>", styles: [".paginator-container{display:flex;gap:4px;direction:rtl;justify-content:flex-end;align-items:center;width:100%}.paginator-container .ellipsis,.paginator-container .item{display:flex;align-items:center;justify-content:center;width:28px;height:28px;font-weight:700}.paginator-container .item{cursor:pointer}.paginator-container .chevron{width:16px;height:16px;stroke:var(--icons-color)}.paginator-container .right-chevron{transform:rotate(-90deg)}.paginator-container .left-chevron{transform:rotate(90deg)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.SafeHtmlPipe, name: "safeHtml" }] });
|
|
7306
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: HerumPaginatorComponent, isStandalone: false, selector: "herum-paginator", inputs: { numberOfSlots: "numberOfSlots", elementsToSlice: "elementsToSlice", numberOfElementsInPage: "numberOfElementsInPage", currentPage: "currentPage", totalPages: "totalPages", showArrows: "showArrows", slicerMode: "slicerMode" }, outputs: { slicedElements: "slicedElements", currentPageChange: "currentPageChange", paginatorRenderChange: "paginatorRenderChange" }, viewQueries: [{ propertyName: "element", first: true, predicate: ["element"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #element *ngIf=\"totalPages > 1\" class=\"paginator-container\">\r\n <span *ngIf=\"showArrows\" [ngClass]=\"{'cursor-not-allowed': currentPage === 1}\" class=\"item chevron right-chevron\"\r\n [innerHTML]=\"chevronIcon | safeHtml\" (click)=\"_onChangePage(currentPage -1)\">\r\n </span>\r\n\r\n <ng-container *ngFor=\"let item of visiblePages\">\r\n <span class=\"item\" *ngIf=\"_isNumber(item); else ellipsis\" (click)=\"_onChangePage(item)\"\r\n [ngClass]=\"{'herum-card': currentPage === item}\">\r\n {{ item }}\r\n </span>\r\n\r\n <ng-template #ellipsis>\r\n <span class=\"ellipsis\">{{ item }}</span>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <span *ngIf=\"showArrows\" [ngClass]=\"{'cursor-not-allowed': currentPage === totalPages}\"\r\n class=\"item chevron left-chevron\" [innerHTML]=\"chevronIcon | safeHtml\"\r\n (click)=\"_onChangePage(currentPage + 1)\">\r\n </span>\r\n</div>", styles: [".paginator-container{display:flex;gap:4px;direction:rtl;justify-content:flex-end;align-items:center;width:100%}.paginator-container .ellipsis,.paginator-container .item{display:flex;align-items:center;justify-content:center;width:28px;height:28px;font-weight:700}.paginator-container .item{cursor:pointer}.paginator-container .chevron{width:16px;height:16px;stroke:var(--icons-color)}.paginator-container .right-chevron{transform:rotate(-90deg)}.paginator-container .left-chevron{transform:rotate(90deg)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4$1.SafeHtmlPipe, name: "safeHtml" }] });
|
|
7272
7307
|
}
|
|
7273
7308
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: HerumPaginatorComponent, decorators: [{
|
|
7274
7309
|
type: Component,
|
|
@@ -7861,12 +7896,12 @@ class HerumUploadFileComponent {
|
|
|
7861
7896
|
return this.parentForm?.control.get(this.formControlName);
|
|
7862
7897
|
}
|
|
7863
7898
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: HerumUploadFileComponent, deps: [{ token: ControlContainer, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
7864
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: HerumUploadFileComponent, isStandalone: false, selector: "herum-upload-file", inputs: { size: "size", placeholder: "placeholder", isDirectoryMode: "isDirectoryMode", allowedFileTypes: "allowedFileTypes", selectedFile: "selectedFile", formControlName: "formControlName", isEditMode: "isEditMode" }, outputs: { uploadFile: "uploadFile" }, providers: [CUSTOM_UPLOAD_FILE_CONTROL_VALUE_ACCESSOR], viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<button svgOnHover class=\"upload-file-button upload-file-border\" [class]=\"size\" (click)=\"fileInput.click()\"\r\n (drop)=\"_onDrop($event)\" (dragover)=\"_onPreventDefault($event)\">\r\n <ng-container *ngIf=\"!hasTouched && !files\">\r\n <div class=\"placeholder-container\">\r\n <span class=\"upload-file-icon\" [innerHTML]=\"uploadFileSvg | safeHtml\"></span>\r\n <span dir=\"rtl\" class=\"button-placeholder\">{{placeholder}}</span>\r\n </div>\r\n </ng-container>\r\n\r\n <span class=\"error\" *ngIf=\"hasTouched && !files\">\r\n \u05D7\u05D5\u05D1\u05D4 \u05DC\u05D4\u05E2\u05DC\u05D5\u05EA \u05E7\u05D5\u05D1\u05E5\r\n </span>\r\n\r\n <div svgOnHover *ngIf=\"files?.length>=0\" class=\"file-container\">\r\n <span *ngIf=\"files?.length>0\" class=\"upload-file-icon\" [innerHTML]=\"uploadFileSvg | safeHtml\"></span>\r\n\r\n <ng-container *ngIf=\"!isDirectoryMode\">\r\n <span #fileName class=\"file-name\" *ngIf=\"files?.length\"\r\n [matTooltip]=\"_isTruncatedTitleElement(fileName) ? uploadName : ''\">\r\n {{uploadName | ellipsis:fileName}}\r\n </span>\r\n\r\n <img class=\"delete-button\" *ngIf=\"files?.length\" src=\"../../assets/general/secondary-x.svg\"\r\n (click)=\"_onRemoveFiles($event)\">\r\n\r\n <span class=\"error\" *ngIf=\"!isFileTypeAllowed()\">\u05E1\u05D5\u05D2 \u05D4\u05E7\u05D5\u05D1\u05E5 \u05D0\u05D9\u05E0\u05D5 \u05DE\u05D5\u05E8\u05E9\u05D4/\u05EA\u05E7\u05D9\u05DF</span>\r\n </ng-container>\r\n\r\n <ng-container class=\"cursor-pointer\" *ngIf=\"isDirectoryMode\">\r\n <span class=\"directory-name-upload\" #directoryNameUpload *ngIf=\"files?.length\"\r\n [matTooltip]=\"_isTruncatedTitleElement(directoryNameUpload) ? directoryName : ''\">\r\n {{directoryName | ellipsis:directoryNameUpload}}\r\n </span>\r\n\r\n <img *ngIf=\"files?.length\" class=\"delete-button\" src=\"../../assets/general/secondary-x.svg\"\r\n (click)=\"_onRemoveFiles($event)\">\r\n\r\n <span class=\"error\" *ngIf=\"!isValidirectory\">\u05D4\u05EA\u05D9\u05D9\u05E7\u05D9\u05D4 \u05D0\u05D9\u05E0\u05D4 \u05E1\u05D8\u05D5\u05E8\u05D9</span>\r\n </ng-container>\r\n </div>\r\n</button>\r\n\r\n<input #fileInput class=\"d-none\" type=\"file\" [accept]=\"getAcceptValue(allowedFileTypes)\"\r\n [attr.webkitDirectory]=\"isDirectoryMode ? '' : null\" (change)=\"_onUploadFile($event.target.files)\"\r\n (cancel)=\"_onCancelUploadFile()\">", styles: [":host{padding:0}.upload-file-button{height:var(--atom-input-height);cursor:pointer;position:relative;color:var(--title-color);background:var(--light-background-color);font-size:var(--standard-font-size)}.upload-file-icon{cursor:pointer;stroke:var(--active-color);fill:var(--active-color)}.default{width:195px}.responsive{width:100%}.upload-file-button:hover{background:var(--item-hover-color);border-color:var(--secondary-color)}.upload-file-button:active{transform:scale(.96)}.file-container{display:flex;align-items:center;gap:6px;width:100%}.delete-button{position:absolute;left:8px;z-index:2}.file-name,.directory-name-upload{text-align:right;width:calc(100% - 40px)}.file-name{padding-left:12px}.button-placeholder{color:var(--disabled-text-color);cursor:pointer;width:100%;text-align:right}.error-input,.error-input:focus{border-color:var(--error-color)}.error{color:var(--error-color);width:100%;text-align:right}.placeholder-container{display:flex;gap:8px;width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "directive", type: i2$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "pipe", type: i4.SafeHtmlPipe, name: "safeHtml" }, { kind: "pipe", type: i4.EllipsisPipe, name: "ellipsis" }] });
|
|
7899
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: HerumUploadFileComponent, isStandalone: false, selector: "herum-upload-file", inputs: { size: "size", placeholder: "placeholder", isDirectoryMode: "isDirectoryMode", allowedFileTypes: "allowedFileTypes", selectedFile: "selectedFile", formControlName: "formControlName", isEditMode: "isEditMode" }, outputs: { uploadFile: "uploadFile" }, providers: [CUSTOM_UPLOAD_FILE_CONTROL_VALUE_ACCESSOR], viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<button svgOnHover class=\"upload-file-button upload-file-border\" [class]=\"size\" (click)=\"fileInput.click()\"\r\n (drop)=\"_onDrop($event)\" (dragover)=\"_onPreventDefault($event)\">\r\n <ng-container *ngIf=\"!hasTouched && !files\">\r\n <div class=\"placeholder-container\">\r\n <span class=\"upload-file-icon\" [innerHTML]=\"uploadFileSvg | safeHtml\"></span>\r\n <span dir=\"rtl\" class=\"button-placeholder\">{{placeholder}}</span>\r\n </div>\r\n </ng-container>\r\n\r\n <span class=\"error\" *ngIf=\"hasTouched && !files\">\r\n \u05D7\u05D5\u05D1\u05D4 \u05DC\u05D4\u05E2\u05DC\u05D5\u05EA \u05E7\u05D5\u05D1\u05E5\r\n </span>\r\n\r\n <div svgOnHover *ngIf=\"files?.length>=0\" class=\"file-container\">\r\n <span *ngIf=\"files?.length>0\" class=\"upload-file-icon\" [innerHTML]=\"uploadFileSvg | safeHtml\"></span>\r\n\r\n <ng-container *ngIf=\"!isDirectoryMode\">\r\n <span #fileName class=\"file-name\" *ngIf=\"files?.length\"\r\n [matTooltip]=\"_isTruncatedTitleElement(fileName) ? uploadName : ''\">\r\n {{uploadName | ellipsis:fileName}}\r\n </span>\r\n\r\n <img class=\"delete-button\" *ngIf=\"files?.length\" src=\"../../assets/general/secondary-x.svg\"\r\n (click)=\"_onRemoveFiles($event)\">\r\n\r\n <span class=\"error\" *ngIf=\"!isFileTypeAllowed()\">\u05E1\u05D5\u05D2 \u05D4\u05E7\u05D5\u05D1\u05E5 \u05D0\u05D9\u05E0\u05D5 \u05DE\u05D5\u05E8\u05E9\u05D4/\u05EA\u05E7\u05D9\u05DF</span>\r\n </ng-container>\r\n\r\n <ng-container class=\"cursor-pointer\" *ngIf=\"isDirectoryMode\">\r\n <span class=\"directory-name-upload\" #directoryNameUpload *ngIf=\"files?.length\"\r\n [matTooltip]=\"_isTruncatedTitleElement(directoryNameUpload) ? directoryName : ''\">\r\n {{directoryName | ellipsis:directoryNameUpload}}\r\n </span>\r\n\r\n <img *ngIf=\"files?.length\" class=\"delete-button\" src=\"../../assets/general/secondary-x.svg\"\r\n (click)=\"_onRemoveFiles($event)\">\r\n\r\n <span class=\"error\" *ngIf=\"!isValidirectory\">\u05D4\u05EA\u05D9\u05D9\u05E7\u05D9\u05D4 \u05D0\u05D9\u05E0\u05D4 \u05E1\u05D8\u05D5\u05E8\u05D9</span>\r\n </ng-container>\r\n </div>\r\n</button>\r\n\r\n<input #fileInput class=\"d-none\" type=\"file\" [accept]=\"getAcceptValue(allowedFileTypes)\"\r\n [attr.webkitDirectory]=\"isDirectoryMode ? '' : null\" (change)=\"_onUploadFile($event.target.files)\"\r\n (cancel)=\"_onCancelUploadFile()\">", styles: [":host{padding:0}.upload-file-button{height:var(--atom-input-height);cursor:pointer;position:relative;color:var(--title-color);background:var(--light-background-color);font-size:var(--standard-font-size)}.upload-file-icon{cursor:pointer;stroke:var(--active-color);fill:var(--active-color)}.default{width:195px}.responsive{width:100%}.upload-file-button:hover{background:var(--item-hover-color);border-color:var(--secondary-color)}.upload-file-button:active{transform:scale(.96)}.file-container{display:flex;align-items:center;gap:6px;width:100%}.delete-button{position:absolute;left:8px;z-index:2}.file-name,.directory-name-upload{text-align:right;width:calc(100% - 40px)}.file-name{padding-left:12px}.button-placeholder{color:var(--disabled-text-color);cursor:pointer;width:100%;text-align:right}.error-input,.error-input:focus{border-color:var(--error-color)}.error{color:var(--error-color);width:100%;text-align:right}.placeholder-container{display:flex;gap:8px;width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "directive", type: i2$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i4.SvgOnHoverDirective, selector: "[svgOnHover]", inputs: ["svgOnHover"] }, { kind: "pipe", type: i4$1.SafeHtmlPipe, name: "safeHtml" }, { kind: "pipe", type: i4$1.EllipsisPipe, name: "ellipsis" }] });
|
|
7865
7900
|
}
|
|
7866
7901
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: HerumUploadFileComponent, decorators: [{
|
|
7867
7902
|
type: Component,
|
|
7868
7903
|
args: [{ standalone: false, selector: 'herum-upload-file', providers: [CUSTOM_UPLOAD_FILE_CONTROL_VALUE_ACCESSOR], template: "<button svgOnHover class=\"upload-file-button upload-file-border\" [class]=\"size\" (click)=\"fileInput.click()\"\r\n (drop)=\"_onDrop($event)\" (dragover)=\"_onPreventDefault($event)\">\r\n <ng-container *ngIf=\"!hasTouched && !files\">\r\n <div class=\"placeholder-container\">\r\n <span class=\"upload-file-icon\" [innerHTML]=\"uploadFileSvg | safeHtml\"></span>\r\n <span dir=\"rtl\" class=\"button-placeholder\">{{placeholder}}</span>\r\n </div>\r\n </ng-container>\r\n\r\n <span class=\"error\" *ngIf=\"hasTouched && !files\">\r\n \u05D7\u05D5\u05D1\u05D4 \u05DC\u05D4\u05E2\u05DC\u05D5\u05EA \u05E7\u05D5\u05D1\u05E5\r\n </span>\r\n\r\n <div svgOnHover *ngIf=\"files?.length>=0\" class=\"file-container\">\r\n <span *ngIf=\"files?.length>0\" class=\"upload-file-icon\" [innerHTML]=\"uploadFileSvg | safeHtml\"></span>\r\n\r\n <ng-container *ngIf=\"!isDirectoryMode\">\r\n <span #fileName class=\"file-name\" *ngIf=\"files?.length\"\r\n [matTooltip]=\"_isTruncatedTitleElement(fileName) ? uploadName : ''\">\r\n {{uploadName | ellipsis:fileName}}\r\n </span>\r\n\r\n <img class=\"delete-button\" *ngIf=\"files?.length\" src=\"../../assets/general/secondary-x.svg\"\r\n (click)=\"_onRemoveFiles($event)\">\r\n\r\n <span class=\"error\" *ngIf=\"!isFileTypeAllowed()\">\u05E1\u05D5\u05D2 \u05D4\u05E7\u05D5\u05D1\u05E5 \u05D0\u05D9\u05E0\u05D5 \u05DE\u05D5\u05E8\u05E9\u05D4/\u05EA\u05E7\u05D9\u05DF</span>\r\n </ng-container>\r\n\r\n <ng-container class=\"cursor-pointer\" *ngIf=\"isDirectoryMode\">\r\n <span class=\"directory-name-upload\" #directoryNameUpload *ngIf=\"files?.length\"\r\n [matTooltip]=\"_isTruncatedTitleElement(directoryNameUpload) ? directoryName : ''\">\r\n {{directoryName | ellipsis:directoryNameUpload}}\r\n </span>\r\n\r\n <img *ngIf=\"files?.length\" class=\"delete-button\" src=\"../../assets/general/secondary-x.svg\"\r\n (click)=\"_onRemoveFiles($event)\">\r\n\r\n <span class=\"error\" *ngIf=\"!isValidirectory\">\u05D4\u05EA\u05D9\u05D9\u05E7\u05D9\u05D4 \u05D0\u05D9\u05E0\u05D4 \u05E1\u05D8\u05D5\u05E8\u05D9</span>\r\n </ng-container>\r\n </div>\r\n</button>\r\n\r\n<input #fileInput class=\"d-none\" type=\"file\" [accept]=\"getAcceptValue(allowedFileTypes)\"\r\n [attr.webkitDirectory]=\"isDirectoryMode ? '' : null\" (change)=\"_onUploadFile($event.target.files)\"\r\n (cancel)=\"_onCancelUploadFile()\">", styles: [":host{padding:0}.upload-file-button{height:var(--atom-input-height);cursor:pointer;position:relative;color:var(--title-color);background:var(--light-background-color);font-size:var(--standard-font-size)}.upload-file-icon{cursor:pointer;stroke:var(--active-color);fill:var(--active-color)}.default{width:195px}.responsive{width:100%}.upload-file-button:hover{background:var(--item-hover-color);border-color:var(--secondary-color)}.upload-file-button:active{transform:scale(.96)}.file-container{display:flex;align-items:center;gap:6px;width:100%}.delete-button{position:absolute;left:8px;z-index:2}.file-name,.directory-name-upload{text-align:right;width:calc(100% - 40px)}.file-name{padding-left:12px}.button-placeholder{color:var(--disabled-text-color);cursor:pointer;width:100%;text-align:right}.error-input,.error-input:focus{border-color:var(--error-color)}.error{color:var(--error-color);width:100%;text-align:right}.placeholder-container{display:flex;gap:8px;width:100%}\n"] }]
|
|
7869
|
-
}], ctorParameters: () => [{ type: i1$
|
|
7904
|
+
}], ctorParameters: () => [{ type: i1$3.ControlContainer, decorators: [{
|
|
7870
7905
|
type: Optional
|
|
7871
7906
|
}, {
|
|
7872
7907
|
type: Inject,
|
|
@@ -7928,7 +7963,7 @@ class RoundedVerticalMenuComponent {
|
|
|
7928
7963
|
});
|
|
7929
7964
|
}
|
|
7930
7965
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: RoundedVerticalMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7931
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: RoundedVerticalMenuComponent, isStandalone: false, selector: "rounded-vertical-menu", inputs: { menuItems: "menuItems", currentItem: "currentItem", currentUser: "currentUser" }, outputs: { itemSelected: "itemSelected" }, usesOnChanges: true, ngImport: i0, template: "<ul class=\"nav-list\">\r\n <li *ngFor=\"let item of menuItems\" [class.active]=\"item === currentItem\" (click)=\"_onSelectItem(item)\"\r\n [class.disabled]=\"item.disabled\" appHerumToolTip [matTooltip]=\"item.disabledTooltip\">\r\n <img src=\"assets/hadracha/creation-icons/{{item.disabled ? 'disabled' : item === currentItem ? 'active' : 'regular'}}/{{ item.iconName }}.svg\"\r\n alt=\"{{ item.label }} icon\">\r\n <a>{{ item.label }}</a>\r\n </li>\r\n</ul>", styles: [":host{--body-bg: var(--light-background-color);--nav-bg: var(--icons-color);--nav-width: 15%}.nav-list{list-style:none;margin:0;padding:0;display:grid;gap:1rem}.nav-list li{padding-block:1rem;padding-inline:2rem;display:flex;gap:8px}.nav-list li a{color:#fff;text-decoration:none;display:block;font-size:14px;cursor:pointer}.nav-list li.active{view-transition-name:nav;background:var(--body-bg);border-radius:0 100vw 100vw 0;position:relative}.nav-list li.active a{color:var(--title-color)}.nav-list li.active:before,.nav-list li.active:after{--r: 1rem;content:\"\";position:absolute;width:var(--r);height:var(--r);left:0;background:var(--nav-bg)}.nav-list li.active:before{border-radius:0 0 0 var(--r);top:calc(-1 * var(--r));box-shadow:-5px 5px 0 5px var(--body-bg)}.nav-list li.active:after{border-radius:var(--r) 0 0 0;bottom:calc(-1 * var(--r));box-shadow:-5px -5px 0 5px var(--body-bg)}.nav-list li.active ::view-transition-group(nav){animation-duration:1s}.nav-list li.disabled{cursor:not-allowed}.nav-list li.disabled a{color:var(--disabled-text-color);cursor:not-allowed}.nav-list li:nth-child(1) a{view-transition-name:test}.nav-list li:nth-child(2) a{view-transition-name:test-2}.nav-list li:nth-child(3) a{view-transition-name:test-3}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] });
|
|
7966
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: RoundedVerticalMenuComponent, isStandalone: false, selector: "rounded-vertical-menu", inputs: { menuItems: "menuItems", currentItem: "currentItem", currentUser: "currentUser" }, outputs: { itemSelected: "itemSelected" }, usesOnChanges: true, ngImport: i0, template: "<ul class=\"nav-list\">\r\n <li *ngFor=\"let item of menuItems\" [class.active]=\"item === currentItem\" (click)=\"_onSelectItem(item)\"\r\n [class.disabled]=\"item.disabled\" appHerumToolTip [matTooltip]=\"item.disabledTooltip\">\r\n <img src=\"assets/hadracha/creation-icons/{{item.disabled ? 'disabled' : item === currentItem ? 'active' : 'regular'}}/{{ item.iconName }}.svg\"\r\n alt=\"{{ item.label }} icon\">\r\n <a>{{ item.label }}</a>\r\n </li>\r\n</ul>", styles: [":host{--body-bg: var(--light-background-color);--nav-bg: var(--icons-color);--nav-width: 15%}.nav-list{list-style:none;margin:0;padding:0;display:grid;gap:1rem}.nav-list li{padding-block:1rem;padding-inline:2rem;display:flex;gap:8px}.nav-list li a{color:#fff;text-decoration:none;display:block;font-size:14px;cursor:pointer}.nav-list li.active{view-transition-name:nav;background:var(--body-bg);border-radius:0 100vw 100vw 0;position:relative}.nav-list li.active a{color:var(--title-color)}.nav-list li.active:before,.nav-list li.active:after{--r: 1rem;content:\"\";position:absolute;width:var(--r);height:var(--r);left:0;background:var(--nav-bg)}.nav-list li.active:before{border-radius:0 0 0 var(--r);top:calc(-1 * var(--r));box-shadow:-5px 5px 0 5px var(--body-bg)}.nav-list li.active:after{border-radius:var(--r) 0 0 0;bottom:calc(-1 * var(--r));box-shadow:-5px -5px 0 5px var(--body-bg)}.nav-list li.active ::view-transition-group(nav){animation-duration:1s}.nav-list li.disabled{cursor:not-allowed}.nav-list li.disabled a{color:var(--disabled-text-color);cursor:not-allowed}.nav-list li:nth-child(1) a{view-transition-name:test}.nav-list li:nth-child(2) a{view-transition-name:test-2}.nav-list li:nth-child(3) a{view-transition-name:test-3}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i4.HerumToolTipDirective, selector: "[appHerumToolTip]", inputs: ["tooltipText"] }] });
|
|
7932
7967
|
}
|
|
7933
7968
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: RoundedVerticalMenuComponent, decorators: [{
|
|
7934
7969
|
type: Component,
|
|
@@ -7984,7 +8019,7 @@ class TrackTextChangesNotesComponent {
|
|
|
7984
8019
|
return svgsStrings.X;
|
|
7985
8020
|
}
|
|
7986
8021
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: TrackTextChangesNotesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7987
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: TrackTextChangesNotesComponent, isStandalone: false, selector: "track-text-changes-notes", inputs: { textChanges: "textChanges", enableDeleteNote: "enableDeleteNote" }, outputs: { deleteNoteChange: "deleteNoteChange", hoverNote: "hoverNote" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"notes-title\">\u05D4\u05E2\u05E8\u05D5\u05EA</div>\r\n\r\n<div *ngIf=\"textChanges?.length; else noNotes\" class=\"notes\">\r\n <div class=\"note\" *ngFor=\"let textChange of textChanges; let index=index; trackBy:_trackNote\">\r\n <button *ngIf=\"enableDeleteNote\" class=\"delete-button\" (click)=\"_onDeleteTextChange(textChange)\">\r\n <span class=\"delete-icon\" [innerHTML]=\"deleteSvgString | safeHtml\"> </span>\r\n </button>\r\n\r\n <div class=\"note-card\" (mouseenter)=\"_onHoverNote(textChange)\" (mouseleave)=\"_onHoverNote(undefined)\">\r\n <ng-container *ngIf=\"textChange.type!=='generalNote'; else generalNote\">\r\n <p class=\"note-header\" [ngClass]=\"[textChange.type]\">\r\n <span [class]=\"textChange.type+'-note'\">{{ textChange.note }}</span>\r\n <span>{{ noteTypesToDisplay[index] }}</span>\r\n </p>\r\n\r\n <p class=\"comment-text\">\r\n {{ textChange.commentText ? textChange.commentText : '\u05DC\u05DC\u05D0 \u05D4\u05E2\u05E8\u05D4' }}\r\n </p>\r\n </ng-container>\r\n\r\n <ng-template #generalNote>\r\n <p class=\"general-note comment-text\">\r\n {{ textChange.note }}\r\n </p>\r\n </ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #noNotes>\r\n <div>\u05D0\u05D9\u05DF \u05D4\u05E2\u05E8\u05D5\u05EA</div>\r\n</ng-template>", styles: [":host{display:flex;flex-direction:column}.notes-title{font-size:14px;margin-block-end:8px}.notes{display:flex;flex-direction:column;gap:12px;padding-left:8px}.notes .note{display:flex;gap:8px;align-items:flex-start;flex:1}.notes .note .delete-button{padding:0;background:transparent;border:none}.notes .note .delete-icon{fill:var(--text-color)}.notes .note .note-card{background-color:var(--page-background-color);flex:1;border-radius:var(--border-radius)}.notes .note .note-card p{margin-block-end:0;font-size:14px}.notes .note .note-card .note-header,.notes .note .note-card .note,.notes .note .note-card .comment-text{padding:var(--standard-padding)}.notes .note .note-card .note-header{border-radius:var(--border-radius) var(--border-radius) 0 0;display:flex;justify-content:space-between}.notes .note .note-card .note-header .addition-note{color:var(--secondary-color)}.notes .note .note-card .note-header .deletion-note{color:var(--error-color)}.notes .note .note-card .note-header .comment-note{color:var(--positive-color)}.notes .note .note-card .comment-text{border-radius:0 0 var(--border-radius) var(--border-radius)}.notes .note .note-card .general-note{border-radius:var(--border-radius)}.notes .note .addition{color:var(--secondary-color);background-color:color-mix(in srgb,var(--secondary-color) 20%,transparent)}.notes .note .deletion{color:var(--error-color);background-color:var(--light-error-color)}.notes .note .comment{color:var(--positive-color);background-color:var(--light-positive-color)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.SafeHtmlPipe, name: "safeHtml" }] });
|
|
8022
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: TrackTextChangesNotesComponent, isStandalone: false, selector: "track-text-changes-notes", inputs: { textChanges: "textChanges", enableDeleteNote: "enableDeleteNote" }, outputs: { deleteNoteChange: "deleteNoteChange", hoverNote: "hoverNote" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"notes-title\">\u05D4\u05E2\u05E8\u05D5\u05EA</div>\r\n\r\n<div *ngIf=\"textChanges?.length; else noNotes\" class=\"notes\">\r\n <div class=\"note\" *ngFor=\"let textChange of textChanges; let index=index; trackBy:_trackNote\">\r\n <button *ngIf=\"enableDeleteNote\" class=\"delete-button\" (click)=\"_onDeleteTextChange(textChange)\">\r\n <span class=\"delete-icon\" [innerHTML]=\"deleteSvgString | safeHtml\"> </span>\r\n </button>\r\n\r\n <div class=\"note-card\" (mouseenter)=\"_onHoverNote(textChange)\" (mouseleave)=\"_onHoverNote(undefined)\">\r\n <ng-container *ngIf=\"textChange.type!=='generalNote'; else generalNote\">\r\n <p class=\"note-header\" [ngClass]=\"[textChange.type]\">\r\n <span [class]=\"textChange.type+'-note'\">{{ textChange.note }}</span>\r\n <span>{{ noteTypesToDisplay[index] }}</span>\r\n </p>\r\n\r\n <p class=\"comment-text\">\r\n {{ textChange.commentText ? textChange.commentText : '\u05DC\u05DC\u05D0 \u05D4\u05E2\u05E8\u05D4' }}\r\n </p>\r\n </ng-container>\r\n\r\n <ng-template #generalNote>\r\n <p class=\"general-note comment-text\">\r\n {{ textChange.note }}\r\n </p>\r\n </ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #noNotes>\r\n <div>\u05D0\u05D9\u05DF \u05D4\u05E2\u05E8\u05D5\u05EA</div>\r\n</ng-template>", styles: [":host{display:flex;flex-direction:column}.notes-title{font-size:14px;margin-block-end:8px}.notes{display:flex;flex-direction:column;gap:12px;padding-left:8px}.notes .note{display:flex;gap:8px;align-items:flex-start;flex:1}.notes .note .delete-button{padding:0;background:transparent;border:none}.notes .note .delete-icon{fill:var(--text-color)}.notes .note .note-card{background-color:var(--page-background-color);flex:1;border-radius:var(--border-radius)}.notes .note .note-card p{margin-block-end:0;font-size:14px}.notes .note .note-card .note-header,.notes .note .note-card .note,.notes .note .note-card .comment-text{padding:var(--standard-padding)}.notes .note .note-card .note-header{border-radius:var(--border-radius) var(--border-radius) 0 0;display:flex;justify-content:space-between}.notes .note .note-card .note-header .addition-note{color:var(--secondary-color)}.notes .note .note-card .note-header .deletion-note{color:var(--error-color)}.notes .note .note-card .note-header .comment-note{color:var(--positive-color)}.notes .note .note-card .comment-text{border-radius:0 0 var(--border-radius) var(--border-radius)}.notes .note .note-card .general-note{border-radius:var(--border-radius)}.notes .note .addition{color:var(--secondary-color);background-color:color-mix(in srgb,var(--secondary-color) 20%,transparent)}.notes .note .deletion{color:var(--error-color);background-color:var(--light-error-color)}.notes .note .comment{color:var(--positive-color);background-color:var(--light-positive-color)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4$1.SafeHtmlPipe, name: "safeHtml" }] });
|
|
7988
8023
|
}
|
|
7989
8024
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: TrackTextChangesNotesComponent, decorators: [{
|
|
7990
8025
|
type: Component,
|
|
@@ -8146,6 +8181,7 @@ class AtomsModule {
|
|
|
8146
8181
|
DragDropModule,
|
|
8147
8182
|
MatDatepickerModule,
|
|
8148
8183
|
MatNativeDateModule,
|
|
8184
|
+
DirectivesModule$1,
|
|
8149
8185
|
PipesModule$1], exports: [CollegeLoaderComponent,
|
|
8150
8186
|
UsersProfilePreviewComponent,
|
|
8151
8187
|
HerumBreadcrumbsComponent,
|
|
@@ -8203,6 +8239,7 @@ class AtomsModule {
|
|
|
8203
8239
|
DragDropModule,
|
|
8204
8240
|
MatDatepickerModule,
|
|
8205
8241
|
MatNativeDateModule,
|
|
8242
|
+
DirectivesModule$1,
|
|
8206
8243
|
PipesModule$1] });
|
|
8207
8244
|
}
|
|
8208
8245
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: AtomsModule, decorators: [{
|
|
@@ -8306,6 +8343,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
|
|
|
8306
8343
|
DragDropModule,
|
|
8307
8344
|
MatDatepickerModule,
|
|
8308
8345
|
MatNativeDateModule,
|
|
8346
|
+
DirectivesModule$1,
|
|
8309
8347
|
PipesModule$1
|
|
8310
8348
|
],
|
|
8311
8349
|
providers: [
|
|
@@ -8627,7 +8665,7 @@ class HerumActiveMenuComponent {
|
|
|
8627
8665
|
});
|
|
8628
8666
|
}
|
|
8629
8667
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: HerumActiveMenuComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
8630
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: HerumActiveMenuComponent, isStandalone: false, selector: "herum-active-menu", inputs: { useIcons: "useIcons", view: "view", activeColor: "activeColor", activeTextColor: "activeTextColor", secondaryTextColor: "secondaryTextColor", menuItems: "menuItems", selectedItem: "selectedItem", selectById: "selectById", isBlock: "isBlock", dragEvent: "dragEvent" }, outputs: { selectionIndex: "selectionIndex" }, host: { listeners: { "window:resize": "onResize()" } }, viewQueries: [{ propertyName: "tabsContainer", first: true, predicate: ["tabsContainer"], descendants: true }, { propertyName: "tabsElement", predicate: ["tabs"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ul #tabsContainer class=\"tabs group\" [ngClass]=\"view\" [class.isBlock]=\"isBlock\">\r\n <li #tabs *ngFor=\"let menuItem of menuItems; let i = index\"\r\n [class.active]=\"selectById ? menuItem?.id === selectedItem?.id : (currentItemIndex === i || menuItem === selectedItem)\">\r\n <a (click)=\"_onSelectTab(i)\" [userAction]=\"menuItem.label\">\r\n <span *ngIf=\"useIcons\" [innerHTML]=\"menuItem.icon | safeHtml\"\r\n [ngClass]=\"i == currentItemIndex ? 'active-icon' : 'non-active-icon'\">\r\n </span>\r\n\r\n <p class=\"m-0 truncate\" [matTooltip]=\"menuItem.label\">\r\n {{ menuItem.label }}\r\n </p>\r\n </a>\r\n </li>\r\n</ul>", styles: ["a{cursor:pointer;display:flex;width:100%;gap:8px;align-items:center;justify-content:center;z-index:3}a .active-icon{stroke:var(--active-menu-background, var(--icons-color))}a .active-icon,a .non-active-icon{z-index:3;width:24px}a .non-active-icon{stroke:var(--active-menu-secondary-text-color, #ffffff)}.narrow a{flex-direction:column}.narrow a span{height:18px}.narrow a p{font-size:14px;margin-right:0}#content{background-color:#fff;position:relative;overflow:hidden;min-height:400px}.tabs{list-style:none;width:100%}.tabs li{float:left;height:40px;position:relative}.tabs a{float:left;padding-inline:10px;background-color:var(--active-menu-background);height:100%}.tabs a p{text-decoration:none;font-size:16px;font-weight:500;color:var(--active-menu-secondary-text-color, #ffffff);z-index:3}.isBlock a p{color:gray}.active a{border-top-left-radius:12px;border-top-right-radius:12px}.active a p{color:var(--active-menu-text-color, var(--icons-color))}.tabs .active{z-index:3}.tabs .active a{background-color:#fff;color:var(--icons-color)}.tabs li:before,.tabs li:after,.tabs li a:before,.tabs li a:after{position:absolute;bottom:0}.tabs li:last-child:after,.tabs li:last-child a:after,.tabs li:first-child:before,.tabs li:first-child a:before,.tabs .active:after,.tabs .active:before,.tabs .active a:after,.tabs .active a:before{content:\"\"}.tabs .active:before,.tabs .active:after{background-color:#fff;z-index:1}.tabs li:before,.tabs li:after{background-color:var(--active-menu-background, var(--icons-color));width:12px;height:12px}.tabs li:before{left:-12px}.tabs li:after{right:-12px}.tabs li a:after,.tabs li a:before{width:20px;height:20px;-webkit-border-radius:12px;-moz-border-radius:12px;border-radius:12px;background-color:var(--active-menu-background, var(--icons-color));z-index:2}.tabs .active a:after,.tabs .active a:before{background-color:var(--active-menu-background, var(--icons-color))}.tabs li:first-child.active a:before,.tabs li:last-child.active a:after{background-color:var(--active-menu-background, var(--icons-color))}.tabs li a:before{left:-20px}.tabs li a:after{right:-20px}ul{background-color:var(--active-menu-background, var(--icons-color));height:52px;margin:0;padding-top:12px;justify-content:flex-start;display:flex}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "pipe", type: i4.SafeHtmlPipe, name: "safeHtml" }] });
|
|
8668
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: HerumActiveMenuComponent, isStandalone: false, selector: "herum-active-menu", inputs: { useIcons: "useIcons", view: "view", activeColor: "activeColor", activeTextColor: "activeTextColor", secondaryTextColor: "secondaryTextColor", menuItems: "menuItems", selectedItem: "selectedItem", selectById: "selectById", isBlock: "isBlock", dragEvent: "dragEvent" }, outputs: { selectionIndex: "selectionIndex" }, host: { listeners: { "window:resize": "onResize()" } }, viewQueries: [{ propertyName: "tabsContainer", first: true, predicate: ["tabsContainer"], descendants: true }, { propertyName: "tabsElement", predicate: ["tabs"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ul #tabsContainer class=\"tabs group\" [ngClass]=\"view\" [class.isBlock]=\"isBlock\">\r\n <li #tabs *ngFor=\"let menuItem of menuItems; let i = index\"\r\n [class.active]=\"selectById ? menuItem?.id === selectedItem?.id : (currentItemIndex === i || menuItem === selectedItem)\">\r\n <a (click)=\"_onSelectTab(i)\" [userAction]=\"menuItem.label\">\r\n <span *ngIf=\"useIcons\" [innerHTML]=\"menuItem.icon | safeHtml\"\r\n [ngClass]=\"i == currentItemIndex ? 'active-icon' : 'non-active-icon'\">\r\n </span>\r\n\r\n <p class=\"m-0 truncate\" [matTooltip]=\"menuItem.label\">\r\n {{ menuItem.label }}\r\n </p>\r\n </a>\r\n </li>\r\n</ul>", styles: ["a{cursor:pointer;display:flex;width:100%;gap:8px;align-items:center;justify-content:center;z-index:3}a .active-icon{stroke:var(--active-menu-background, var(--icons-color))}a .active-icon,a .non-active-icon{z-index:3;width:24px}a .non-active-icon{stroke:var(--active-menu-secondary-text-color, #ffffff)}.narrow a{flex-direction:column}.narrow a span{height:18px}.narrow a p{font-size:14px;margin-right:0}#content{background-color:#fff;position:relative;overflow:hidden;min-height:400px}.tabs{list-style:none;width:100%}.tabs li{float:left;height:40px;position:relative}.tabs a{float:left;padding-inline:10px;background-color:var(--active-menu-background);height:100%}.tabs a p{text-decoration:none;font-size:16px;font-weight:500;color:var(--active-menu-secondary-text-color, #ffffff);z-index:3}.isBlock a p{color:gray}.active a{border-top-left-radius:12px;border-top-right-radius:12px}.active a p{color:var(--active-menu-text-color, var(--icons-color))}.tabs .active{z-index:3}.tabs .active a{background-color:#fff;color:var(--icons-color)}.tabs li:before,.tabs li:after,.tabs li a:before,.tabs li a:after{position:absolute;bottom:0}.tabs li:last-child:after,.tabs li:last-child a:after,.tabs li:first-child:before,.tabs li:first-child a:before,.tabs .active:after,.tabs .active:before,.tabs .active a:after,.tabs .active a:before{content:\"\"}.tabs .active:before,.tabs .active:after{background-color:#fff;z-index:1}.tabs li:before,.tabs li:after{background-color:var(--active-menu-background, var(--icons-color));width:12px;height:12px}.tabs li:before{left:-12px}.tabs li:after{right:-12px}.tabs li a:after,.tabs li a:before{width:20px;height:20px;-webkit-border-radius:12px;-moz-border-radius:12px;border-radius:12px;background-color:var(--active-menu-background, var(--icons-color));z-index:2}.tabs .active a:after,.tabs .active a:before{background-color:var(--active-menu-background, var(--icons-color))}.tabs li:first-child.active a:before,.tabs li:last-child.active a:after{background-color:var(--active-menu-background, var(--icons-color))}.tabs li a:before{left:-20px}.tabs li a:after{right:-20px}ul{background-color:var(--active-menu-background, var(--icons-color));height:52px;margin:0;padding-top:12px;justify-content:flex-start;display:flex}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i4.UserActionDirective, selector: "[userAction]", inputs: ["userAction"] }, { kind: "pipe", type: i4$1.SafeHtmlPipe, name: "safeHtml" }] });
|
|
8631
8669
|
}
|
|
8632
8670
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: HerumActiveMenuComponent, decorators: [{
|
|
8633
8671
|
type: Component,
|
|
@@ -8775,13 +8813,13 @@ class HerumAutocompleteComponent {
|
|
|
8775
8813
|
return normalizedOptionText.includes(normalizedSearchText);
|
|
8776
8814
|
});
|
|
8777
8815
|
}
|
|
8778
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: HerumAutocompleteComponent, deps: [{ token: i1$
|
|
8779
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: HerumAutocompleteComponent, isStandalone: false, selector: "herum-autocomplete", inputs: { options: "options", displayBy: "displayBy", subTitleBy: "subTitleBy", placeholder: "placeholder", noResultsText: "noResultsText", disabled: "disabled", isLoadingInput: "isLoadingInput", debounceTime: "debounceTime", selectedOption: "selectedOption", isBlurred: "isBlurred" }, outputs: { filterTextEmitter: "filterTextEmitter", selectedOptionEmitter: "selectedOptionEmitter" }, host: { listeners: { "window:click": "onWindowClick($event)" } }, viewQueries: [{ propertyName: "filterInput", first: true, predicate: ["filterInput"], descendants: true }, { propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #container class=\"autocomplete-container\" dir=\"rtl\" [class.disabled]=\"disabled\">\r\n <herum-input-field #filterInput class=\"autocomplete-input internal\" \r\n [type]=\"isBlurred ? 'search-blur' : 'search'\" [placeholder]=\"placeholder\"\r\n [debounceTime]=\"debounceTime\" [disabled]=\"disabled\" [inputValue]=\"currentSearchedItem\"\r\n (click)=\"_onInputClick($event)\" (inputValueEmitter)=\"_inputChange($event)\">\r\n </herum-input-field>\r\n\r\n <div class=\"autocomplete-dropdown\" [@openClose]=\"isDropdownOpen ? 'openDown' : 'closeUp'\" \r\n [class.hidden]=\"!isDropdownOpen\" [class.glass]=\"isBlurred\">\r\n <ng-container *ngIf=\"isLoadingInput || isWaitingForResults; else optionsList\">\r\n <div *ngFor=\"let _ of skeletonRows; let i = index\" class=\"autocomplete-option loading-state\">\r\n <span class=\"skeleton-text skeleton\" [ngStyle]=\"{width: _getSkeletonWidth(i) + 'px'}\"> </span>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-template #optionsList>\r\n <ng-container *ngIf=\"filteredOptions?.length; else noResults\">\r\n <a class=\"autocomplete-option\" *ngFor=\"let option of filteredOptions\" (click)=\"_onSelectOption(option)\">\r\n <div class=\"option-main\">\r\n <ng-container *ngIf=\"option.iconUrl; else defaultLeadingIcon\">\r\n <img [src]=\"option.iconUrl\" class=\"option-icon-img\" />\r\n </ng-container>\r\n \r\n <ng-template #defaultLeadingIcon>\r\n <img src=\"assets/hadracha/general/plus.svg\" class=\"option-icon\">\r\n </ng-template>\r\n\r\n <span [highlightText]=\"option[displayBy]\" [herumHighlight]=\"currentSearchedItem\"></span>\r\n </div>\r\n\r\n <span class=\"option-subtitle\" *ngIf=\"subTitleBy && option[subTitleBy]\">\r\n {{ option[subTitleBy] }}\r\n </span>\r\n </a>\r\n </ng-container>\r\n\r\n <ng-template #noResults>\r\n <a *ngIf=\"!(isLoadingInput || isWaitingForResults)\"\r\n class=\"autocomplete-option text-center no-results-blurred\">\r\n {{ noResultsText }}\r\n </a>\r\n </ng-template>\r\n </ng-template>\r\n </div>\r\n</div>", styles: [":host{--option-icon-size: 14px;--option-item-size: 28px;--autocomplete-visible-options: 5;--autocomplete-option-padding-vertical: 8px;--autocomplete-option-height: calc(var(--option-item-size) + 2 * var(--autocomplete-option-padding-vertical));--dropdown-height: calc(var(--autocomplete-option-height) * var(--autocomplete-visible-options));--loading-state-padding-vertical: calc((var(--option-item-size) + var(--autocomplete-option-padding-vertical)) / 2)}.autocomplete-container{position:relative;width:100%;direction:rtl}.autocomplete-container.disabled{opacity:.6;pointer-events:none}.autocomplete-container .autocomplete-input{width:100%;display:block}.autocomplete-container .autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;z-index:10;max-height:var(--dropdown-height);overflow-y:auto;overflow-x:hidden;line-height:var(--option-item-size)}.autocomplete-container .autocomplete-dropdown.hidden{pointer-events:none}.autocomplete-container .autocomplete-dropdown:not(.glass){background-color:var(--light-background-color);border-radius:var(--border-radius);box-shadow:0 2px 4px #00000029}.autocomplete-container .autocomplete-dropdown.glass .no-results-blurred{color:var(--text-color)!important}.autocomplete-container .autocomplete-dropdown .autocomplete-option{display:flex;align-items:center;justify-content:flex-start;padding:var(--autocomplete-option-padding-vertical) 16px;cursor:pointer;font-size:14px;color:var(--text-color);text-decoration:none}.autocomplete-container .autocomplete-dropdown .autocomplete-option .option-main{display:flex;align-items:center;gap:8px;min-width:0}.autocomplete-container .autocomplete-dropdown .autocomplete-option .option-subtitle{margin-inline-start:auto;white-space:nowrap;opacity:.75;font-size:12px}.autocomplete-container .autocomplete-dropdown .autocomplete-option .option-icon{width:var(--option-icon-size);height:var(--option-icon-size);margin-left:4px}.autocomplete-container .autocomplete-dropdown .autocomplete-option .option-icon-img{width:var(--option-item-size);height:var(--option-item-size);margin-left:8px;border-radius:16px}.autocomplete-container .autocomplete-dropdown .autocomplete-option.autocomplete-option{border-top:1px solid var(--divider-color)}.autocomplete-container .autocomplete-dropdown .autocomplete-option:hover{background-color:var(--hover-background)}.autocomplete-container .autocomplete-dropdown .autocomplete-option.text-center{cursor:default;color:var(--homepage-separator)}.autocomplete-container .autocomplete-dropdown .autocomplete-option.loading-state{padding-top:var(--loading-state-padding-vertical);padding-bottom:var(--loading-state-padding-vertical)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "component", type: i2$2.HerumInputFieldComponent, selector: "herum-input-field", inputs: ["type", "placeholder", "disabled", "isBlocked", "isValid", "errorMsg", "showErrorMsgGap", "inputValue", "isLoading", "id", "debounceTime", "minValue", "maxValue", "isBlurred", "touched", "ltrMode", "preventMacroKeysPressEvent"], outputs: ["inputValueEmitter"] }], animations: [openClose$1] });
|
|
8816
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: HerumAutocompleteComponent, deps: [{ token: i1$3.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
8817
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: HerumAutocompleteComponent, isStandalone: false, selector: "herum-autocomplete", inputs: { options: "options", displayBy: "displayBy", subTitleBy: "subTitleBy", placeholder: "placeholder", noResultsText: "noResultsText", disabled: "disabled", isLoadingInput: "isLoadingInput", debounceTime: "debounceTime", selectedOption: "selectedOption", isBlurred: "isBlurred" }, outputs: { filterTextEmitter: "filterTextEmitter", selectedOptionEmitter: "selectedOptionEmitter" }, host: { listeners: { "window:click": "onWindowClick($event)" } }, viewQueries: [{ propertyName: "filterInput", first: true, predicate: ["filterInput"], descendants: true }, { propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #container class=\"autocomplete-container\" dir=\"rtl\" [class.disabled]=\"disabled\">\r\n <herum-input-field #filterInput class=\"autocomplete-input internal\" \r\n [type]=\"isBlurred ? 'search-blur' : 'search'\" [placeholder]=\"placeholder\"\r\n [debounceTime]=\"debounceTime\" [disabled]=\"disabled\" [inputValue]=\"currentSearchedItem\"\r\n (click)=\"_onInputClick($event)\" (inputValueEmitter)=\"_inputChange($event)\">\r\n </herum-input-field>\r\n\r\n <div class=\"autocomplete-dropdown\" [@openClose]=\"isDropdownOpen ? 'openDown' : 'closeUp'\" \r\n [class.hidden]=\"!isDropdownOpen\" [class.glass]=\"isBlurred\">\r\n <ng-container *ngIf=\"isLoadingInput || isWaitingForResults; else optionsList\">\r\n <div *ngFor=\"let _ of skeletonRows; let i = index\" class=\"autocomplete-option loading-state\">\r\n <span class=\"skeleton-text skeleton\" [ngStyle]=\"{width: _getSkeletonWidth(i) + 'px'}\"> </span>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-template #optionsList>\r\n <ng-container *ngIf=\"filteredOptions?.length; else noResults\">\r\n <a class=\"autocomplete-option\" *ngFor=\"let option of filteredOptions\" (click)=\"_onSelectOption(option)\">\r\n <div class=\"option-main\">\r\n <ng-container *ngIf=\"option.iconUrl; else defaultLeadingIcon\">\r\n <img [src]=\"option.iconUrl\" class=\"option-icon-img\" />\r\n </ng-container>\r\n \r\n <ng-template #defaultLeadingIcon>\r\n <img src=\"assets/hadracha/general/plus.svg\" class=\"option-icon\">\r\n </ng-template>\r\n\r\n <span [highlightText]=\"option[displayBy]\" [herumHighlight]=\"currentSearchedItem\"></span>\r\n </div>\r\n\r\n <span class=\"option-subtitle\" *ngIf=\"subTitleBy && option[subTitleBy]\">\r\n {{ option[subTitleBy] }}\r\n </span>\r\n </a>\r\n </ng-container>\r\n\r\n <ng-template #noResults>\r\n <a *ngIf=\"!(isLoadingInput || isWaitingForResults)\"\r\n class=\"autocomplete-option text-center no-results-blurred\">\r\n {{ noResultsText }}\r\n </a>\r\n </ng-template>\r\n </ng-template>\r\n </div>\r\n</div>", styles: [":host{--option-icon-size: 14px;--option-item-size: 28px;--autocomplete-visible-options: 5;--autocomplete-option-padding-vertical: 8px;--autocomplete-option-height: calc(var(--option-item-size) + 2 * var(--autocomplete-option-padding-vertical));--dropdown-height: calc(var(--autocomplete-option-height) * var(--autocomplete-visible-options));--loading-state-padding-vertical: calc((var(--option-item-size) + var(--autocomplete-option-padding-vertical)) / 2)}.autocomplete-container{position:relative;width:100%;direction:rtl}.autocomplete-container.disabled{opacity:.6;pointer-events:none}.autocomplete-container .autocomplete-input{width:100%;display:block}.autocomplete-container .autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;z-index:10;max-height:var(--dropdown-height);overflow-y:auto;overflow-x:hidden;line-height:var(--option-item-size)}.autocomplete-container .autocomplete-dropdown.hidden{pointer-events:none}.autocomplete-container .autocomplete-dropdown:not(.glass){background-color:var(--light-background-color);border-radius:var(--border-radius);box-shadow:0 2px 4px #00000029}.autocomplete-container .autocomplete-dropdown.glass .no-results-blurred{color:var(--text-color)!important}.autocomplete-container .autocomplete-dropdown .autocomplete-option{display:flex;align-items:center;justify-content:flex-start;padding:var(--autocomplete-option-padding-vertical) 16px;cursor:pointer;font-size:14px;color:var(--text-color);text-decoration:none}.autocomplete-container .autocomplete-dropdown .autocomplete-option .option-main{display:flex;align-items:center;gap:8px;min-width:0}.autocomplete-container .autocomplete-dropdown .autocomplete-option .option-subtitle{margin-inline-start:auto;white-space:nowrap;opacity:.75;font-size:12px}.autocomplete-container .autocomplete-dropdown .autocomplete-option .option-icon{width:var(--option-icon-size);height:var(--option-icon-size);margin-left:4px}.autocomplete-container .autocomplete-dropdown .autocomplete-option .option-icon-img{width:var(--option-item-size);height:var(--option-item-size);margin-left:8px;border-radius:16px}.autocomplete-container .autocomplete-dropdown .autocomplete-option.autocomplete-option{border-top:1px solid var(--divider-color)}.autocomplete-container .autocomplete-dropdown .autocomplete-option:hover{background-color:var(--hover-background)}.autocomplete-container .autocomplete-dropdown .autocomplete-option.text-center{cursor:default;color:var(--homepage-separator)}.autocomplete-container .autocomplete-dropdown .autocomplete-option.loading-state{padding-top:var(--loading-state-padding-vertical);padding-bottom:var(--loading-state-padding-vertical)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "directive", type: i4.HerumHighlightDirective, selector: "[herumHighlight]", inputs: ["highlightText", "herumHighlight"] }, { kind: "component", type: i2$2.HerumInputFieldComponent, selector: "herum-input-field", inputs: ["type", "placeholder", "disabled", "isBlocked", "isValid", "errorMsg", "showErrorMsgGap", "inputValue", "isLoading", "id", "debounceTime", "minValue", "maxValue", "isBlurred", "touched", "ltrMode", "preventMacroKeysPressEvent"], outputs: ["inputValueEmitter"] }], animations: [openClose$1] });
|
|
8780
8818
|
}
|
|
8781
8819
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: HerumAutocompleteComponent, decorators: [{
|
|
8782
8820
|
type: Component,
|
|
8783
8821
|
args: [{ standalone: false, selector: 'herum-autocomplete', animations: [openClose$1], template: "<div #container class=\"autocomplete-container\" dir=\"rtl\" [class.disabled]=\"disabled\">\r\n <herum-input-field #filterInput class=\"autocomplete-input internal\" \r\n [type]=\"isBlurred ? 'search-blur' : 'search'\" [placeholder]=\"placeholder\"\r\n [debounceTime]=\"debounceTime\" [disabled]=\"disabled\" [inputValue]=\"currentSearchedItem\"\r\n (click)=\"_onInputClick($event)\" (inputValueEmitter)=\"_inputChange($event)\">\r\n </herum-input-field>\r\n\r\n <div class=\"autocomplete-dropdown\" [@openClose]=\"isDropdownOpen ? 'openDown' : 'closeUp'\" \r\n [class.hidden]=\"!isDropdownOpen\" [class.glass]=\"isBlurred\">\r\n <ng-container *ngIf=\"isLoadingInput || isWaitingForResults; else optionsList\">\r\n <div *ngFor=\"let _ of skeletonRows; let i = index\" class=\"autocomplete-option loading-state\">\r\n <span class=\"skeleton-text skeleton\" [ngStyle]=\"{width: _getSkeletonWidth(i) + 'px'}\"> </span>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-template #optionsList>\r\n <ng-container *ngIf=\"filteredOptions?.length; else noResults\">\r\n <a class=\"autocomplete-option\" *ngFor=\"let option of filteredOptions\" (click)=\"_onSelectOption(option)\">\r\n <div class=\"option-main\">\r\n <ng-container *ngIf=\"option.iconUrl; else defaultLeadingIcon\">\r\n <img [src]=\"option.iconUrl\" class=\"option-icon-img\" />\r\n </ng-container>\r\n \r\n <ng-template #defaultLeadingIcon>\r\n <img src=\"assets/hadracha/general/plus.svg\" class=\"option-icon\">\r\n </ng-template>\r\n\r\n <span [highlightText]=\"option[displayBy]\" [herumHighlight]=\"currentSearchedItem\"></span>\r\n </div>\r\n\r\n <span class=\"option-subtitle\" *ngIf=\"subTitleBy && option[subTitleBy]\">\r\n {{ option[subTitleBy] }}\r\n </span>\r\n </a>\r\n </ng-container>\r\n\r\n <ng-template #noResults>\r\n <a *ngIf=\"!(isLoadingInput || isWaitingForResults)\"\r\n class=\"autocomplete-option text-center no-results-blurred\">\r\n {{ noResultsText }}\r\n </a>\r\n </ng-template>\r\n </ng-template>\r\n </div>\r\n</div>", styles: [":host{--option-icon-size: 14px;--option-item-size: 28px;--autocomplete-visible-options: 5;--autocomplete-option-padding-vertical: 8px;--autocomplete-option-height: calc(var(--option-item-size) + 2 * var(--autocomplete-option-padding-vertical));--dropdown-height: calc(var(--autocomplete-option-height) * var(--autocomplete-visible-options));--loading-state-padding-vertical: calc((var(--option-item-size) + var(--autocomplete-option-padding-vertical)) / 2)}.autocomplete-container{position:relative;width:100%;direction:rtl}.autocomplete-container.disabled{opacity:.6;pointer-events:none}.autocomplete-container .autocomplete-input{width:100%;display:block}.autocomplete-container .autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;z-index:10;max-height:var(--dropdown-height);overflow-y:auto;overflow-x:hidden;line-height:var(--option-item-size)}.autocomplete-container .autocomplete-dropdown.hidden{pointer-events:none}.autocomplete-container .autocomplete-dropdown:not(.glass){background-color:var(--light-background-color);border-radius:var(--border-radius);box-shadow:0 2px 4px #00000029}.autocomplete-container .autocomplete-dropdown.glass .no-results-blurred{color:var(--text-color)!important}.autocomplete-container .autocomplete-dropdown .autocomplete-option{display:flex;align-items:center;justify-content:flex-start;padding:var(--autocomplete-option-padding-vertical) 16px;cursor:pointer;font-size:14px;color:var(--text-color);text-decoration:none}.autocomplete-container .autocomplete-dropdown .autocomplete-option .option-main{display:flex;align-items:center;gap:8px;min-width:0}.autocomplete-container .autocomplete-dropdown .autocomplete-option .option-subtitle{margin-inline-start:auto;white-space:nowrap;opacity:.75;font-size:12px}.autocomplete-container .autocomplete-dropdown .autocomplete-option .option-icon{width:var(--option-icon-size);height:var(--option-icon-size);margin-left:4px}.autocomplete-container .autocomplete-dropdown .autocomplete-option .option-icon-img{width:var(--option-item-size);height:var(--option-item-size);margin-left:8px;border-radius:16px}.autocomplete-container .autocomplete-dropdown .autocomplete-option.autocomplete-option{border-top:1px solid var(--divider-color)}.autocomplete-container .autocomplete-dropdown .autocomplete-option:hover{background-color:var(--hover-background)}.autocomplete-container .autocomplete-dropdown .autocomplete-option.text-center{cursor:default;color:var(--homepage-separator)}.autocomplete-container .autocomplete-dropdown .autocomplete-option.loading-state{padding-top:var(--loading-state-padding-vertical);padding-bottom:var(--loading-state-padding-vertical)}\n"] }]
|
|
8784
|
-
}], ctorParameters: () => [{ type: i1$
|
|
8822
|
+
}], ctorParameters: () => [{ type: i1$3.NgControl, decorators: [{
|
|
8785
8823
|
type: Optional
|
|
8786
8824
|
}, {
|
|
8787
8825
|
type: Self
|
|
@@ -9157,7 +9195,7 @@ class HerumDropZoneComponent {
|
|
|
9157
9195
|
this.errorMessages = this.errorMessages.filter(errorMessage => errorMessage.message !== requiredFieldMessage);
|
|
9158
9196
|
}
|
|
9159
9197
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: HerumDropZoneComponent, deps: [{ token: HERUM_SHARED_CONFIG_TOKEN }], target: i0.ɵɵFactoryTarget.Component });
|
|
9160
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: HerumDropZoneComponent, isStandalone: false, selector: "herum-drop-zone", inputs: { selectedFiles: "selectedFiles", placeholder: "placeholder", numberOfAllowedFiles: "numberOfAllowedFiles", allowedFileTypes: "allowedFileTypes", supportedFilesMimes: "supportedFilesMimes", supportedFilesTypes: "supportedFilesTypes", requiredField: "requiredField", directionPreview: "directionPreview", type: "type", grow: "grow", fillContainer: "fillContainer", uploadFileSvg: "uploadFileSvg", previewImageUrl: "previewImageUrl", allowToDeleteImage: "allowToDeleteImage" }, outputs: { filesDataEvent: "filesDataEvent" }, viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<button class=\"dropzone\" [class.not-displayed]=\"previewImageUrl\" [class.fill-container]=\"fillContainer\"\r\n [style.height]=\"grow ? '100%' : ''\" (drop)=\"_onUploadDroppedFiles($event)\" (click)=\"_onClickFileInput()\"\r\n (dragover)=\"_onPreventDefault($event)\">\r\n <div svgOnHover class=\"dropzone-content upload-file-border\" [style.height]=\"grow ? '100%' : '130px'\"\r\n [ngClass]=\"{'row-dropzone':type=='row'}\"\r\n [ngStyle]=\"{'justify-content': (filesList?.length || type == 'row') ? 'start' : 'center'}\">\r\n <div class=\"center-icon\" [ngClass]=\"{'upload-file-row-preview':directionPreview==='row' }\"\r\n *ngIf=\"!filesList?.length\">\r\n <span class=\"upload-file-image mb-2\" [style.height]=\"grow ? '60px' : ''\" [style.width]=\"grow ? '60px' : ''\"\r\n [innerHTML]=\"uploadFileSvg | safeHtml\">\r\n </span>\r\n\r\n <div class=\"dropzone-text\" [style.fontSize]=\"grow ? 'large' : ''\"> {{ placeholder }} </div>\r\n </div>\r\n\r\n <ng-container *ngIf=\"filesList?.length > 0\">\r\n <div class=\"files-container\" *ngFor=\"let file of filesList; index as i\">\r\n <img [src]=\"getIconPath(file)\" alt=\"#{{i+1}} picture\" />\r\n\r\n <span class=\"file-name truncate\"> {{ file?.name }}</span>\r\n\r\n <div class=\"delete-container\" (click)=\"_onRemoveFile(i, $event)\">\r\n <img class=\"delete-button\" src=\"assets/general/secondary-x.svg\">\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <div *ngFor=\"let error of errorMessages\">\r\n <span *ngIf=\"error.condition()\" class=\"error-msg\"\r\n [matTooltip]=\"!isSupportedFileType ? '\u05E1\u05D5\u05D2\u05D9 \u05D4\u05E7\u05D1\u05E6\u05D9\u05DD \u05D4\u05E0\u05EA\u05DE\u05DB\u05D9\u05DD: ' + supportedFilesTypes : ''\">\r\n {{ error.message }}\r\n </span>\r\n </div>\r\n\r\n <span (click)=\"$event.stopPropagation()\">\r\n <herum-download-file *ngIf=\"!isSupportedFileType\" [filePath]=\"convertorMediaPath\"\r\n linkText=\"\u05DC\u05D4\u05D5\u05E8\u05D3\u05D4 \u05EA\u05D5\u05DB\u05E0\u05EA \u05D4\u05DE\u05E8\u05EA \u05DE\u05D3\u05D9\u05D4\">\r\n </herum-download-file>\r\n </span>\r\n </div>\r\n</button>\r\n\r\n<div *ngIf=\"previewImageUrl\" class=\"preview-wrapper\">\r\n <div class=\"image-container\">\r\n <img [src]=\"previewImageUrl\" alt=\"Preview\" class=\"preview-image\">\r\n\r\n <button type=\"button\" class=\"remove-btn\" aria-label=\"Remove image\" (click)=\"_onRemoveImage()\">\r\n <img class=\"remove-icon\" src=\"assets/general/secondary-x.svg\" alt=Remove />\r\n </button>\r\n </div>\r\n</div>\r\n\r\n<input #fileInput class=\"d-none\" type=\"file\" [accept]=\"parsedAllowedFileTypes\" (change)=\"_onUploadFiles($event)\"\r\n multiple>", styles: [":host{--close-button-size: 12px;display:flex}.dropzone{display:flex;align-items:center;flex-direction:column;overflow-y:auto;flex:1;border:none;background-color:transparent}.dropzone .dropzone-content{width:100%;display:flex;height:100%;justify-content:center;flex-direction:column;align-items:center}.row-dropzone{display:flex;align-items:center;flex-direction:row!important;gap:8px!important;height:unset!important;padding:8px!important}.upload-file-row-preview{display:flex;gap:8px}.center-icon{align-items:center;display:flex;justify-content:center;flex-direction:column}.dropzone-content:hover{background:var(--item-hover-color);border-color:var(--secondary-color)}.dropzone-content:active{transform:scale(.96)}.dropzone-text{text-align:center}.files-container{display:flex;padding-block-start:10px;gap:10px;width:95%;height:50px;padding:5px;align-items:center}.file-name{width:90%;line-height:1}.delete-container{display:flex;align-items:center;height:100%;width:24px;z-index:3}.delete-button{height:12px;width:12px;position:relative}.upload-file-image{display:flex;align-items:center;justify-content:center;cursor:pointer}.fill-container,.fill-container .dropzone-content{height:100%!important}.not-displayed{display:none}.preview-wrapper{display:inline-block;height:100%;width:100%}.preview-wrapper .image-container{position:relative;display:inline-block;height:100%;width:100%}.preview-wrapper .image-container .preview-image{width:100%;height:100%;border-radius:var(--upload-file-border-radius);object-fit:cover;display:block;position:relative;transition:filter .4s ease}.preview-wrapper .image-container .remove-btn{position:absolute;top:8px;left:8px;background:var(--dark-overlay);border:none;width:var(--close-button-size);height:var(--close-button-size);cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:.8;transition:opacity .2s ease}.preview-wrapper .image-container .remove-btn:hover{opacity:1}.preview-wrapper .image-container .remove-btn .remove-icon{height:var(--close-button-size);width:var(--close-button-size);filter:brightness(0) invert(1)}.preview-wrapper .image-container:hover .preview-image{filter:brightness(50%)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i2$2.HerumDownloadFileComponent, selector: "herum-download-file", inputs: ["fileId", "filePath", "linkText"], outputs: ["downloadFile"] }, { kind: "pipe", type: i4.SafeHtmlPipe, name: "safeHtml" }] });
|
|
9198
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: HerumDropZoneComponent, isStandalone: false, selector: "herum-drop-zone", inputs: { selectedFiles: "selectedFiles", placeholder: "placeholder", numberOfAllowedFiles: "numberOfAllowedFiles", allowedFileTypes: "allowedFileTypes", supportedFilesMimes: "supportedFilesMimes", supportedFilesTypes: "supportedFilesTypes", requiredField: "requiredField", directionPreview: "directionPreview", type: "type", grow: "grow", fillContainer: "fillContainer", uploadFileSvg: "uploadFileSvg", previewImageUrl: "previewImageUrl", allowToDeleteImage: "allowToDeleteImage" }, outputs: { filesDataEvent: "filesDataEvent" }, viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<button class=\"dropzone\" [class.not-displayed]=\"previewImageUrl\" [class.fill-container]=\"fillContainer\"\r\n [style.height]=\"grow ? '100%' : ''\" (drop)=\"_onUploadDroppedFiles($event)\" (click)=\"_onClickFileInput()\"\r\n (dragover)=\"_onPreventDefault($event)\">\r\n <div svgOnHover class=\"dropzone-content upload-file-border\" [style.height]=\"grow ? '100%' : '130px'\"\r\n [ngClass]=\"{'row-dropzone':type=='row'}\"\r\n [ngStyle]=\"{'justify-content': (filesList?.length || type == 'row') ? 'start' : 'center'}\">\r\n <div class=\"center-icon\" [ngClass]=\"{'upload-file-row-preview':directionPreview==='row' }\"\r\n *ngIf=\"!filesList?.length\">\r\n <span class=\"upload-file-image mb-2\" [style.height]=\"grow ? '60px' : ''\" [style.width]=\"grow ? '60px' : ''\"\r\n [innerHTML]=\"uploadFileSvg | safeHtml\">\r\n </span>\r\n\r\n <div class=\"dropzone-text\" [style.fontSize]=\"grow ? 'large' : ''\"> {{ placeholder }} </div>\r\n </div>\r\n\r\n <ng-container *ngIf=\"filesList?.length > 0\">\r\n <div class=\"files-container\" *ngFor=\"let file of filesList; index as i\">\r\n <img [src]=\"getIconPath(file)\" alt=\"#{{i+1}} picture\" />\r\n\r\n <span class=\"file-name truncate\"> {{ file?.name }}</span>\r\n\r\n <div class=\"delete-container\" (click)=\"_onRemoveFile(i, $event)\">\r\n <img class=\"delete-button\" src=\"assets/general/secondary-x.svg\">\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <div *ngFor=\"let error of errorMessages\">\r\n <span *ngIf=\"error.condition()\" class=\"error-msg\"\r\n [matTooltip]=\"!isSupportedFileType ? '\u05E1\u05D5\u05D2\u05D9 \u05D4\u05E7\u05D1\u05E6\u05D9\u05DD \u05D4\u05E0\u05EA\u05DE\u05DB\u05D9\u05DD: ' + supportedFilesTypes : ''\">\r\n {{ error.message }}\r\n </span>\r\n </div>\r\n\r\n <span (click)=\"$event.stopPropagation()\">\r\n <herum-download-file *ngIf=\"!isSupportedFileType\" [filePath]=\"convertorMediaPath\"\r\n linkText=\"\u05DC\u05D4\u05D5\u05E8\u05D3\u05D4 \u05EA\u05D5\u05DB\u05E0\u05EA \u05D4\u05DE\u05E8\u05EA \u05DE\u05D3\u05D9\u05D4\">\r\n </herum-download-file>\r\n </span>\r\n </div>\r\n</button>\r\n\r\n<div *ngIf=\"previewImageUrl\" class=\"preview-wrapper\">\r\n <div class=\"image-container\">\r\n <img [src]=\"previewImageUrl\" alt=\"Preview\" class=\"preview-image\">\r\n\r\n <button type=\"button\" class=\"remove-btn\" aria-label=\"Remove image\" (click)=\"_onRemoveImage()\">\r\n <img class=\"remove-icon\" src=\"assets/general/secondary-x.svg\" alt=Remove />\r\n </button>\r\n </div>\r\n</div>\r\n\r\n<input #fileInput class=\"d-none\" type=\"file\" [accept]=\"parsedAllowedFileTypes\" (change)=\"_onUploadFiles($event)\"\r\n multiple>", styles: [":host{--close-button-size: 12px;display:flex}.dropzone{display:flex;align-items:center;flex-direction:column;overflow-y:auto;flex:1;border:none;background-color:transparent}.dropzone .dropzone-content{width:100%;display:flex;height:100%;justify-content:center;flex-direction:column;align-items:center}.row-dropzone{display:flex;align-items:center;flex-direction:row!important;gap:8px!important;height:unset!important;padding:8px!important}.upload-file-row-preview{display:flex;gap:8px}.center-icon{align-items:center;display:flex;justify-content:center;flex-direction:column}.dropzone-content:hover{background:var(--item-hover-color);border-color:var(--secondary-color)}.dropzone-content:active{transform:scale(.96)}.dropzone-text{text-align:center}.files-container{display:flex;padding-block-start:10px;gap:10px;width:95%;height:50px;padding:5px;align-items:center}.file-name{width:90%;line-height:1}.delete-container{display:flex;align-items:center;height:100%;width:24px;z-index:3}.delete-button{height:12px;width:12px;position:relative}.upload-file-image{display:flex;align-items:center;justify-content:center;cursor:pointer}.fill-container,.fill-container .dropzone-content{height:100%!important}.not-displayed{display:none}.preview-wrapper{display:inline-block;height:100%;width:100%}.preview-wrapper .image-container{position:relative;display:inline-block;height:100%;width:100%}.preview-wrapper .image-container .preview-image{width:100%;height:100%;border-radius:var(--upload-file-border-radius);object-fit:cover;display:block;position:relative;transition:filter .4s ease}.preview-wrapper .image-container .remove-btn{position:absolute;top:8px;left:8px;background:var(--dark-overlay);border:none;width:var(--close-button-size);height:var(--close-button-size);cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:.8;transition:opacity .2s ease}.preview-wrapper .image-container .remove-btn:hover{opacity:1}.preview-wrapper .image-container .remove-btn .remove-icon{height:var(--close-button-size);width:var(--close-button-size);filter:brightness(0) invert(1)}.preview-wrapper .image-container:hover .preview-image{filter:brightness(50%)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i4.SvgOnHoverDirective, selector: "[svgOnHover]", inputs: ["svgOnHover"] }, { kind: "component", type: i2$2.HerumDownloadFileComponent, selector: "herum-download-file", inputs: ["fileId", "filePath", "linkText"], outputs: ["downloadFile"] }, { kind: "pipe", type: i4$1.SafeHtmlPipe, name: "safeHtml" }] });
|
|
9161
9199
|
}
|
|
9162
9200
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: HerumDropZoneComponent, decorators: [{
|
|
9163
9201
|
type: Component,
|
|
@@ -9521,6 +9559,7 @@ class MoleculesModule {
|
|
|
9521
9559
|
DragDropModule,
|
|
9522
9560
|
MatDatepickerModule,
|
|
9523
9561
|
MatNativeDateModule,
|
|
9562
|
+
DirectivesModule$1,
|
|
9524
9563
|
PipesModule$1,
|
|
9525
9564
|
AtomsModule$1], exports: [HerumActiveLinkComponent,
|
|
9526
9565
|
HerumActiveMenuComponent,
|
|
@@ -9562,6 +9601,7 @@ class MoleculesModule {
|
|
|
9562
9601
|
DragDropModule,
|
|
9563
9602
|
MatDatepickerModule,
|
|
9564
9603
|
MatNativeDateModule,
|
|
9604
|
+
DirectivesModule$1,
|
|
9565
9605
|
PipesModule$1,
|
|
9566
9606
|
AtomsModule$1] });
|
|
9567
9607
|
}
|
|
@@ -9632,6 +9672,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
|
|
|
9632
9672
|
DragDropModule,
|
|
9633
9673
|
MatDatepickerModule,
|
|
9634
9674
|
MatNativeDateModule,
|
|
9675
|
+
DirectivesModule$1,
|
|
9635
9676
|
PipesModule$1,
|
|
9636
9677
|
AtomsModule$1
|
|
9637
9678
|
],
|
|
@@ -9717,7 +9758,7 @@ class FetchedMessageDialog {
|
|
|
9717
9758
|
this.dialogRef.close();
|
|
9718
9759
|
}
|
|
9719
9760
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: FetchedMessageDialog, deps: [{ token: i1$6.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
9720
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: FetchedMessageDialog, isStandalone: false, selector: "fetched-message-dialog", ngImport: i0, template: "<div class=\"fetched-message-dialog-container\">\r\n <div class=\"message-content\">\r\n <div [innerHTML]=\"message?.image | safeHtml\"></div>\r\n\r\n <div>\r\n <div [innerHTML]=\"message?.title | safeHtml\"></div>\r\n <div [innerHTML]=\"message?.subTitle | safeHtml\"></div>\r\n <div [innerHTML]=\"message?.content | safeHtml\"></div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"dialog-buttons-actions-container\">\r\n <herum-button [name]=\"'fetched-messsage-dialog-submission'\" (click)=\"_onCloseDialog()\">\r\n {{message?.actionButtonText}}\r\n </herum-button>\r\n </div>\r\n</div>", styles: [".fetched-message-dialog-container{width:50vw!important;min-width:710px}.message-content{display:flex;gap:16px}\n", ".dialog-container,form{display:flex;flex-direction:column;gap:16px;position:relative;padding:16px;max-height:80vh;width:30vw}.title{font-size:18px;font-weight:600}.description{font-size:14px}p{margin:0}.dialog-buttons-actions-container{width:100%;justify-content:flex-end;gap:16px;display:flex;flex-direction:row}.close-dialog{position:absolute;top:20px;left:20px}.title-container{display:flex;align-items:center;justify-content:space-between}.close-button{cursor:pointer;height:11px}\n"], dependencies: [{ kind: "component", type: i2$2.HerumButtonComponent, selector: "herum-button", inputs: ["type", "color", "size", "roundedCorners", "disabled", "isLoading", "name"] }, { kind: "pipe", type: i4.SafeHtmlPipe, name: "safeHtml" }] });
|
|
9761
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: FetchedMessageDialog, isStandalone: false, selector: "fetched-message-dialog", ngImport: i0, template: "<div class=\"fetched-message-dialog-container\">\r\n <div class=\"message-content\">\r\n <div [innerHTML]=\"message?.image | safeHtml\"></div>\r\n\r\n <div>\r\n <div [innerHTML]=\"message?.title | safeHtml\"></div>\r\n <div [innerHTML]=\"message?.subTitle | safeHtml\"></div>\r\n <div [innerHTML]=\"message?.content | safeHtml\"></div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"dialog-buttons-actions-container\">\r\n <herum-button [name]=\"'fetched-messsage-dialog-submission'\" (click)=\"_onCloseDialog()\">\r\n {{message?.actionButtonText}}\r\n </herum-button>\r\n </div>\r\n</div>", styles: [".fetched-message-dialog-container{width:50vw!important;min-width:710px}.message-content{display:flex;gap:16px}\n", ".dialog-container,form{display:flex;flex-direction:column;gap:16px;position:relative;padding:16px;max-height:80vh;width:30vw}.title{font-size:18px;font-weight:600}.description{font-size:14px}p{margin:0}.dialog-buttons-actions-container{width:100%;justify-content:flex-end;gap:16px;display:flex;flex-direction:row}.close-dialog{position:absolute;top:20px;left:20px}.title-container{display:flex;align-items:center;justify-content:space-between}.close-button{cursor:pointer;height:11px}\n"], dependencies: [{ kind: "component", type: i2$2.HerumButtonComponent, selector: "herum-button", inputs: ["type", "color", "size", "roundedCorners", "disabled", "isLoading", "name"] }, { kind: "pipe", type: i4$1.SafeHtmlPipe, name: "safeHtml" }] });
|
|
9721
9762
|
}
|
|
9722
9763
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: FetchedMessageDialog, decorators: [{
|
|
9723
9764
|
type: Component,
|
|
@@ -9844,7 +9885,7 @@ class DeleteRowComponent {
|
|
|
9844
9885
|
this.params?.context.componentParent.deleteChildComponentReference(this);
|
|
9845
9886
|
}
|
|
9846
9887
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: DeleteRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9847
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: DeleteRowComponent, isStandalone: false, selector: "delete-row", inputs: { isRowHovered: "isRowHovered", params: "params" }, ngImport: i0, template: "<div class=\"cell-container\">\r\n <div #cellValue class=\"cell-value\" [matTooltip]=\"_isTruncatedTitleElement(cellValue)? value : ''\">\r\n {{value | ellipsis:cellValue}}\r\n </div>\r\n\r\n <img class=\"cursor-pointer\" *ngIf=\"isRowHovered\" src=\"assets/feed/icons/garbage.svg\"\r\n (click)=\"_onDelete($event)\" alt=\"delete\">\r\n</div>", styles: [".cell-container{display:flex;justify-content:space-between;align-items:center;gap:10px}.cell-value{width:250px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "pipe", type: i4.EllipsisPipe, name: "ellipsis" }] });
|
|
9888
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: DeleteRowComponent, isStandalone: false, selector: "delete-row", inputs: { isRowHovered: "isRowHovered", params: "params" }, ngImport: i0, template: "<div class=\"cell-container\">\r\n <div #cellValue class=\"cell-value\" [matTooltip]=\"_isTruncatedTitleElement(cellValue)? value : ''\">\r\n {{value | ellipsis:cellValue}}\r\n </div>\r\n\r\n <img class=\"cursor-pointer\" *ngIf=\"isRowHovered\" src=\"assets/feed/icons/garbage.svg\"\r\n (click)=\"_onDelete($event)\" alt=\"delete\">\r\n</div>", styles: [".cell-container{display:flex;justify-content:space-between;align-items:center;gap:10px}.cell-value{width:250px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "pipe", type: i4$1.EllipsisPipe, name: "ellipsis" }] });
|
|
9848
9889
|
}
|
|
9849
9890
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: DeleteRowComponent, decorators: [{
|
|
9850
9891
|
type: Component,
|
|
@@ -9894,7 +9935,7 @@ class EditRowComponent {
|
|
|
9894
9935
|
this.params?.context.componentParent.deleteChildComponentReference(this);
|
|
9895
9936
|
}
|
|
9896
9937
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: EditRowComponent, deps: [{ token: i1$8.Clipboard }], target: i0.ɵɵFactoryTarget.Component });
|
|
9897
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: EditRowComponent, isStandalone: false, selector: "edit-row", inputs: { isRowHovered: "isRowHovered", params: "params" }, ngImport: i0, template: "<div class=\"cell-container\">\r\n <span class=\"text\" (click)=\"_onCopyToClipboard($event)\" [matTooltip]=\"isCopyableToClipboard? '\u05DC\u05D7\u05E5 \u05DC\u05D4\u05E2\u05EA\u05E7\u05D4' : ''\"\r\n matTooltipShowDelay=\"600\">{{value}}</span>\r\n\r\n <span class=\"edit-button\" *ngIf=\"isRowHovered\" [innerHTML]=\"editIcon | safeHtml\" (click)=\"_onEdit($event)\"\r\n alt=\"edit\"></span>\r\n</div>", styles: [":host{width:100%}.cell-container{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px}.edit-button{cursor:pointer;stroke:var(--icons-color)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "pipe", type: i4.SafeHtmlPipe, name: "safeHtml" }] });
|
|
9938
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: EditRowComponent, isStandalone: false, selector: "edit-row", inputs: { isRowHovered: "isRowHovered", params: "params" }, ngImport: i0, template: "<div class=\"cell-container\">\r\n <span class=\"text\" (click)=\"_onCopyToClipboard($event)\" [matTooltip]=\"isCopyableToClipboard? '\u05DC\u05D7\u05E5 \u05DC\u05D4\u05E2\u05EA\u05E7\u05D4' : ''\"\r\n matTooltipShowDelay=\"600\">{{value}}</span>\r\n\r\n <span class=\"edit-button\" *ngIf=\"isRowHovered\" [innerHTML]=\"editIcon | safeHtml\" (click)=\"_onEdit($event)\"\r\n alt=\"edit\"></span>\r\n</div>", styles: [":host{width:100%}.cell-container{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px}.edit-button{cursor:pointer;stroke:var(--icons-color)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "pipe", type: i4$1.SafeHtmlPipe, name: "safeHtml" }] });
|
|
9898
9939
|
}
|
|
9899
9940
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: EditRowComponent, decorators: [{
|
|
9900
9941
|
type: Component,
|
|
@@ -10188,7 +10229,7 @@ class HerumAgGridFilterComponent {
|
|
|
10188
10229
|
this.destroySubject$.complete();
|
|
10189
10230
|
}
|
|
10190
10231
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: HerumAgGridFilterComponent, deps: [{ token: HERUM_SHARED_CONFIG_TOKEN }], target: i0.ɵɵFactoryTarget.Component });
|
|
10191
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: HerumAgGridFilterComponent, isStandalone: false, selector: "app-herum-ag-grid-filter", ngImport: i0, template: "<div class=\"ag-filter\">\r\n <herum-input-field [type]=\"'search'\" [placeholder]=\"'\u05D7\u05E4\u05E9 \u05E2\u05E8\u05DA \u05DC\u05E4\u05D9\u05DC\u05D8\u05D5\u05E8'\" [showErrorMsgGap]=\"false\"\r\n [formControl]=\"selectedFilter\"></herum-input-field>\r\n <div>\r\n <div class=\"ag-filter-body-wrapper\">\r\n <div ref=\"ag-filter-loading\" class=\"loading-filter ag-hidden\">\r\n Loading...\r\n </div>\r\n <div>\r\n <div id=\"richList\" class=\"ag-set-filter-list\">\r\n <div class=\"ag-virtual-list-viewport\">\r\n <div class=\"ag-virtual-list-container\" [attr.style.height]=\"containerHeight\">\r\n <div style=\"line-height: 28px;\">\r\n <label class=\"ag-set-filter-item\">\r\n <div class=\"ag-filter-checkbox\">\r\n <herum-checkbox [isChecked]=\"isEverythingSelected\" [type]=\"checkBoxType\"\r\n [isBlocked]=\"isToggleAllCheckBoxBlocked\"\r\n (checkedEmitter)=\"toggleEverything()\"></herum-checkbox>\r\n </div>\r\n <span class=\"ag-filter-value select-all-bold\">\u05D1\u05D7\u05E8 \u05D4\u05DB\u05DC</span>\r\n </label>\r\n </div>\r\n\r\n <div style=\"line-height: 28px;\" *ngFor=\"let item of (onFilterValuesChanged$ | async)\">\r\n <label class=\"ag-set-filter-item\">\r\n <div class=\"ag-filter-checkbox\">\r\n <herum-checkbox (checkedEmitter)=\"toggleItem(item)\"\r\n [isChecked]=\"selectedValuesMap.hasOwnProperty(item)\"></herum-checkbox>\r\n </div>\r\n\r\n <span #agFilterValue appHerumToolTip class=\"ag-filter-value w-100\"\r\n [matTooltip]=\"isTruncatedTitleElement(agFilterValue)? item : ''\">\r\n {{item === '' ? '(\u05E8\u05D9\u05E7)': item | ellipsis:agFilterValue}}\r\n </span>\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: [".ag-set-filter-item{gap:8px}::ng-deep .ag-menu{border-radius:var(--border-radius)!important}.select-all-bold{font-weight:700}::ng-deep .ag-theme-alpine .ag-popup-child:not(.ag-tooltip-custom){width:136px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2$2.HerumCheckboxComponent, selector: "herum-checkbox", inputs: ["type", "isChecked", "isBlocked"], outputs: ["checkedEmitter"] }, { kind: "component", type: i2$2.HerumInputFieldComponent, selector: "herum-input-field", inputs: ["type", "placeholder", "disabled", "isBlocked", "isValid", "errorMsg", "showErrorMsgGap", "inputValue", "isLoading", "id", "debounceTime", "minValue", "maxValue", "isBlurred", "touched", "ltrMode", "preventMacroKeysPressEvent"], outputs: ["inputValueEmitter"] }, { kind: "directive", type: i1$
|
|
10232
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: HerumAgGridFilterComponent, isStandalone: false, selector: "app-herum-ag-grid-filter", ngImport: i0, template: "<div class=\"ag-filter\">\r\n <herum-input-field [type]=\"'search'\" [placeholder]=\"'\u05D7\u05E4\u05E9 \u05E2\u05E8\u05DA \u05DC\u05E4\u05D9\u05DC\u05D8\u05D5\u05E8'\" [showErrorMsgGap]=\"false\"\r\n [formControl]=\"selectedFilter\"></herum-input-field>\r\n <div>\r\n <div class=\"ag-filter-body-wrapper\">\r\n <div ref=\"ag-filter-loading\" class=\"loading-filter ag-hidden\">\r\n Loading...\r\n </div>\r\n <div>\r\n <div id=\"richList\" class=\"ag-set-filter-list\">\r\n <div class=\"ag-virtual-list-viewport\">\r\n <div class=\"ag-virtual-list-container\" [attr.style.height]=\"containerHeight\">\r\n <div style=\"line-height: 28px;\">\r\n <label class=\"ag-set-filter-item\">\r\n <div class=\"ag-filter-checkbox\">\r\n <herum-checkbox [isChecked]=\"isEverythingSelected\" [type]=\"checkBoxType\"\r\n [isBlocked]=\"isToggleAllCheckBoxBlocked\"\r\n (checkedEmitter)=\"toggleEverything()\"></herum-checkbox>\r\n </div>\r\n <span class=\"ag-filter-value select-all-bold\">\u05D1\u05D7\u05E8 \u05D4\u05DB\u05DC</span>\r\n </label>\r\n </div>\r\n\r\n <div style=\"line-height: 28px;\" *ngFor=\"let item of (onFilterValuesChanged$ | async)\">\r\n <label class=\"ag-set-filter-item\">\r\n <div class=\"ag-filter-checkbox\">\r\n <herum-checkbox (checkedEmitter)=\"toggleItem(item)\"\r\n [isChecked]=\"selectedValuesMap.hasOwnProperty(item)\"></herum-checkbox>\r\n </div>\r\n\r\n <span #agFilterValue appHerumToolTip class=\"ag-filter-value w-100\"\r\n [matTooltip]=\"isTruncatedTitleElement(agFilterValue)? item : ''\">\r\n {{item === '' ? '(\u05E8\u05D9\u05E7)': item | ellipsis:agFilterValue}}\r\n </span>\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: [".ag-set-filter-item{gap:8px}::ng-deep .ag-menu{border-radius:var(--border-radius)!important}.select-all-bold{font-weight:700}::ng-deep .ag-theme-alpine .ag-popup-child:not(.ag-tooltip-custom){width:136px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2$2.HerumCheckboxComponent, selector: "herum-checkbox", inputs: ["type", "isChecked", "isBlocked"], outputs: ["checkedEmitter"] }, { kind: "component", type: i2$2.HerumInputFieldComponent, selector: "herum-input-field", inputs: ["type", "placeholder", "disabled", "isBlocked", "isValid", "errorMsg", "showErrorMsgGap", "inputValue", "isLoading", "id", "debounceTime", "minValue", "maxValue", "isBlurred", "touched", "ltrMode", "preventMacroKeysPressEvent"], outputs: ["inputValueEmitter"] }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4$1.EllipsisPipe, name: "ellipsis" }] });
|
|
10192
10233
|
}
|
|
10193
10234
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: HerumAgGridFilterComponent, decorators: [{
|
|
10194
10235
|
type: Component,
|
|
@@ -10574,16 +10615,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
|
|
|
10574
10615
|
|
|
10575
10616
|
class HerumSharedModule {
|
|
10576
10617
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: HerumSharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
10577
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.17", ngImport: i0, type: HerumSharedModule, declarations: [
|
|
10578
|
-
HerumVideoPlayerComponent,
|
|
10618
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.17", ngImport: i0, type: HerumSharedModule, declarations: [HerumVideoPlayerComponent,
|
|
10579
10619
|
TrackTextChangesComponent,
|
|
10580
10620
|
HerumVideoRangeBarComponent,
|
|
10581
10621
|
HerumPdfViewerComponent,
|
|
10582
10622
|
HerumStoryViewerComponent,
|
|
10583
|
-
UserActionDirective,
|
|
10584
10623
|
HerumPresentationViewerComponent,
|
|
10585
10624
|
HerumLoaderComponent,
|
|
10586
|
-
SvgOnHoverDirective,
|
|
10587
10625
|
HerumQuizComponent,
|
|
10588
10626
|
QuizHeaderComponent,
|
|
10589
10627
|
QuizTwoAnswersQuestionComponent,
|
|
@@ -10604,8 +10642,7 @@ class HerumSharedModule {
|
|
|
10604
10642
|
HerumDateTimePickerSelectComponent,
|
|
10605
10643
|
HerumTimeRangeSelectComponent,
|
|
10606
10644
|
AudioSliderComponent,
|
|
10607
|
-
QuizOpenAnswerQuestionComponent,
|
|
10608
|
-
HerumHighlightDirective], imports: [CommonModule,
|
|
10645
|
+
QuizOpenAnswerQuestionComponent], imports: [CommonModule,
|
|
10609
10646
|
ReactiveFormsModule,
|
|
10610
10647
|
FormsModule,
|
|
10611
10648
|
MatMenuModule,
|
|
@@ -10622,6 +10659,7 @@ class HerumSharedModule {
|
|
|
10622
10659
|
DragDropModule,
|
|
10623
10660
|
MatDatepickerModule,
|
|
10624
10661
|
MatNativeDateModule,
|
|
10662
|
+
DirectivesModule,
|
|
10625
10663
|
DialogsModule,
|
|
10626
10664
|
AtomsModule,
|
|
10627
10665
|
PipesModule,
|
|
@@ -10629,16 +10667,12 @@ class HerumSharedModule {
|
|
|
10629
10667
|
ErrorsModule,
|
|
10630
10668
|
FetchedMessageModule,
|
|
10631
10669
|
TableModule], exports: [TrackTextChangesComponent,
|
|
10632
|
-
HerumToolTipDirective,
|
|
10633
|
-
UserActionDirective,
|
|
10634
10670
|
HerumVideoPlayerComponent,
|
|
10635
10671
|
HerumPdfViewerComponent,
|
|
10636
10672
|
HerumStoryViewerComponent,
|
|
10637
10673
|
HerumLoaderComponent,
|
|
10638
10674
|
HerumLocalLoaderComponent,
|
|
10639
10675
|
HerumQuizComponent,
|
|
10640
|
-
SvgOnHoverDirective,
|
|
10641
|
-
HerumHighlightDirective,
|
|
10642
10676
|
CommonModule,
|
|
10643
10677
|
HerumListCentralizerComponent,
|
|
10644
10678
|
BlockedFormComponent,
|
|
@@ -10652,6 +10686,7 @@ class HerumSharedModule {
|
|
|
10652
10686
|
QuizOneAnswerQuestionComponent,
|
|
10653
10687
|
QuizMultiAnswerQuestionComponent,
|
|
10654
10688
|
QuizOpenAnswerQuestionComponent,
|
|
10689
|
+
DirectivesModule,
|
|
10655
10690
|
DialogsModule,
|
|
10656
10691
|
AtomsModule,
|
|
10657
10692
|
MoleculesModule,
|
|
@@ -10679,6 +10714,7 @@ class HerumSharedModule {
|
|
|
10679
10714
|
DragDropModule,
|
|
10680
10715
|
MatDatepickerModule,
|
|
10681
10716
|
MatNativeDateModule,
|
|
10717
|
+
DirectivesModule,
|
|
10682
10718
|
DialogsModule,
|
|
10683
10719
|
AtomsModule,
|
|
10684
10720
|
PipesModule,
|
|
@@ -10686,6 +10722,7 @@ class HerumSharedModule {
|
|
|
10686
10722
|
ErrorsModule,
|
|
10687
10723
|
FetchedMessageModule,
|
|
10688
10724
|
TableModule, CommonModule,
|
|
10725
|
+
DirectivesModule,
|
|
10689
10726
|
DialogsModule,
|
|
10690
10727
|
AtomsModule,
|
|
10691
10728
|
MoleculesModule,
|
|
@@ -10698,16 +10735,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
|
|
|
10698
10735
|
type: NgModule,
|
|
10699
10736
|
args: [{
|
|
10700
10737
|
declarations: [
|
|
10701
|
-
HerumToolTipDirective,
|
|
10702
10738
|
HerumVideoPlayerComponent,
|
|
10703
10739
|
TrackTextChangesComponent,
|
|
10704
10740
|
HerumVideoRangeBarComponent,
|
|
10705
10741
|
HerumPdfViewerComponent,
|
|
10706
10742
|
HerumStoryViewerComponent,
|
|
10707
|
-
UserActionDirective,
|
|
10708
10743
|
HerumPresentationViewerComponent,
|
|
10709
10744
|
HerumLoaderComponent,
|
|
10710
|
-
SvgOnHoverDirective,
|
|
10711
10745
|
HerumQuizComponent,
|
|
10712
10746
|
QuizHeaderComponent,
|
|
10713
10747
|
QuizTwoAnswersQuestionComponent,
|
|
@@ -10729,20 +10763,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
|
|
|
10729
10763
|
HerumTimeRangeSelectComponent,
|
|
10730
10764
|
AudioSliderComponent,
|
|
10731
10765
|
QuizOpenAnswerQuestionComponent,
|
|
10732
|
-
HerumHighlightDirective,
|
|
10733
10766
|
],
|
|
10734
10767
|
exports: [
|
|
10735
10768
|
TrackTextChangesComponent,
|
|
10736
|
-
HerumToolTipDirective,
|
|
10737
|
-
UserActionDirective,
|
|
10738
10769
|
HerumVideoPlayerComponent,
|
|
10739
10770
|
HerumPdfViewerComponent,
|
|
10740
10771
|
HerumStoryViewerComponent,
|
|
10741
10772
|
HerumLoaderComponent,
|
|
10742
10773
|
HerumLocalLoaderComponent,
|
|
10743
10774
|
HerumQuizComponent,
|
|
10744
|
-
SvgOnHoverDirective,
|
|
10745
|
-
HerumHighlightDirective,
|
|
10746
10775
|
CommonModule,
|
|
10747
10776
|
HerumListCentralizerComponent,
|
|
10748
10777
|
BlockedFormComponent,
|
|
@@ -10756,6 +10785,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
|
|
|
10756
10785
|
QuizOneAnswerQuestionComponent,
|
|
10757
10786
|
QuizMultiAnswerQuestionComponent,
|
|
10758
10787
|
QuizOpenAnswerQuestionComponent,
|
|
10788
|
+
DirectivesModule,
|
|
10759
10789
|
DialogsModule,
|
|
10760
10790
|
AtomsModule,
|
|
10761
10791
|
MoleculesModule,
|
|
@@ -10782,6 +10812,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
|
|
|
10782
10812
|
DragDropModule,
|
|
10783
10813
|
MatDatepickerModule,
|
|
10784
10814
|
MatNativeDateModule,
|
|
10815
|
+
DirectivesModule,
|
|
10785
10816
|
DialogsModule,
|
|
10786
10817
|
AtomsModule,
|
|
10787
10818
|
PipesModule,
|
|
@@ -10860,7 +10891,7 @@ class FetchedMessageService {
|
|
|
10860
10891
|
fetchedMessageData() {
|
|
10861
10892
|
return this.http.get(buildPath([this.environmentConfig?.environment?.siteServerPath, 'Messages', this.messageKey]));
|
|
10862
10893
|
}
|
|
10863
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: FetchedMessageService, deps: [{ token: i1$
|
|
10894
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: FetchedMessageService, deps: [{ token: i1$5.HttpClient }, { token: i1$6.MatDialog }, { token: HERUM_SHARED_CONFIG_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
10864
10895
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: FetchedMessageService, providedIn: 'root' });
|
|
10865
10896
|
}
|
|
10866
10897
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: FetchedMessageService, decorators: [{
|
|
@@ -10868,7 +10899,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
|
|
|
10868
10899
|
args: [{
|
|
10869
10900
|
providedIn: 'root'
|
|
10870
10901
|
}]
|
|
10871
|
-
}], ctorParameters: () => [{ type: i1$
|
|
10902
|
+
}], ctorParameters: () => [{ type: i1$5.HttpClient }, { type: i1$6.MatDialog }, { type: undefined, decorators: [{
|
|
10872
10903
|
type: Inject,
|
|
10873
10904
|
args: [HERUM_SHARED_CONFIG_TOKEN]
|
|
10874
10905
|
}] }] });
|
|
@@ -11000,12 +11031,12 @@ class ErrorsHandlerService {
|
|
|
11000
11031
|
else
|
|
11001
11032
|
this.failedDependentsRequestsContext[dependentId] = initialValue ? { error, failedComplexObservableArrowFunctions, initialValue } : { error, failedComplexObservableArrowFunctions };
|
|
11002
11033
|
}
|
|
11003
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: ErrorsHandlerService, deps: [{ token: i1$6.MatDialog }, { token: i1$
|
|
11034
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: ErrorsHandlerService, deps: [{ token: i1$6.MatDialog }, { token: i1$5.HttpClient }, { token: i1$2.UtilsService }, { token: HERUM_SHARED_CONFIG_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
11004
11035
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: ErrorsHandlerService });
|
|
11005
11036
|
}
|
|
11006
11037
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: ErrorsHandlerService, decorators: [{
|
|
11007
11038
|
type: Injectable
|
|
11008
|
-
}], ctorParameters: () => [{ type: i1$6.MatDialog }, { type: i1$
|
|
11039
|
+
}], ctorParameters: () => [{ type: i1$6.MatDialog }, { type: i1$5.HttpClient }, { type: i1$2.UtilsService }, { type: undefined, decorators: [{
|
|
11009
11040
|
type: Inject,
|
|
11010
11041
|
args: [HERUM_SHARED_CONFIG_TOKEN]
|
|
11011
11042
|
}] }] });
|
|
@@ -11277,12 +11308,12 @@ class UploadsManagerService {
|
|
|
11277
11308
|
let status = areAllCommonUploadsProgressFinishedSuccesfully ? toastStatuses.success : toastStatuses.error;
|
|
11278
11309
|
this.toastsService.showToast(title, content, status);
|
|
11279
11310
|
}
|
|
11280
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: UploadsManagerService, deps: [{ token: ErrorsHandlerService }, { token: DependentsService }, { token: i1$
|
|
11311
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: UploadsManagerService, deps: [{ token: ErrorsHandlerService }, { token: DependentsService }, { token: i1$5.HttpClient }, { token: ToastsService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
11281
11312
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: UploadsManagerService });
|
|
11282
11313
|
}
|
|
11283
11314
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: UploadsManagerService, decorators: [{
|
|
11284
11315
|
type: Injectable
|
|
11285
|
-
}], ctorParameters: () => [{ type: ErrorsHandlerService }, { type: DependentsService }, { type: i1$
|
|
11316
|
+
}], ctorParameters: () => [{ type: ErrorsHandlerService }, { type: DependentsService }, { type: i1$5.HttpClient }, { type: ToastsService }] });
|
|
11286
11317
|
|
|
11287
11318
|
class HerumToastsComponent {
|
|
11288
11319
|
toastsService;
|
|
@@ -11374,7 +11405,7 @@ class HerumToastsComponent {
|
|
|
11374
11405
|
return toastStatuses.success;
|
|
11375
11406
|
}
|
|
11376
11407
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: HerumToastsComponent, deps: [{ token: ToastsService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
11377
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: HerumToastsComponent, isStandalone: false, selector: "herum-toasts", viewQueries: [{ propertyName: "toastElements", predicate: ["toast"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"toasts?.length\">\r\n <div #toast class=\"herum-toast d-flex\" [ngClass]=\"[toast?.state ?? '',toast?.status ?? '']\"\r\n *ngFor=\"let toast of toasts; trackBy: _trackByFn\">\r\n <span [ngClass]=\"{'icons-color':toast?.status===successStatus}\"\r\n [innerHTML]=\"_toastStatusIcon(toast?.status) | safeHtml\">\r\n </span>\r\n\r\n <div class=\"d-flex flex-column\">\r\n <div class=\"section-title\"> {{toast?.title}}</div>\r\n <div class='toast-content'> {{toast?.content}}</div>\r\n </div>\r\n\r\n <img class=\"close-button\" src=\"assets/shared/icons/secondary-x.svg\" alt=\"close-icon\"\r\n (click)=\"_onHideToast(toast,true)\">\r\n </div>\r\n</ng-container>", styles: [".herum-toast{position:absolute;bottom:0;right:0;width:340px;padding:var(--standard-padding);border-radius:var(--border-radius);background-color:#fff;box-shadow:0 0 var(--box-shadow-blur) #00000029!important;transition:transform .4s ease-out,opacity .4s ease-out;transform:translate(100%);opacity:0}.herum-toast .icons-color{fill:var(--icons-color)}.herum-toast .status-image{height:22px;width:22px;margin-left:6px}.herum-toast .close-button{height:8px;left:8px;top:8px;position:absolute;cursor:pointer;margin-block-end:4px}.toast-content{flex-grow:1;flex-shrink:1}.enter{transform:translate(0);opacity:1}.success{border-right:solid 8px #4caf50}.information{border-right:solid 8px var(--information-color)}.error{border-right:solid 8px var(--error-color)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.SafeHtmlPipe, name: "safeHtml" }] });
|
|
11408
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: HerumToastsComponent, isStandalone: false, selector: "herum-toasts", viewQueries: [{ propertyName: "toastElements", predicate: ["toast"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"toasts?.length\">\r\n <div #toast class=\"herum-toast d-flex\" [ngClass]=\"[toast?.state ?? '',toast?.status ?? '']\"\r\n *ngFor=\"let toast of toasts; trackBy: _trackByFn\">\r\n <span [ngClass]=\"{'icons-color':toast?.status===successStatus}\"\r\n [innerHTML]=\"_toastStatusIcon(toast?.status) | safeHtml\">\r\n </span>\r\n\r\n <div class=\"d-flex flex-column\">\r\n <div class=\"section-title\"> {{toast?.title}}</div>\r\n <div class='toast-content'> {{toast?.content}}</div>\r\n </div>\r\n\r\n <img class=\"close-button\" src=\"assets/shared/icons/secondary-x.svg\" alt=\"close-icon\"\r\n (click)=\"_onHideToast(toast,true)\">\r\n </div>\r\n</ng-container>", styles: [".herum-toast{position:absolute;bottom:0;right:0;width:340px;padding:var(--standard-padding);border-radius:var(--border-radius);background-color:#fff;box-shadow:0 0 var(--box-shadow-blur) #00000029!important;transition:transform .4s ease-out,opacity .4s ease-out;transform:translate(100%);opacity:0}.herum-toast .icons-color{fill:var(--icons-color)}.herum-toast .status-image{height:22px;width:22px;margin-left:6px}.herum-toast .close-button{height:8px;left:8px;top:8px;position:absolute;cursor:pointer;margin-block-end:4px}.toast-content{flex-grow:1;flex-shrink:1}.enter{transform:translate(0);opacity:1}.success{border-right:solid 8px #4caf50}.information{border-right:solid 8px var(--information-color)}.error{border-right:solid 8px var(--error-color)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4$1.SafeHtmlPipe, name: "safeHtml" }] });
|
|
11378
11409
|
}
|
|
11379
11410
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: HerumToastsComponent, decorators: [{
|
|
11380
11411
|
type: Component,
|
|
@@ -11487,7 +11518,7 @@ class HerumUploadsManagerComponent {
|
|
|
11487
11518
|
this.destroySubject$.complete();
|
|
11488
11519
|
}
|
|
11489
11520
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: HerumUploadsManagerComponent, deps: [{ token: UploadsManagerService }], target: i0.ɵɵFactoryTarget.Component });
|
|
11490
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: HerumUploadsManagerComponent, isStandalone: false, selector: "herum-uploads-manager", host: { listeners: { "window:beforeunload": "showConfirmationNativeMessage($event)" } }, ngImport: i0, template: "<div class=\"herum-uploads-layout shadow\" [ngClass]=\"{'open':isContainerOpen}\" *ngIf=\"uploadsProgressMetadata?.length\">\r\n <div class=\"herum-uploads-container-header\">\r\n <div class=\"herum-uploads-header\">\r\n <div class=\"herum-uploads-header-text\">\r\n <herum-ellipsis-loader *ngIf=\"!hasUploadProgressFinished\"></herum-ellipsis-loader>\r\n\r\n <p class=\"container-title\" #containerTitle\r\n [matTooltip]=\"_isTruncatedTitleElement(containerTitle)? (containerTitle$ | async) : '' \">\r\n {{containerTitle$ | async | ellipsis:containerTitle}}</p>\r\n </div>\r\n\r\n <div class=\"control-container\">\r\n <img class=\"control-button\"\r\n [ngClass]=\"{'open-chevron':isContainerOpen, 'closed-chevron':!isContainerOpen}\"\r\n src=\"assets/general/white-chevron.svg\" (click)=\"_onToggleUploadsContainer()\">\r\n\r\n <img class=\"control-button\" *ngIf=\"hasUploadProgressFinished\" src=\"assets/shared/icons/X.svg\"\r\n alt=\"close-icon\" (click)=\"_onClose()\">\r\n </div>\r\n </div>\r\n\r\n <herum-progress-bar [percentage]=\"averageProgressSum\" [percentagePosition]=\"'none'\" [borderRadius]=\"'none'\"\r\n [showBorder]=\"false\" [thickness]=\"'thin'\" [showPercentage]=\"false\" [color]=\"progressBarColor\">\r\n </herum-progress-bar>\r\n </div>\r\n\r\n <div class=\"herum-uploads-container\">\r\n <div *ngIf=\"numberOfFailedLoaders > 1\" class=\"upload-all upload-iteration cursor-pointer\"\r\n (click)=\"_onRetryFailedUploads()\">\r\n <div class=\"herum-upload-title w-100\">\r\n \u05D4\u05E2\u05DC\u05D4 \u05DE\u05D7\u05D3\u05E9 \u05E7\u05D1\u05E6\u05D9\u05DD \u05E9\u05E0\u05DB\u05E9\u05DC\u05D5\r\n </div>\r\n\r\n <div class=\"upload-file-image\">\r\n <img src=\"assets/files-icons/upload-file.svg\">\r\n </div>\r\n </div>\r\n\r\n <div class=\"upload-iteration\"\r\n *ngFor=\"let uploadProgressMetadata of uploadsProgressMetadata; trackBy: _trackByFn\">\r\n <div class=\"herum-upload-container\">\r\n <span [ngClass]=\"_isUploadProgressStatusError(uploadProgressMetadata.status)? 'error' : 'icons-color'\"\r\n [innerHTML]=\"_getFileIcon(uploadProgressMetadata.type) | safeHtml\">\r\n </span>\r\n\r\n <div class=\"herum-upload-text-container\">\r\n <p #uploadTitle class=\"herum-upload-title\"\r\n [ngClass]=\"{'error-font-color':_isUploadProgressStatusError(uploadProgressMetadata.status)}\"\r\n [matTooltip]=\"_isTruncatedTitleElement(uploadTitle) ? uploadProgressMetadata.title : ''\">\r\n {{uploadProgressMetadata.title | ellipsis:uploadTitle}}\r\n </p>\r\n\r\n <p\r\n [ngClass]=\"[_isUploadProgressStatusError(uploadProgressMetadata.status)? 'error-font-color' :'disabled-text-color']\">\r\n {{_getUploadProgressDescription(uploadProgressMetadata)}}\r\n </p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"center\">\r\n <herum-circular-progress-bar [fill]=\"false\"\r\n [percentage]=\"(uploadProgressMetadata.currentSize/uploadProgressMetadata.totalSize)*100\"\r\n *ngIf=\"uploadProgressMetadata.status === loadingStatus\">\r\n </herum-circular-progress-bar>\r\n\r\n <div class=\"images-container\">\r\n <img class=\"cursor-pointer\" *ngIf=\"_isUploadProgressStatusError(uploadProgressMetadata.status)\"\r\n src=\"assets/files-icons/upload-file.svg\"\r\n (click)=\"_onRetryFailedUpload(uploadProgressMetadata.id)\">\r\n\r\n <span\r\n *ngIf=\"uploadProgressMetadata.status === errorStatus || uploadProgressMetadata.status === successStatus\"\r\n [ngClass]=\"{'icons-color':uploadProgressMetadata.status===successStatus}\"\r\n [innerHTML]=\"_getUploadStatusIcon(uploadProgressMetadata.status) | safeHtml\">\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>", styles: [".herum-uploads-layout{border-radius:8px 8px 0 0;background-color:#fffc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:99;direction:rtl;width:350px}.herum-uploads-layout .herum-uploads-container-header{border-radius:8px 8px 0 0;background-color:#22213f;cursor:grab}.herum-uploads-layout .herum-uploads-container-header p{padding-block:12px;color:#fff;font-weight:700;margin:0;font-size:16px}.herum-uploads-layout .herum-uploads-container-header:active{cursor:grabbing}.herum-uploads-layout herum-progress-bar{background-color:#22213f}.herum-uploads-layout .herum-uploads-container{display:none}.herum-upload-text-container{width:80%}.herum-upload-title{line-height:1;font-weight:700;font-size:12px;width:100%;white-space:nowrap;margin-block-end:4px}.open{height:fit-content}.open .herum-uploads-container{overflow-y:auto;max-height:500px;display:flex;flex-direction:column;height:100%}.open .herum-uploads-container .herum-upload-container{display:flex;flex-direction:row;gap:8px;width:70%}.open .herum-uploads-container .herum-upload-container .error{fill:var(--error-color)}.open .upload-iteration{display:flex;justify-content:space-between;padding:12px;border-bottom:1px solid var(--chips-divider-color);align-items:center}.open .upload-all{padding-block:21px}.open .upload-iteration:hover{-webkit-backdrop-filter:blur(80px);backdrop-filter:blur(80px);animation:1s ease-in-out}.herum-uploads-header-text{display:flex;width:100%}.herum-uploads-header-text .container-title{width:80%;white-space:nowrap}.herum-uploads-header{display:flex;justify-content:space-between;padding-inline:16px;align-items:center}.herum-uploads-header .control-container{gap:16px;display:flex}.herum-uploads-header .control-container .control-button{width:10px;cursor:pointer}.upload-file-image{width:24px;display:flex;justify-content:center}herum-circular-progress-bar{display:flex;justify-content:center;align-items:center;height:24px;width:24px;transform:scale(1.2)}p{margin:0}.open-chevron{transform:rotate(90deg)}.images-container{display:flex;gap:12px}.icons-color{fill:var(--icons-color)}.icons-color ::ng-deep .generic-file-icon{stroke:var(--icons-color)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$2.HerumCircularProgressBarComponent, selector: "herum-circular-progress-bar", inputs: ["percentage", "fill", "size", "firstGradient", "fillColor", "showPercentage", "displayedContent", "displayedContentColorMatchesGradientColor"] }, { kind: "component", type: i2$2.HerumEllipsisLoaderComponent, selector: "herum-ellipsis-loader" }, { kind: "component", type: i2$2.HerumProgressBarComponent, selector: "herum-progress-bar", inputs: ["percentage", "invalidPercentage", "showPercentage", "percentagePosition", "type", "size", "color", "borderRadius", "total", "showBorder", "thickness"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.SafeHtmlPipe, name: "safeHtml" }, { kind: "pipe", type: i4.EllipsisPipe, name: "ellipsis" }] });
|
|
11521
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: HerumUploadsManagerComponent, isStandalone: false, selector: "herum-uploads-manager", host: { listeners: { "window:beforeunload": "showConfirmationNativeMessage($event)" } }, ngImport: i0, template: "<div class=\"herum-uploads-layout shadow\" [ngClass]=\"{'open':isContainerOpen}\" *ngIf=\"uploadsProgressMetadata?.length\">\r\n <div class=\"herum-uploads-container-header\">\r\n <div class=\"herum-uploads-header\">\r\n <div class=\"herum-uploads-header-text\">\r\n <herum-ellipsis-loader *ngIf=\"!hasUploadProgressFinished\"></herum-ellipsis-loader>\r\n\r\n <p class=\"container-title\" #containerTitle\r\n [matTooltip]=\"_isTruncatedTitleElement(containerTitle)? (containerTitle$ | async) : '' \">\r\n {{containerTitle$ | async | ellipsis:containerTitle}}</p>\r\n </div>\r\n\r\n <div class=\"control-container\">\r\n <img class=\"control-button\"\r\n [ngClass]=\"{'open-chevron':isContainerOpen, 'closed-chevron':!isContainerOpen}\"\r\n src=\"assets/general/white-chevron.svg\" (click)=\"_onToggleUploadsContainer()\">\r\n\r\n <img class=\"control-button\" *ngIf=\"hasUploadProgressFinished\" src=\"assets/shared/icons/X.svg\"\r\n alt=\"close-icon\" (click)=\"_onClose()\">\r\n </div>\r\n </div>\r\n\r\n <herum-progress-bar [percentage]=\"averageProgressSum\" [percentagePosition]=\"'none'\" [borderRadius]=\"'none'\"\r\n [showBorder]=\"false\" [thickness]=\"'thin'\" [showPercentage]=\"false\" [color]=\"progressBarColor\">\r\n </herum-progress-bar>\r\n </div>\r\n\r\n <div class=\"herum-uploads-container\">\r\n <div *ngIf=\"numberOfFailedLoaders > 1\" class=\"upload-all upload-iteration cursor-pointer\"\r\n (click)=\"_onRetryFailedUploads()\">\r\n <div class=\"herum-upload-title w-100\">\r\n \u05D4\u05E2\u05DC\u05D4 \u05DE\u05D7\u05D3\u05E9 \u05E7\u05D1\u05E6\u05D9\u05DD \u05E9\u05E0\u05DB\u05E9\u05DC\u05D5\r\n </div>\r\n\r\n <div class=\"upload-file-image\">\r\n <img src=\"assets/files-icons/upload-file.svg\">\r\n </div>\r\n </div>\r\n\r\n <div class=\"upload-iteration\"\r\n *ngFor=\"let uploadProgressMetadata of uploadsProgressMetadata; trackBy: _trackByFn\">\r\n <div class=\"herum-upload-container\">\r\n <span [ngClass]=\"_isUploadProgressStatusError(uploadProgressMetadata.status)? 'error' : 'icons-color'\"\r\n [innerHTML]=\"_getFileIcon(uploadProgressMetadata.type) | safeHtml\">\r\n </span>\r\n\r\n <div class=\"herum-upload-text-container\">\r\n <p #uploadTitle class=\"herum-upload-title\"\r\n [ngClass]=\"{'error-font-color':_isUploadProgressStatusError(uploadProgressMetadata.status)}\"\r\n [matTooltip]=\"_isTruncatedTitleElement(uploadTitle) ? uploadProgressMetadata.title : ''\">\r\n {{uploadProgressMetadata.title | ellipsis:uploadTitle}}\r\n </p>\r\n\r\n <p\r\n [ngClass]=\"[_isUploadProgressStatusError(uploadProgressMetadata.status)? 'error-font-color' :'disabled-text-color']\">\r\n {{_getUploadProgressDescription(uploadProgressMetadata)}}\r\n </p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"center\">\r\n <herum-circular-progress-bar [fill]=\"false\"\r\n [percentage]=\"(uploadProgressMetadata.currentSize/uploadProgressMetadata.totalSize)*100\"\r\n *ngIf=\"uploadProgressMetadata.status === loadingStatus\">\r\n </herum-circular-progress-bar>\r\n\r\n <div class=\"images-container\">\r\n <img class=\"cursor-pointer\" *ngIf=\"_isUploadProgressStatusError(uploadProgressMetadata.status)\"\r\n src=\"assets/files-icons/upload-file.svg\"\r\n (click)=\"_onRetryFailedUpload(uploadProgressMetadata.id)\">\r\n\r\n <span\r\n *ngIf=\"uploadProgressMetadata.status === errorStatus || uploadProgressMetadata.status === successStatus\"\r\n [ngClass]=\"{'icons-color':uploadProgressMetadata.status===successStatus}\"\r\n [innerHTML]=\"_getUploadStatusIcon(uploadProgressMetadata.status) | safeHtml\">\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>", styles: [".herum-uploads-layout{border-radius:8px 8px 0 0;background-color:#fffc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:99;direction:rtl;width:350px}.herum-uploads-layout .herum-uploads-container-header{border-radius:8px 8px 0 0;background-color:#22213f;cursor:grab}.herum-uploads-layout .herum-uploads-container-header p{padding-block:12px;color:#fff;font-weight:700;margin:0;font-size:16px}.herum-uploads-layout .herum-uploads-container-header:active{cursor:grabbing}.herum-uploads-layout herum-progress-bar{background-color:#22213f}.herum-uploads-layout .herum-uploads-container{display:none}.herum-upload-text-container{width:80%}.herum-upload-title{line-height:1;font-weight:700;font-size:12px;width:100%;white-space:nowrap;margin-block-end:4px}.open{height:fit-content}.open .herum-uploads-container{overflow-y:auto;max-height:500px;display:flex;flex-direction:column;height:100%}.open .herum-uploads-container .herum-upload-container{display:flex;flex-direction:row;gap:8px;width:70%}.open .herum-uploads-container .herum-upload-container .error{fill:var(--error-color)}.open .upload-iteration{display:flex;justify-content:space-between;padding:12px;border-bottom:1px solid var(--chips-divider-color);align-items:center}.open .upload-all{padding-block:21px}.open .upload-iteration:hover{-webkit-backdrop-filter:blur(80px);backdrop-filter:blur(80px);animation:1s ease-in-out}.herum-uploads-header-text{display:flex;width:100%}.herum-uploads-header-text .container-title{width:80%;white-space:nowrap}.herum-uploads-header{display:flex;justify-content:space-between;padding-inline:16px;align-items:center}.herum-uploads-header .control-container{gap:16px;display:flex}.herum-uploads-header .control-container .control-button{width:10px;cursor:pointer}.upload-file-image{width:24px;display:flex;justify-content:center}herum-circular-progress-bar{display:flex;justify-content:center;align-items:center;height:24px;width:24px;transform:scale(1.2)}p{margin:0}.open-chevron{transform:rotate(90deg)}.images-container{display:flex;gap:12px}.icons-color{fill:var(--icons-color)}.icons-color ::ng-deep .generic-file-icon{stroke:var(--icons-color)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$2.HerumCircularProgressBarComponent, selector: "herum-circular-progress-bar", inputs: ["percentage", "fill", "size", "firstGradient", "fillColor", "showPercentage", "displayedContent", "displayedContentColorMatchesGradientColor"] }, { kind: "component", type: i2$2.HerumEllipsisLoaderComponent, selector: "herum-ellipsis-loader" }, { kind: "component", type: i2$2.HerumProgressBarComponent, selector: "herum-progress-bar", inputs: ["percentage", "invalidPercentage", "showPercentage", "percentagePosition", "type", "size", "color", "borderRadius", "total", "showBorder", "thickness"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4$1.SafeHtmlPipe, name: "safeHtml" }, { kind: "pipe", type: i4$1.EllipsisPipe, name: "ellipsis" }] });
|
|
11491
11522
|
}
|
|
11492
11523
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: HerumUploadsManagerComponent, decorators: [{
|
|
11493
11524
|
type: Component,
|
|
@@ -11677,5 +11708,5 @@ const deleteButtonStyle = {
|
|
|
11677
11708
|
* Generated bundle index. Do not edit.
|
|
11678
11709
|
*/
|
|
11679
11710
|
|
|
11680
|
-
export { AnswerNotesToTextChangesPipe, AtomsModule, AudioConfigurationConstants, AudioPlayerComponent, AudioSliderComponent, AudioVisualizationService, BlockedFormComponent, CheckboxCellComponent, ChipsCellComponent, CollectionSubscriptionToCollectionBasePipe, CollectionToCollectionBasePipe, CollegeAudioConfiguration, CollegeLoaderComponent, ConditionalFormControlNameDirective, CopyableCellComponent, DeleteRowComponent, DependentsService, DialogsModule, DisplayedSubmissionsCounterPipe, EditRowComponent, EllipsisPipe, ErrorMessageDialogComponent, ErrorsHandlerService, ErrorsModule, FetchedMessageDialog, FetchedMessageModule, FetchedMessageService, HadrachaAudioConfiguration, HerumActiveLinkComponent, HerumActiveMenuComponent, HerumAgGridFilterComponent, HerumAutocompleteComponent, HerumBreadcrumbsComponent, HerumButtonComponent, HerumCheckboxComponent, HerumChipComponent, HerumCircularProgressBarComponent, HerumClosedListMultiSelectComponent, HerumClosedListSelectComponent, HerumDatePickerComponent, HerumDateTimeInputComponent, HerumDateTimePickerComponent, HerumDateTimePickerSelectComponent, HerumDownloadFileComponent, HerumDropZoneComponent, HerumEllipsisLoaderComponent, HerumExpendablePanelComponent, HerumFilesViewerComponent, HerumFilesViewerDialogComponent, HerumFormControl, HerumHierarchyTreeComponent, HerumHierarchyTreeNodeComponent, HerumHighlightDirective, HerumIconLabelComponent, HerumIndeterminateComponent, HerumInputFieldComponent, HerumListCentralizerComponent, HerumLoaderComponent, HerumLocalLoaderComponent, HerumLogoComponent, HerumMiniTableComponent, HerumMultiProgressBarComponent, HerumMultiSelectComponent, HerumNarrowCollectionMenuItemComponent, HerumNavigatorComponent, HerumNoResultMessageComponent, HerumOptionsListComponent, HerumPaginatorComponent, HerumPanelLinksComponent, HerumPdfViewerComponent, HerumPresentationViewerComponent, HerumProgressBarComponent, HerumQuizComponent, HerumQuizHeaderItemComponent, HerumRadioButtonComponent, HerumRecursiveHierarchyOptionsListComponent, HerumSelectComponent, HerumSharedModule, HerumSliderComponent, HerumSpinnerComponent, HerumStepNavigatorComponent, HerumStepperComponent, HerumStoryViewerComponent, HerumSwitchComponent, HerumTableComponent, HerumTextAreaComponent, HerumTextualVerticalTreeComponent, HerumTimePickerComponent, HerumTimeRangeSelectComponent, HerumTimeSelectComponent, HerumToastsComponent, HerumToggleButtonComponent, HerumToolTipDirective, HerumUploadFileComponent, HerumUploadsManagerComponent, HerumUserProfileComponent, HerumUserProgressComponent, HerumVideoPlayerComponent, HerumVideoRangeBarComponent, HerumVideoSelectComponent, InputCellComponent, InsuranceDialogComponent, KeyValueListComponent, LabelsWithIconsListComponent, MoleculesModule, MongoModule, MongoMoleculesModule, PipesModule, ProgressesOverViewComponent, QuizGradeSheetComponent, QuizHeaderComponent, QuizIntroComponent, QuizLoaderComponent, QuizMultiAnswerQuestionComponent, QuizOneAnswerQuestionComponent, QuizOpenAnswerQuestionComponent, QuizSubmissionComponent, QuizTwoAnswersQuestionComponent, RecursiveTreeComponent, ResourceSubscriptionToResourcePipe, ResourceToResourceSubscriptionPipe, RoundedVerticalMenuComponent, RowActionButtonsComponent, SafeHtmlPipe, SafePipe, SliceBreadcrumbsPipe, StringArrayToSignUpFieldArrayPipe, SvgOnHoverDirective, SwitchCellComponent, TableModule, TimeFormatPipe, ToIntegerPipe, ToastsService, TrackTextChangesComponent, TrackTextChangesNotesComponent, UploadsManagerService, UserActionDirective, UserIdentifiedEntitiesToBackendModelsPipe, UserProfileImageComponent, UsersProfilePreviewComponent, buttonsContainerStyle, commentTextStyle, deleteButtonStyle, editButtonStyle, openClose, setDynamicElementStyle, speedOptions, tooltipStyle };
|
|
11711
|
+
export { AnswerNotesToTextChangesPipe, AtomsModule, AudioConfigurationConstants, AudioPlayerComponent, AudioSliderComponent, AudioVisualizationService, BlockedFormComponent, CheckboxCellComponent, ChipsCellComponent, CollectionSubscriptionToCollectionBasePipe, CollectionToCollectionBasePipe, CollegeAudioConfiguration, CollegeLoaderComponent, ConditionalFormControlNameDirective, CopyableCellComponent, DeleteRowComponent, DependentsService, DialogsModule, DirectivesModule, DisplayedSubmissionsCounterPipe, EditRowComponent, EllipsisPipe, ErrorMessageDialogComponent, ErrorsHandlerService, ErrorsModule, FetchedMessageDialog, FetchedMessageModule, FetchedMessageService, HadrachaAudioConfiguration, HerumActiveLinkComponent, HerumActiveMenuComponent, HerumAgGridFilterComponent, HerumAutocompleteComponent, HerumBreadcrumbsComponent, HerumButtonComponent, HerumCheckboxComponent, HerumChipComponent, HerumCircularProgressBarComponent, HerumClosedListMultiSelectComponent, HerumClosedListSelectComponent, HerumDatePickerComponent, HerumDateTimeInputComponent, HerumDateTimePickerComponent, HerumDateTimePickerSelectComponent, HerumDownloadFileComponent, HerumDropZoneComponent, HerumEllipsisLoaderComponent, HerumExpendablePanelComponent, HerumFilesViewerComponent, HerumFilesViewerDialogComponent, HerumFormControl, HerumHierarchyTreeComponent, HerumHierarchyTreeNodeComponent, HerumHighlightDirective, HerumIconLabelComponent, HerumIndeterminateComponent, HerumInputFieldComponent, HerumListCentralizerComponent, HerumLoaderComponent, HerumLocalLoaderComponent, HerumLogoComponent, HerumMiniTableComponent, HerumMultiProgressBarComponent, HerumMultiSelectComponent, HerumNarrowCollectionMenuItemComponent, HerumNavigatorComponent, HerumNoResultMessageComponent, HerumOptionsListComponent, HerumPaginatorComponent, HerumPanelLinksComponent, HerumPdfViewerComponent, HerumPresentationViewerComponent, HerumProgressBarComponent, HerumQuizComponent, HerumQuizHeaderItemComponent, HerumRadioButtonComponent, HerumRecursiveHierarchyOptionsListComponent, HerumSelectComponent, HerumSharedModule, HerumSliderComponent, HerumSpinnerComponent, HerumStepNavigatorComponent, HerumStepperComponent, HerumStoryViewerComponent, HerumSwitchComponent, HerumTableComponent, HerumTextAreaComponent, HerumTextualVerticalTreeComponent, HerumTimePickerComponent, HerumTimeRangeSelectComponent, HerumTimeSelectComponent, HerumToastsComponent, HerumToggleButtonComponent, HerumToolTipDirective, HerumUploadFileComponent, HerumUploadsManagerComponent, HerumUserProfileComponent, HerumUserProgressComponent, HerumVideoPlayerComponent, HerumVideoRangeBarComponent, HerumVideoSelectComponent, InputCellComponent, InsuranceDialogComponent, KeyValueListComponent, LabelsWithIconsListComponent, MoleculesModule, MongoModule, MongoMoleculesModule, PipesModule, ProgressesOverViewComponent, QuizGradeSheetComponent, QuizHeaderComponent, QuizIntroComponent, QuizLoaderComponent, QuizMultiAnswerQuestionComponent, QuizOneAnswerQuestionComponent, QuizOpenAnswerQuestionComponent, QuizSubmissionComponent, QuizTwoAnswersQuestionComponent, RecursiveTreeComponent, ResourceSubscriptionToResourcePipe, ResourceToResourceSubscriptionPipe, RoundedVerticalMenuComponent, RowActionButtonsComponent, SafeHtmlPipe, SafePipe, SliceBreadcrumbsPipe, StringArrayToSignUpFieldArrayPipe, SvgOnHoverDirective, SwitchCellComponent, TableModule, TimeFormatPipe, ToIntegerPipe, ToastsService, TrackTextChangesComponent, TrackTextChangesNotesComponent, UploadsManagerService, UserActionDirective, UserIdentifiedEntitiesToBackendModelsPipe, UserProfileImageComponent, UsersProfilePreviewComponent, buttonsContainerStyle, commentTextStyle, deleteButtonStyle, editButtonStyle, openClose, setDynamicElementStyle, speedOptions, tooltipStyle };
|
|
11681
11712
|
//# sourceMappingURL=herum-shared.mjs.map
|