@gravitee/ui-particles-angular 4.13.0 → 5.0.0
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/{esm2015/gravitee-ui-particles-angular.js → esm2020/gravitee-ui-particles-angular.mjs} +0 -0
- package/{esm2015/lib/gio-avatar/gio-avatar.component.js → esm2020/lib/gio-avatar/gio-avatar.component.mjs} +5 -9
- package/{esm2015/lib/gio-avatar/gio-avatar.module.js → esm2020/lib/gio-avatar/gio-avatar.module.mjs} +5 -6
- package/{esm2015/lib/gio-avatar/index.js → esm2020/lib/gio-avatar/index.mjs} +0 -0
- package/esm2020/lib/gio-banner/gio-banner.component.mjs +101 -0
- package/{esm2015/lib/gio-banner/gio-banner.module.js → esm2020/lib/gio-banner/gio-banner.module.mjs} +5 -12
- package/{esm2015/lib/gio-breadcrumb/gio-breadcrumb-item.directive.js → esm2020/lib/gio-breadcrumb/gio-breadcrumb-item.directive.mjs} +3 -3
- package/esm2020/lib/gio-breadcrumb/gio-breadcrumb.component.mjs +32 -0
- package/{esm2015/lib/gio-breadcrumb/gio-breadcrumb.module.js → esm2020/lib/gio-breadcrumb/gio-breadcrumb.module.mjs} +5 -6
- package/{esm2015/lib/gio-breadcrumb/index.js → esm2020/lib/gio-breadcrumb/index.mjs} +0 -0
- package/esm2020/lib/gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.component.mjs +55 -0
- package/esm2020/lib/gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.harness.mjs +40 -0
- package/{esm2015/lib/gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.module.js → esm2020/lib/gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.module.mjs} +5 -6
- package/esm2020/lib/gio-confirm-dialog/gio-confirm-dialog.component.mjs +40 -0
- package/esm2020/lib/gio-confirm-dialog/gio-confirm-dialog.harness.mjs +34 -0
- package/{esm2015/lib/gio-confirm-dialog/gio-confirm-dialog.module.js → esm2020/lib/gio-confirm-dialog/gio-confirm-dialog.module.mjs} +5 -6
- package/esm2020/lib/gio-form-file-picker/gio-form-file-picker-add-button/gio-form-file-picker-add-button.component.mjs +29 -0
- package/esm2020/lib/gio-form-file-picker/gio-form-file-picker-empty/gio-form-file-picker-empty.component.mjs +27 -0
- package/esm2020/lib/gio-form-file-picker/gio-form-file-picker-label/gio-form-file-picker-label.component.mjs +26 -0
- package/esm2020/lib/gio-form-file-picker/gio-form-file-picker.component.harness.mjs +95 -0
- package/esm2020/lib/gio-form-file-picker/gio-form-file-picker.component.mjs +167 -0
- package/{esm2015/lib/gio-form-file-picker/gio-form-file-picker.model.js → esm2020/lib/gio-form-file-picker/gio-form-file-picker.model.mjs} +0 -0
- package/{esm2015/lib/gio-form-file-picker/gio-form-file-picker.module.js → esm2020/lib/gio-form-file-picker/gio-form-file-picker.module.mjs} +4 -4
- package/{esm2015/lib/gio-form-file-picker/index.js → esm2020/lib/gio-form-file-picker/index.mjs} +0 -0
- package/esm2020/lib/gio-form-headers/gio-form-headers.component.mjs +233 -0
- package/esm2020/lib/gio-form-headers/gio-form-headers.harness.mjs +65 -0
- package/{esm2015/lib/gio-form-headers/gio-form-headers.module.js → esm2020/lib/gio-form-headers/gio-form-headers.module.mjs} +5 -6
- package/esm2020/lib/gio-form-tags-input/gio-form-tags-input.component.mjs +243 -0
- package/esm2020/lib/gio-form-tags-input/gio-form-tags-input.harness.mjs +67 -0
- package/{esm2015/lib/gio-form-tags-input/gio-form-tags-input.module.js → esm2020/lib/gio-form-tags-input/gio-form-tags-input.module.mjs} +5 -6
- package/{esm2015/lib/gio-icons/gio-icons.module.js → esm2020/lib/gio-icons/gio-icons.module.mjs} +5 -6
- package/esm2020/lib/gio-menu/gio-menu-footer/gio-menu-footer.component.mjs +26 -0
- package/esm2020/lib/gio-menu/gio-menu-header/gio-menu-header.component.mjs +26 -0
- package/{esm2015/lib/gio-menu/gio-menu-item/gio-menu-item.component.js → esm2020/lib/gio-menu/gio-menu-item/gio-menu-item.component.mjs} +5 -9
- package/esm2020/lib/gio-menu/gio-menu-list/gio-menu-list.component.mjs +26 -0
- package/esm2020/lib/gio-menu/gio-menu-selector/gio-menu-selector.component.mjs +53 -0
- package/esm2020/lib/gio-menu/gio-menu-selector/gio-menu-selector.harness.mjs +41 -0
- package/esm2020/lib/gio-menu/gio-menu.component.mjs +50 -0
- package/{esm2015/lib/gio-menu/gio-menu.module.js → esm2020/lib/gio-menu/gio-menu.module.mjs} +4 -4
- package/{esm2015/lib/gio-menu/gio-menu.service.js → esm2020/lib/gio-menu/gio-menu.service.mjs} +3 -3
- package/{esm2015/lib/gio-menu/index.js → esm2020/lib/gio-menu/index.mjs} +0 -0
- package/esm2020/lib/gio-save-bar/gio-save-bar.component.mjs +129 -0
- package/esm2020/lib/gio-save-bar/gio-save-bar.harness.mjs +49 -0
- package/{esm2015/lib/gio-save-bar/gio-save-bar.module.js → esm2020/lib/gio-save-bar/gio-save-bar.module.mjs} +5 -6
- package/esm2020/lib/gio-submenu/gio-submenu-group/gio-submenu-group.component.mjs +31 -0
- package/esm2020/lib/gio-submenu/gio-submenu-item/gio-submenu-item.component.mjs +42 -0
- package/{esm2015/lib/gio-submenu/gio-submenu.component.js → esm2020/lib/gio-submenu/gio-submenu.component.mjs} +9 -13
- package/{esm2015/lib/gio-submenu/gio-submenu.module.js → esm2020/lib/gio-submenu/gio-submenu.module.mjs} +4 -4
- package/{esm2015/lib/gio-submenu/index.js → esm2020/lib/gio-submenu/index.mjs} +0 -0
- package/esm2020/lib/gio-top-bar/gio-top-bar-content/gio-top-bar-content.component.mjs +35 -0
- package/esm2020/lib/gio-top-bar/gio-top-bar-link/gio-top-bar-link.component.mjs +35 -0
- package/{esm2015/lib/gio-top-bar/gio-top-bar-link/gio-top-bar-link.module.js → esm2020/lib/gio-top-bar/gio-top-bar-link/gio-top-bar-link.module.mjs} +4 -4
- package/esm2020/lib/gio-top-bar/gio-top-bar-menu/gio-top-bar-menu.component.mjs +26 -0
- package/{esm2015/lib/gio-top-bar/gio-top-bar-menu/gio-top-bar-menu.module.js → esm2020/lib/gio-top-bar/gio-top-bar-menu/gio-top-bar-menu.module.mjs} +4 -4
- package/esm2020/lib/gio-top-bar/gio-top-bar.component.mjs +34 -0
- package/{esm2015/lib/gio-top-bar/gio-top-bar.module.js → esm2020/lib/gio-top-bar/gio-top-bar.module.mjs} +4 -4
- package/{esm2015/lib/gio-top-bar/index.js → esm2020/lib/gio-top-bar/index.mjs} +0 -0
- package/{esm2015/lib/public-api.js → esm2020/lib/public-api.mjs} +0 -0
- package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
- package/fesm2015/{gravitee-ui-particles-angular.js → gravitee-ui-particles-angular.mjs} +223 -413
- package/fesm2015/gravitee-ui-particles-angular.mjs.map +1 -0
- package/fesm2020/gravitee-ui-particles-angular.mjs +2754 -0
- package/fesm2020/gravitee-ui-particles-angular.mjs.map +1 -0
- package/package.json +25 -12
- package/bundles/gravitee-ui-particles-angular.umd.js +0 -3727
- package/bundles/gravitee-ui-particles-angular.umd.js.map +0 -1
- package/esm2015/lib/gio-banner/gio-banner.component.js +0 -121
- package/esm2015/lib/gio-breadcrumb/gio-breadcrumb.component.js +0 -36
- package/esm2015/lib/gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.component.js +0 -60
- package/esm2015/lib/gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.harness.js +0 -45
- package/esm2015/lib/gio-confirm-dialog/gio-confirm-dialog.component.js +0 -45
- package/esm2015/lib/gio-confirm-dialog/gio-confirm-dialog.harness.js +0 -39
- package/esm2015/lib/gio-form-file-picker/gio-form-file-picker-add-button/gio-form-file-picker-add-button.component.js +0 -34
- package/esm2015/lib/gio-form-file-picker/gio-form-file-picker-empty/gio-form-file-picker-empty.component.js +0 -31
- package/esm2015/lib/gio-form-file-picker/gio-form-file-picker-label/gio-form-file-picker-label.component.js +0 -31
- package/esm2015/lib/gio-form-file-picker/gio-form-file-picker.component.harness.js +0 -114
- package/esm2015/lib/gio-form-file-picker/gio-form-file-picker.component.js +0 -177
- package/esm2015/lib/gio-form-headers/gio-form-headers.component.js +0 -237
- package/esm2015/lib/gio-form-headers/gio-form-headers.harness.js +0 -76
- package/esm2015/lib/gio-form-tags-input/gio-form-tags-input.component.js +0 -255
- package/esm2015/lib/gio-form-tags-input/gio-form-tags-input.harness.js +0 -78
- package/esm2015/lib/gio-menu/gio-menu-footer/gio-menu-footer.component.js +0 -30
- package/esm2015/lib/gio-menu/gio-menu-header/gio-menu-header.component.js +0 -30
- package/esm2015/lib/gio-menu/gio-menu-list/gio-menu-list.component.js +0 -30
- package/esm2015/lib/gio-menu/gio-menu-selector/gio-menu-selector.component.js +0 -57
- package/esm2015/lib/gio-menu/gio-menu-selector/gio-menu-selector.harness.js +0 -48
- package/esm2015/lib/gio-menu/gio-menu.component.js +0 -55
- package/esm2015/lib/gio-save-bar/gio-save-bar.component.js +0 -135
- package/esm2015/lib/gio-save-bar/gio-save-bar.harness.js +0 -60
- package/esm2015/lib/gio-submenu/gio-submenu-group/gio-submenu-group.component.js +0 -35
- package/esm2015/lib/gio-submenu/gio-submenu-item/gio-submenu-item.component.js +0 -47
- package/esm2015/lib/gio-top-bar/gio-top-bar-content/gio-top-bar-content.component.js +0 -39
- package/esm2015/lib/gio-top-bar/gio-top-bar-link/gio-top-bar-link.component.js +0 -39
- package/esm2015/lib/gio-top-bar/gio-top-bar-menu/gio-top-bar-menu.component.js +0 -30
- package/esm2015/lib/gio-top-bar/gio-top-bar.component.js +0 -38
- package/fesm2015/gravitee-ui-particles-angular.js.map +0 -1
|
@@ -0,0 +1,2754 @@
|
|
|
1
|
+
import { trigger, transition, style, animate } from '@angular/animations';
|
|
2
|
+
import * as i0 from '@angular/core';
|
|
3
|
+
import { EventEmitter, Component, HostBinding, Input, Output, HostListener, NgModule, Optional, Self, ViewChild, Directive, Inject, forwardRef, ChangeDetectionStrategy, Injectable, ViewEncapsulation, ContentChildren } from '@angular/core';
|
|
4
|
+
import { timer, Subject, fromEvent, of, BehaviorSubject } from 'rxjs';
|
|
5
|
+
import * as i1 from '@angular/material/card';
|
|
6
|
+
import { MatCardModule } from '@angular/material/card';
|
|
7
|
+
import * as i2 from '@angular/material/button';
|
|
8
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
9
|
+
import * as i2$1 from '@angular/common';
|
|
10
|
+
import { CommonModule } from '@angular/common';
|
|
11
|
+
import { ComponentHarness, HarnessPredicate, parallel, TestKey } from '@angular/cdk/testing';
|
|
12
|
+
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
13
|
+
import * as i3$1 from '@angular/material/form-field';
|
|
14
|
+
import { MatFormFieldControl, MatFormFieldModule } from '@angular/material/form-field';
|
|
15
|
+
import { isEmpty, toLower, dropRight, isNil, isArray, remove } from 'lodash';
|
|
16
|
+
import { startWith, map, distinctUntilChanged, tap, debounce, takeUntil, delay, filter, switchMap } from 'rxjs/operators';
|
|
17
|
+
import * as i7 from '@angular/forms';
|
|
18
|
+
import { FormsModule, FormArray, FormGroup, FormControl, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';
|
|
19
|
+
import * as i2$2 from '@angular/cdk/a11y';
|
|
20
|
+
import { A11yModule } from '@angular/cdk/a11y';
|
|
21
|
+
import * as i3 from '@angular/material/chips';
|
|
22
|
+
import { MatChipsModule } from '@angular/material/chips';
|
|
23
|
+
import * as i1$1 from '@angular/material/icon';
|
|
24
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
25
|
+
import * as i5 from '@angular/material/autocomplete';
|
|
26
|
+
import { MatAutocompleteModule } from '@angular/material/autocomplete';
|
|
27
|
+
import * as i6 from '@angular/material/core';
|
|
28
|
+
import { MatOptionModule, MatRippleModule } from '@angular/material/core';
|
|
29
|
+
import * as i6$1 from '@angular/material/input';
|
|
30
|
+
import { MatInputModule } from '@angular/material/input';
|
|
31
|
+
import * as i2$4 from '@angular/material/select';
|
|
32
|
+
import { MatSelectModule } from '@angular/material/select';
|
|
33
|
+
import { MatAutocompleteHarness } from '@angular/material/autocomplete/testing';
|
|
34
|
+
import { MatChipListHarness } from '@angular/material/chips/testing';
|
|
35
|
+
import { HttpClientModule } from '@angular/common/http';
|
|
36
|
+
import * as i2$3 from '@angular/platform-browser';
|
|
37
|
+
import * as i1$2 from '@angular/material/dialog';
|
|
38
|
+
import { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
|
|
39
|
+
import { MatButtonHarness } from '@angular/material/button/testing';
|
|
40
|
+
import { MatInputHarness } from '@angular/material/input/testing';
|
|
41
|
+
import * as i10 from '@angular/cdk/text-field';
|
|
42
|
+
import * as i6$2 from 'ngx-file-helpers';
|
|
43
|
+
import { ReadMode, NgxFileHelpersModule } from 'ngx-file-helpers';
|
|
44
|
+
import { MatSelectHarness } from '@angular/material/select/testing';
|
|
45
|
+
import { toSvg } from 'jdenticon';
|
|
46
|
+
|
|
47
|
+
/*
|
|
48
|
+
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
49
|
+
*
|
|
50
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
51
|
+
* you may not use this file except in compliance with the License.
|
|
52
|
+
* You may obtain a copy of the License at
|
|
53
|
+
*
|
|
54
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
55
|
+
*
|
|
56
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
57
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
58
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
59
|
+
* See the License for the specific language governing permissions and
|
|
60
|
+
* limitations under the License.
|
|
61
|
+
*/
|
|
62
|
+
class GioSaveBarComponent {
|
|
63
|
+
constructor() {
|
|
64
|
+
this.isSubmitted = false;
|
|
65
|
+
this.opened = false;
|
|
66
|
+
/**
|
|
67
|
+
* When true, the submit button have invalidate display
|
|
68
|
+
* And on submit clicked the output event is emit on submitInvalidState (and not on submit)
|
|
69
|
+
*/
|
|
70
|
+
this.invalidState = false;
|
|
71
|
+
this.creationMode = false;
|
|
72
|
+
this.hasSubmitLock = true;
|
|
73
|
+
this.resetClicked = new EventEmitter();
|
|
74
|
+
this.submitted = new EventEmitter();
|
|
75
|
+
this.submittedInvalidState = new EventEmitter();
|
|
76
|
+
}
|
|
77
|
+
get isSticky() {
|
|
78
|
+
return !this.creationMode;
|
|
79
|
+
}
|
|
80
|
+
get isOpen() {
|
|
81
|
+
if (this.creationMode) {
|
|
82
|
+
return true;
|
|
83
|
+
}
|
|
84
|
+
if (this.form) {
|
|
85
|
+
return this.form.dirty;
|
|
86
|
+
}
|
|
87
|
+
return this.opened;
|
|
88
|
+
}
|
|
89
|
+
onResetClicked() {
|
|
90
|
+
if (this.form) {
|
|
91
|
+
this.form.reset(this.formInitialValues);
|
|
92
|
+
this.form.markAsPristine();
|
|
93
|
+
}
|
|
94
|
+
this.resetClicked.emit();
|
|
95
|
+
}
|
|
96
|
+
onDisableSubmitLock() {
|
|
97
|
+
this.hasSubmitLock = false;
|
|
98
|
+
}
|
|
99
|
+
onSubmitClicked() {
|
|
100
|
+
if ((this.form && this.form.invalid) || this.invalidState) {
|
|
101
|
+
this.form?.markAllAsTouched();
|
|
102
|
+
this.submittedInvalidState.emit();
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
if (this.isSubmitted) {
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
this.submitted.emit();
|
|
109
|
+
if (this.hasSubmitLock) {
|
|
110
|
+
this.isSubmitted = true;
|
|
111
|
+
timer(2000).subscribe(() => (this.isSubmitted = false));
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
GioSaveBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioSaveBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
116
|
+
GioSaveBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioSaveBarComponent, selector: "gio-save-bar", inputs: { opened: "opened", invalidState: "invalidState", creationMode: "creationMode", form: "form", formInitialValues: "formInitialValues" }, outputs: { resetClicked: "resetClicked", submitted: "submitted", submittedInvalidState: "submittedInvalidState" }, host: { listeners: { "disable-submit-lock": "onDisableSubmitLock()" }, properties: { "class.save-bar-sticky": "this.isSticky", "class.is-open": "this.isOpen" } }, ngImport: i0, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n\n<div *ngIf=\"isOpen\" [@slideUpDown] [@.disabled]=\"creationMode\">\n <mat-card class=\"save-bar__content\" [class.mat-elevation-z3]=\"creationMode\" [class.mat-elevation-z6]=\"!creationMode\">\n <div class=\"save-bar__content__label\">{{ creationMode ? '' : 'You have unsaved changes' }}</div>\n <div>\n <button *ngIf=\"!creationMode\" class=\"save-bar__content__reset-button\" mat-button type=\"button\" (click)=\"onResetClicked()\">\n Discard\n </button>\n <button\n class=\"save-bar__content__submit-button\"\n [class.invalid]=\"(form && form.invalid) || invalidState\"\n mat-flat-button\n color=\"primary\"\n [type]=\"form ? 'submit' : 'button'\"\n (click)=\"onSubmitClicked()\"\n >\n {{ creationMode ? 'Create' : 'Save' }}\n </button>\n </div>\n </mat-card>\n</div>\n", styles: [":host{z-index:1000;display:block;height:68px;margin-top:32px;visibility:hidden}:host.is-open{visibility:visible}:host(.save-bar-sticky){position:sticky;bottom:0;margin-right:-16px;margin-left:-16px}.save-bar__content{display:flex;height:100%;align-items:center;justify-content:space-between;padding:16px 24px}.save-bar__content__label{font:400 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.save-bar__content__reset-button{margin-right:16px}.save-bar__content__submit-button.invalid{background-color:#d6ffff;color:#000}.save-bar__content__submit-button.invalid:hover:enabled{background-color:#099;color:#fff}\n"], components: [{ type: i1.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: [
|
|
117
|
+
trigger('slideUpDown', [
|
|
118
|
+
transition(':enter', [
|
|
119
|
+
style({ transform: 'translateY(40vh)', opacity: '0' }),
|
|
120
|
+
animate('300ms cubic-bezier(0.4, 0.0, 0.2, 1)', style({ transform: 'translateY(0)', opacity: '1' })),
|
|
121
|
+
]),
|
|
122
|
+
transition(':leave', [
|
|
123
|
+
style({ transform: 'translateY(0)', opacity: '1' }),
|
|
124
|
+
animate('300ms cubic-bezier(0.4, 0.0, 0.2, 1)', style({ transform: 'translateY(40vh)', opacity: '0' })),
|
|
125
|
+
]),
|
|
126
|
+
]),
|
|
127
|
+
] });
|
|
128
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioSaveBarComponent, decorators: [{
|
|
129
|
+
type: Component,
|
|
130
|
+
args: [{ selector: 'gio-save-bar', animations: [
|
|
131
|
+
trigger('slideUpDown', [
|
|
132
|
+
transition(':enter', [
|
|
133
|
+
style({ transform: 'translateY(40vh)', opacity: '0' }),
|
|
134
|
+
animate('300ms cubic-bezier(0.4, 0.0, 0.2, 1)', style({ transform: 'translateY(0)', opacity: '1' })),
|
|
135
|
+
]),
|
|
136
|
+
transition(':leave', [
|
|
137
|
+
style({ transform: 'translateY(0)', opacity: '1' }),
|
|
138
|
+
animate('300ms cubic-bezier(0.4, 0.0, 0.2, 1)', style({ transform: 'translateY(40vh)', opacity: '0' })),
|
|
139
|
+
]),
|
|
140
|
+
]),
|
|
141
|
+
], template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n\n<div *ngIf=\"isOpen\" [@slideUpDown] [@.disabled]=\"creationMode\">\n <mat-card class=\"save-bar__content\" [class.mat-elevation-z3]=\"creationMode\" [class.mat-elevation-z6]=\"!creationMode\">\n <div class=\"save-bar__content__label\">{{ creationMode ? '' : 'You have unsaved changes' }}</div>\n <div>\n <button *ngIf=\"!creationMode\" class=\"save-bar__content__reset-button\" mat-button type=\"button\" (click)=\"onResetClicked()\">\n Discard\n </button>\n <button\n class=\"save-bar__content__submit-button\"\n [class.invalid]=\"(form && form.invalid) || invalidState\"\n mat-flat-button\n color=\"primary\"\n [type]=\"form ? 'submit' : 'button'\"\n (click)=\"onSubmitClicked()\"\n >\n {{ creationMode ? 'Create' : 'Save' }}\n </button>\n </div>\n </mat-card>\n</div>\n", styles: [":host{z-index:1000;display:block;height:68px;margin-top:32px;visibility:hidden}:host.is-open{visibility:visible}:host(.save-bar-sticky){position:sticky;bottom:0;margin-right:-16px;margin-left:-16px}.save-bar__content{display:flex;height:100%;align-items:center;justify-content:space-between;padding:16px 24px}.save-bar__content__label{font:400 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.save-bar__content__reset-button{margin-right:16px}.save-bar__content__submit-button.invalid{background-color:#d6ffff;color:#000}.save-bar__content__submit-button.invalid:hover:enabled{background-color:#099;color:#fff}\n"] }]
|
|
142
|
+
}], propDecorators: { isSticky: [{
|
|
143
|
+
type: HostBinding,
|
|
144
|
+
args: ['class.save-bar-sticky']
|
|
145
|
+
}], opened: [{
|
|
146
|
+
type: Input
|
|
147
|
+
}], invalidState: [{
|
|
148
|
+
type: Input
|
|
149
|
+
}], creationMode: [{
|
|
150
|
+
type: Input
|
|
151
|
+
}], form: [{
|
|
152
|
+
type: Input
|
|
153
|
+
}], formInitialValues: [{
|
|
154
|
+
type: Input
|
|
155
|
+
}], resetClicked: [{
|
|
156
|
+
type: Output
|
|
157
|
+
}], submitted: [{
|
|
158
|
+
type: Output
|
|
159
|
+
}], submittedInvalidState: [{
|
|
160
|
+
type: Output
|
|
161
|
+
}], isOpen: [{
|
|
162
|
+
type: HostBinding,
|
|
163
|
+
args: ['class.is-open']
|
|
164
|
+
}], onDisableSubmitLock: [{
|
|
165
|
+
type: HostListener,
|
|
166
|
+
args: ['disable-submit-lock']
|
|
167
|
+
}] } });
|
|
168
|
+
|
|
169
|
+
/*
|
|
170
|
+
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
171
|
+
*
|
|
172
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
173
|
+
* you may not use this file except in compliance with the License.
|
|
174
|
+
* You may obtain a copy of the License at
|
|
175
|
+
*
|
|
176
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
177
|
+
*
|
|
178
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
179
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
180
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
181
|
+
* See the License for the specific language governing permissions and
|
|
182
|
+
* limitations under the License.
|
|
183
|
+
*/
|
|
184
|
+
class GioSaveBarModule {
|
|
185
|
+
}
|
|
186
|
+
GioSaveBarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioSaveBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
187
|
+
GioSaveBarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioSaveBarModule, declarations: [GioSaveBarComponent], imports: [CommonModule, MatCardModule, MatButtonModule], exports: [GioSaveBarComponent] });
|
|
188
|
+
GioSaveBarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioSaveBarModule, imports: [[CommonModule, MatCardModule, MatButtonModule]] });
|
|
189
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioSaveBarModule, decorators: [{
|
|
190
|
+
type: NgModule,
|
|
191
|
+
args: [{
|
|
192
|
+
imports: [CommonModule, MatCardModule, MatButtonModule],
|
|
193
|
+
declarations: [GioSaveBarComponent],
|
|
194
|
+
exports: [GioSaveBarComponent],
|
|
195
|
+
}]
|
|
196
|
+
}] });
|
|
197
|
+
|
|
198
|
+
/*
|
|
199
|
+
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
200
|
+
*
|
|
201
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
202
|
+
* you may not use this file except in compliance with the License.
|
|
203
|
+
* You may obtain a copy of the License at
|
|
204
|
+
*
|
|
205
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
206
|
+
*
|
|
207
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
208
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
209
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
210
|
+
* See the License for the specific language governing permissions and
|
|
211
|
+
* limitations under the License.
|
|
212
|
+
*/
|
|
213
|
+
class GioSaveBarHarness extends ComponentHarness {
|
|
214
|
+
constructor() {
|
|
215
|
+
super(...arguments);
|
|
216
|
+
this.resetButtonSelector = '.save-bar__content__reset-button';
|
|
217
|
+
this.submitButtonSelector = '.save-bar__content__submit-button';
|
|
218
|
+
this.getSubmitButton = this.locatorFor(this.submitButtonSelector);
|
|
219
|
+
this.getResetButton = this.locatorFor(this.resetButtonSelector);
|
|
220
|
+
}
|
|
221
|
+
async isVisible() {
|
|
222
|
+
const submitButton = await this.locatorForOptional(this.submitButtonSelector)();
|
|
223
|
+
return submitButton !== null;
|
|
224
|
+
}
|
|
225
|
+
async clickSubmit() {
|
|
226
|
+
const host = await this.host();
|
|
227
|
+
await host.dispatchEvent('disable-submit-lock');
|
|
228
|
+
const submitButton = await this.getSubmitButton();
|
|
229
|
+
return submitButton.click();
|
|
230
|
+
}
|
|
231
|
+
async isSubmitButtonInvalid() {
|
|
232
|
+
const submitButton = await this.getSubmitButton();
|
|
233
|
+
return submitButton.hasClass('invalid');
|
|
234
|
+
}
|
|
235
|
+
async isResetButtonVisible() {
|
|
236
|
+
const submitButton = await this.locatorForOptional(this.resetButtonSelector)();
|
|
237
|
+
return submitButton !== null;
|
|
238
|
+
}
|
|
239
|
+
async clickReset() {
|
|
240
|
+
const resetButton = await this.getResetButton();
|
|
241
|
+
return resetButton.click();
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
GioSaveBarHarness.hostSelector = 'gio-save-bar';
|
|
245
|
+
|
|
246
|
+
class GioFormTagsInputComponent {
|
|
247
|
+
constructor(
|
|
248
|
+
// From ControlValueAccessor interface
|
|
249
|
+
ngControl, elRef, fm, changeDetectorRef) {
|
|
250
|
+
this.ngControl = ngControl;
|
|
251
|
+
this.elRef = elRef;
|
|
252
|
+
this.fm = fm;
|
|
253
|
+
this.changeDetectorRef = changeDetectorRef;
|
|
254
|
+
this._onChange = () => ({});
|
|
255
|
+
this._onTouched = () => ({});
|
|
256
|
+
this.touched = false;
|
|
257
|
+
this.ariaLabel = '';
|
|
258
|
+
this.addOnBlur = true;
|
|
259
|
+
/**
|
|
260
|
+
* Function called each time a tag is added, it can be used to hook inside the
|
|
261
|
+
* addition process to, for instance, have custom validation in the components
|
|
262
|
+
* using `gio-form-tags-input`.
|
|
263
|
+
*
|
|
264
|
+
* Parameters are:
|
|
265
|
+
* - `tag`: The value of the tag to add
|
|
266
|
+
* - `validationCb`: The callback function to call when validation is done. If
|
|
267
|
+
* called with `true` it will add the tag, otherwise it will just ignore it
|
|
268
|
+
*/
|
|
269
|
+
this.tagValidationHook = undefined;
|
|
270
|
+
this._tagInput = null;
|
|
271
|
+
this._value = null;
|
|
272
|
+
// From ControlValueAccessor interface
|
|
273
|
+
this.stateChanges = new Subject();
|
|
274
|
+
// From ControlValueAccessor interface
|
|
275
|
+
this.id = `gio-form-tags-input-${GioFormTagsInputComponent.nextId++}`;
|
|
276
|
+
this._placeholder = '';
|
|
277
|
+
// From ControlValueAccessor interface
|
|
278
|
+
this.focused = false;
|
|
279
|
+
this._required = false;
|
|
280
|
+
this._disabled = false;
|
|
281
|
+
// From ControlValueAccessor interface
|
|
282
|
+
this.describedBy = '';
|
|
283
|
+
// Replace the provider from above with this.
|
|
284
|
+
if (this.ngControl != null) {
|
|
285
|
+
// Setting the value accessor directly (instead of using
|
|
286
|
+
// the providers) to avoid running into a circular import.
|
|
287
|
+
this.ngControl.valueAccessor = this;
|
|
288
|
+
}
|
|
289
|
+
fm.monitor(elRef.nativeElement, true).subscribe(origin => {
|
|
290
|
+
this.focused = !!origin;
|
|
291
|
+
this._onTouched();
|
|
292
|
+
this.touched = true;
|
|
293
|
+
this.stateChanges.next();
|
|
294
|
+
});
|
|
295
|
+
}
|
|
296
|
+
set autocompleteOptions(v) {
|
|
297
|
+
this._autocompleteOptions = v;
|
|
298
|
+
this.initAutocomplete();
|
|
299
|
+
}
|
|
300
|
+
set tagInput(v) {
|
|
301
|
+
this._tagInput = v;
|
|
302
|
+
this.initAutocomplete();
|
|
303
|
+
}
|
|
304
|
+
// From ControlValueAccessor interface
|
|
305
|
+
get value() {
|
|
306
|
+
return this._value;
|
|
307
|
+
}
|
|
308
|
+
set value(_tags) {
|
|
309
|
+
this._value = _tags;
|
|
310
|
+
this._onChange(_tags);
|
|
311
|
+
this.stateChanges.next();
|
|
312
|
+
}
|
|
313
|
+
// From ControlValueAccessor interface
|
|
314
|
+
get placeholder() {
|
|
315
|
+
return this._placeholder;
|
|
316
|
+
}
|
|
317
|
+
set placeholder(plh) {
|
|
318
|
+
this._placeholder = plh;
|
|
319
|
+
this.stateChanges.next();
|
|
320
|
+
}
|
|
321
|
+
// From ControlValueAccessor interface
|
|
322
|
+
get empty() {
|
|
323
|
+
return isEmpty(this.value) && isEmpty(this._tagInput?.nativeElement?.value);
|
|
324
|
+
}
|
|
325
|
+
// From ControlValueAccessor interface
|
|
326
|
+
get shouldLabelFloat() {
|
|
327
|
+
return this.focused || !this.empty;
|
|
328
|
+
}
|
|
329
|
+
// From ControlValueAccessor interface
|
|
330
|
+
get required() {
|
|
331
|
+
return this._required;
|
|
332
|
+
}
|
|
333
|
+
set required(req) {
|
|
334
|
+
this._required = coerceBooleanProperty(req);
|
|
335
|
+
this.stateChanges.next();
|
|
336
|
+
}
|
|
337
|
+
// From ControlValueAccessor interface
|
|
338
|
+
get disabled() {
|
|
339
|
+
return this._disabled || (this.ngControl && this.ngControl.disabled === true);
|
|
340
|
+
}
|
|
341
|
+
set disabled(dis) {
|
|
342
|
+
this._disabled = coerceBooleanProperty(dis);
|
|
343
|
+
this.stateChanges.next();
|
|
344
|
+
}
|
|
345
|
+
// From ControlValueAccessor interface
|
|
346
|
+
get errorState() {
|
|
347
|
+
return (this.touched &&
|
|
348
|
+
// if required check if is empty
|
|
349
|
+
((this.required && this.empty) ||
|
|
350
|
+
// if there is a touched control check if there is an error
|
|
351
|
+
(this.ngControl && this.ngControl.touched === true && !!this.ngControl.errors)));
|
|
352
|
+
}
|
|
353
|
+
ngDoCheck() {
|
|
354
|
+
// sync control touched with local touched
|
|
355
|
+
if (this.ngControl != null && this.touched !== this.ngControl.touched) {
|
|
356
|
+
this.touched = this.ngControl.touched === true;
|
|
357
|
+
this.stateChanges.next();
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
ngOnDestroy() {
|
|
361
|
+
this.stateChanges.complete();
|
|
362
|
+
this.fm.stopMonitoring(this.elRef.nativeElement);
|
|
363
|
+
}
|
|
364
|
+
// From ControlValueAccessor interface
|
|
365
|
+
writeValue(value) {
|
|
366
|
+
this._value = value;
|
|
367
|
+
}
|
|
368
|
+
// From ControlValueAccessor interface
|
|
369
|
+
registerOnChange(fn) {
|
|
370
|
+
this._onChange = fn;
|
|
371
|
+
}
|
|
372
|
+
// From ControlValueAccessor interface
|
|
373
|
+
registerOnTouched(fn) {
|
|
374
|
+
this._onTouched = fn;
|
|
375
|
+
}
|
|
376
|
+
setDescribedByIds(ids) {
|
|
377
|
+
this.describedBy = ids.join(' ');
|
|
378
|
+
}
|
|
379
|
+
// From ControlValueAccessor interface
|
|
380
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-empty-function
|
|
381
|
+
onContainerClick(_event) { }
|
|
382
|
+
addChipToFormControl(event) {
|
|
383
|
+
const input = this._tagInput?.nativeElement;
|
|
384
|
+
const tagToAdd = (event.value ?? '').trim();
|
|
385
|
+
if (isEmpty(tagToAdd)) {
|
|
386
|
+
return;
|
|
387
|
+
}
|
|
388
|
+
// Add the tag only if shouldAddTag in validationCb return true
|
|
389
|
+
// Set default callback if not defined
|
|
390
|
+
const tagValidationHook = this.tagValidationHook ?? ((_, validationCb) => validationCb(true));
|
|
391
|
+
const validationCb = (shouldAddTag) => {
|
|
392
|
+
// Add new Tag in form control
|
|
393
|
+
if (shouldAddTag) {
|
|
394
|
+
// Delete Tag if already existing
|
|
395
|
+
const formControlValue = [...(this.value ?? [])].filter(v => v !== tagToAdd);
|
|
396
|
+
this.value = [...formControlValue, tagToAdd];
|
|
397
|
+
}
|
|
398
|
+
};
|
|
399
|
+
// Reset the input value
|
|
400
|
+
if (input) {
|
|
401
|
+
input.value = '';
|
|
402
|
+
}
|
|
403
|
+
tagValidationHook(tagToAdd, validationCb);
|
|
404
|
+
}
|
|
405
|
+
removeChipToFormControl(tag) {
|
|
406
|
+
this.value = [...(this.value ?? [])].filter(v => v !== tag);
|
|
407
|
+
}
|
|
408
|
+
onAutocompleteSelect(event) {
|
|
409
|
+
this.addChipToFormControl({ value: event.option.value });
|
|
410
|
+
}
|
|
411
|
+
onMatChipTokenEnd() {
|
|
412
|
+
// Give priority to the `onAutocompleteSelect` when validating with the blur event
|
|
413
|
+
setTimeout(() => {
|
|
414
|
+
this.addChipToFormControl({ value: this._tagInput?.nativeElement.value ?? '' });
|
|
415
|
+
}, 100);
|
|
416
|
+
}
|
|
417
|
+
initAutocomplete() {
|
|
418
|
+
if (this._autocompleteOptions && this._tagInput?.nativeElement) {
|
|
419
|
+
this.autocompleteFilteredOptions$ = fromEvent(this._tagInput.nativeElement, 'keyup').pipe(startWith([]), map(() => {
|
|
420
|
+
return (this._autocompleteOptions ?? []).filter(defaultHeader => defaultHeader.toLowerCase().includes((this._tagInput?.nativeElement.value ?? '').toLowerCase()));
|
|
421
|
+
}), distinctUntilChanged());
|
|
422
|
+
this.changeDetectorRef.detectChanges();
|
|
423
|
+
}
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
GioFormTagsInputComponent.nextId = 0;
|
|
427
|
+
GioFormTagsInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormTagsInputComponent, deps: [{ token: i7.NgControl, optional: true, self: true }, { token: i0.ElementRef }, { token: i2$2.FocusMonitor }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
428
|
+
GioFormTagsInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioFormTagsInputComponent, selector: "gio-form-tags-input", inputs: { ariaLabel: ["aria-label", "ariaLabel"], addOnBlur: "addOnBlur", tagValidationHook: "tagValidationHook", autocompleteOptions: "autocompleteOptions", placeholder: "placeholder", required: "required", disabled: "disabled" }, host: { properties: { "id": "this.id", "class.floating": "this.shouldLabelFloat", "attr.aria-describedby": "this.describedBy" } }, providers: [
|
|
429
|
+
{
|
|
430
|
+
provide: MatFormFieldControl,
|
|
431
|
+
useExisting: GioFormTagsInputComponent,
|
|
432
|
+
},
|
|
433
|
+
], viewQueries: [{ propertyName: "tagInput", first: true, predicate: ["tagInput"], descendants: true }], ngImport: i0, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<mat-chip-list #tagChipList [attr.aria-label]=\"ariaLabel\" multiple [disabled]=\"disabled\">\n <mat-chip *ngFor=\"let tag of value\" [selectable]=\"false\" [removable]=\"!disabled\" (removed)=\"removeChipToFormControl(tag)\">\n {{ tag }}\n <mat-icon matChipRemove>cancel</mat-icon>\n </mat-chip>\n <input\n *ngIf=\"!disabled\"\n #tagInput\n [matAutocompleteDisabled]=\"!_autocompleteOptions\"\n [matAutocomplete]=\"auto\"\n [placeholder]=\"placeholder\"\n [matChipInputFor]=\"tagChipList\"\n [matChipInputAddOnBlur]=\"addOnBlur\"\n (matChipInputTokenEnd)=\"onMatChipTokenEnd()\"\n />\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"onAutocompleteSelect($event)\">\n <mat-option *ngFor=\"let value of autocompleteFilteredOptions$ | async\" [value]=\"value\">\n {{ value }}\n </mat-option>\n </mat-autocomplete>\n</mat-chip-list>\n", styles: [""], components: [{ type: i3.MatChipList, selector: "mat-chip-list", inputs: ["errorStateMatcher", "multiple", "compareWith", "value", "required", "placeholder", "disabled", "aria-orientation", "selectable", "tabIndex"], outputs: ["change", "valueChange"], exportAs: ["matChipList"] }, { type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i5.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { type: i6.MatOption, selector: "mat-option", exportAs: ["matOption"] }], directives: [{ type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["color", "disableRipple", "tabIndex", "selected", "value", "selectable", "disabled", "removable"], outputs: ["selectionChange", "destroyed", "removed"], exportAs: ["matChip"] }, { type: i3.MatChipRemove, selector: "[matChipRemove]" }, { type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { type: i3.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }], pipes: { "async": i2$1.AsyncPipe } });
|
|
434
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormTagsInputComponent, decorators: [{
|
|
435
|
+
type: Component,
|
|
436
|
+
args: [{ selector: 'gio-form-tags-input', providers: [
|
|
437
|
+
{
|
|
438
|
+
provide: MatFormFieldControl,
|
|
439
|
+
useExisting: GioFormTagsInputComponent,
|
|
440
|
+
},
|
|
441
|
+
], template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<mat-chip-list #tagChipList [attr.aria-label]=\"ariaLabel\" multiple [disabled]=\"disabled\">\n <mat-chip *ngFor=\"let tag of value\" [selectable]=\"false\" [removable]=\"!disabled\" (removed)=\"removeChipToFormControl(tag)\">\n {{ tag }}\n <mat-icon matChipRemove>cancel</mat-icon>\n </mat-chip>\n <input\n *ngIf=\"!disabled\"\n #tagInput\n [matAutocompleteDisabled]=\"!_autocompleteOptions\"\n [matAutocomplete]=\"auto\"\n [placeholder]=\"placeholder\"\n [matChipInputFor]=\"tagChipList\"\n [matChipInputAddOnBlur]=\"addOnBlur\"\n (matChipInputTokenEnd)=\"onMatChipTokenEnd()\"\n />\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"onAutocompleteSelect($event)\">\n <mat-option *ngFor=\"let value of autocompleteFilteredOptions$ | async\" [value]=\"value\">\n {{ value }}\n </mat-option>\n </mat-autocomplete>\n</mat-chip-list>\n", styles: [""] }]
|
|
442
|
+
}], ctorParameters: function () { return [{ type: i7.NgControl, decorators: [{
|
|
443
|
+
type: Optional
|
|
444
|
+
}, {
|
|
445
|
+
type: Self
|
|
446
|
+
}] }, { type: i0.ElementRef }, { type: i2$2.FocusMonitor }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { ariaLabel: [{
|
|
447
|
+
type: Input,
|
|
448
|
+
args: ['aria-label']
|
|
449
|
+
}], addOnBlur: [{
|
|
450
|
+
type: Input
|
|
451
|
+
}], tagValidationHook: [{
|
|
452
|
+
type: Input
|
|
453
|
+
}], autocompleteOptions: [{
|
|
454
|
+
type: Input
|
|
455
|
+
}], tagInput: [{
|
|
456
|
+
type: ViewChild,
|
|
457
|
+
args: ['tagInput']
|
|
458
|
+
}], id: [{
|
|
459
|
+
type: HostBinding,
|
|
460
|
+
args: ['id']
|
|
461
|
+
}], placeholder: [{
|
|
462
|
+
type: Input
|
|
463
|
+
}], shouldLabelFloat: [{
|
|
464
|
+
type: HostBinding,
|
|
465
|
+
args: ['class.floating']
|
|
466
|
+
}], required: [{
|
|
467
|
+
type: Input
|
|
468
|
+
}], disabled: [{
|
|
469
|
+
type: Input
|
|
470
|
+
}], describedBy: [{
|
|
471
|
+
type: HostBinding,
|
|
472
|
+
args: ['attr.aria-describedby']
|
|
473
|
+
}] } });
|
|
474
|
+
|
|
475
|
+
/*
|
|
476
|
+
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
477
|
+
*
|
|
478
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
479
|
+
* you may not use this file except in compliance with the License.
|
|
480
|
+
* You may obtain a copy of the License at
|
|
481
|
+
*
|
|
482
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
483
|
+
*
|
|
484
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
485
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
486
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
487
|
+
* See the License for the specific language governing permissions and
|
|
488
|
+
* limitations under the License.
|
|
489
|
+
*/
|
|
490
|
+
class GioFormTagsInputModule {
|
|
491
|
+
}
|
|
492
|
+
GioFormTagsInputModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormTagsInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
493
|
+
GioFormTagsInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormTagsInputModule, declarations: [GioFormTagsInputComponent], imports: [CommonModule, A11yModule, MatChipsModule, MatInputModule, FormsModule, MatIconModule, MatAutocompleteModule, MatSelectModule], exports: [GioFormTagsInputComponent] });
|
|
494
|
+
GioFormTagsInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormTagsInputModule, imports: [[CommonModule, A11yModule, MatChipsModule, MatInputModule, FormsModule, MatIconModule, MatAutocompleteModule, MatSelectModule]] });
|
|
495
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormTagsInputModule, decorators: [{
|
|
496
|
+
type: NgModule,
|
|
497
|
+
args: [{
|
|
498
|
+
imports: [CommonModule, A11yModule, MatChipsModule, MatInputModule, FormsModule, MatIconModule, MatAutocompleteModule, MatSelectModule],
|
|
499
|
+
declarations: [GioFormTagsInputComponent],
|
|
500
|
+
exports: [GioFormTagsInputComponent],
|
|
501
|
+
}]
|
|
502
|
+
}] });
|
|
503
|
+
|
|
504
|
+
/*
|
|
505
|
+
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
506
|
+
*
|
|
507
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
508
|
+
* you may not use this file except in compliance with the License.
|
|
509
|
+
* You may obtain a copy of the License at
|
|
510
|
+
*
|
|
511
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
512
|
+
*
|
|
513
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
514
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
515
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
516
|
+
* See the License for the specific language governing permissions and
|
|
517
|
+
* limitations under the License.
|
|
518
|
+
*/
|
|
519
|
+
class GioFormTagsInputHarness extends ComponentHarness {
|
|
520
|
+
constructor() {
|
|
521
|
+
super(...arguments);
|
|
522
|
+
this.getMatChipListHarness = this.locatorFor(MatChipListHarness);
|
|
523
|
+
}
|
|
524
|
+
/**
|
|
525
|
+
* Gets a `HarnessPredicate` that can be used to search for a `GioFormColorInputHarness` that meets
|
|
526
|
+
* certain criteria.
|
|
527
|
+
*
|
|
528
|
+
* @param options Options for filtering which input instances are considered a match.
|
|
529
|
+
* @return a `HarnessPredicate` configured with the given options.
|
|
530
|
+
*/
|
|
531
|
+
static with(options = {}) {
|
|
532
|
+
return new HarnessPredicate(GioFormTagsInputHarness, options);
|
|
533
|
+
}
|
|
534
|
+
async isDisabled() {
|
|
535
|
+
const matChipList = await this.getMatChipListHarness();
|
|
536
|
+
return matChipList.isDisabled();
|
|
537
|
+
}
|
|
538
|
+
async getTags() {
|
|
539
|
+
const matChipList = await this.getMatChipListHarness();
|
|
540
|
+
const chips = await matChipList.getChips();
|
|
541
|
+
return parallel(() => chips.map(async (chip) => await chip.getText()));
|
|
542
|
+
}
|
|
543
|
+
async addTag(tag, separatorKey = TestKey.ENTER) {
|
|
544
|
+
const matChipList = await this.getMatChipListHarness();
|
|
545
|
+
const chipInput = await matChipList.getInput();
|
|
546
|
+
await chipInput.setValue(tag);
|
|
547
|
+
if (separatorKey === 'blur') {
|
|
548
|
+
await chipInput.blur();
|
|
549
|
+
}
|
|
550
|
+
else {
|
|
551
|
+
await chipInput.sendSeparatorKey(separatorKey);
|
|
552
|
+
}
|
|
553
|
+
}
|
|
554
|
+
async removeTag(tag) {
|
|
555
|
+
const matChipList = await this.getMatChipListHarness();
|
|
556
|
+
const chips = await matChipList.getChips({ text: tag });
|
|
557
|
+
if (chips[0]) {
|
|
558
|
+
await chips[0].remove();
|
|
559
|
+
}
|
|
560
|
+
}
|
|
561
|
+
async getMatAutocompleteHarness() {
|
|
562
|
+
const matAutocompleteHarness = await this.locatorForOptional(MatAutocompleteHarness)();
|
|
563
|
+
return matAutocompleteHarness;
|
|
564
|
+
}
|
|
565
|
+
}
|
|
566
|
+
GioFormTagsInputHarness.hostSelector = 'gio-form-tags-input';
|
|
567
|
+
|
|
568
|
+
/*
|
|
569
|
+
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
570
|
+
*
|
|
571
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
572
|
+
* you may not use this file except in compliance with the License.
|
|
573
|
+
* You may obtain a copy of the License at
|
|
574
|
+
*
|
|
575
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
576
|
+
*
|
|
577
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
578
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
579
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
580
|
+
* See the License for the specific language governing permissions and
|
|
581
|
+
* limitations under the License.
|
|
582
|
+
*/
|
|
583
|
+
class GioBannerComponent {
|
|
584
|
+
constructor() {
|
|
585
|
+
this.type = 'info';
|
|
586
|
+
}
|
|
587
|
+
}
|
|
588
|
+
GioBannerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBannerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
589
|
+
GioBannerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioBannerComponent, selector: "gio-banner", inputs: { type: "type" }, ngImport: i0, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div\n class=\"banner\"\n [class.info]=\"type === 'info'\"\n [class.error]=\"type === 'error'\"\n [class.warning]=\"type === 'warning'\"\n [class.success]=\"type === 'success'\"\n>\n <div class=\"banner__wrapper\">\n <div class=\"banner__wrapper__icon\" [ngSwitch]=\"type\">\n <mat-icon *ngSwitchCase=\"'info'\" svgIcon=\"gio:chat-lines\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'error'\" svgIcon=\"gio:chat-bubble-error\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'warning'\" svgIcon=\"gio:chat-bubble-warning\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'success'\" svgIcon=\"gio:chat-bubble-check\"></mat-icon>\n </div>\n <div class=\"banner__wrapper__head\">\n <div class=\"banner__wrapper__title\">\n <ng-content></ng-content>\n </div>\n <div #body class=\"banner__wrapper__body\" [class.hide]=\"!body.children.length\">\n <ng-content select=\"[gioBannerBody]\"></ng-content>\n </div>\n </div>\n <div #action class=\"banner__wrapper__action\" [class.hide]=\"!action.children.length\">\n <ng-content select=\"[gioBannerAction]\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [":host{display:block;margin:8px 0}.banner{display:flex;flex-direction:column;align-items:stretch;padding:12px 16px;background-color:#fff;border-radius:8px}.banner.error{border:3px solid #ec4899;color:#2c0015}.banner.error .mat-icon{color:#ec4899}.banner.error ::ng-deep a{color:inherit}.banner.info{border:3px solid #009999;color:#001f1f}.banner.info .mat-icon{color:#099}.banner.info ::ng-deep a{color:inherit}.banner.success{border:3px solid #0de598;color:#002c1c}.banner.success .mat-icon{color:#0de598}.banner.success ::ng-deep a{color:inherit}.banner.warning{border:3px solid #fe733f;color:#2c0c01}.banner.warning .mat-icon{color:#fe733f}.banner.warning ::ng-deep a{color:inherit}.banner__wrapper{position:relative;display:flex;align-items:center;font:600 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.banner__wrapper__icon{display:flex;align-self:flex-start;margin-right:16px}.banner__wrapper__head{display:flex;flex:1 1 auto;flex-direction:column;line-height:normal}.banner__wrapper__title{display:flex;flex:1;align-items:center;padding:4px 0}.banner__wrapper__action{align-self:flex-start;padding-left:16px}.banner__wrapper__body{font:400 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.banner__wrapper .hide{display:none}\n"], components: [{ type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i2$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] });
|
|
590
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBannerComponent, decorators: [{
|
|
591
|
+
type: Component,
|
|
592
|
+
args: [{ selector: 'gio-banner', template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div\n class=\"banner\"\n [class.info]=\"type === 'info'\"\n [class.error]=\"type === 'error'\"\n [class.warning]=\"type === 'warning'\"\n [class.success]=\"type === 'success'\"\n>\n <div class=\"banner__wrapper\">\n <div class=\"banner__wrapper__icon\" [ngSwitch]=\"type\">\n <mat-icon *ngSwitchCase=\"'info'\" svgIcon=\"gio:chat-lines\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'error'\" svgIcon=\"gio:chat-bubble-error\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'warning'\" svgIcon=\"gio:chat-bubble-warning\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'success'\" svgIcon=\"gio:chat-bubble-check\"></mat-icon>\n </div>\n <div class=\"banner__wrapper__head\">\n <div class=\"banner__wrapper__title\">\n <ng-content></ng-content>\n </div>\n <div #body class=\"banner__wrapper__body\" [class.hide]=\"!body.children.length\">\n <ng-content select=\"[gioBannerBody]\"></ng-content>\n </div>\n </div>\n <div #action class=\"banner__wrapper__action\" [class.hide]=\"!action.children.length\">\n <ng-content select=\"[gioBannerAction]\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [":host{display:block;margin:8px 0}.banner{display:flex;flex-direction:column;align-items:stretch;padding:12px 16px;background-color:#fff;border-radius:8px}.banner.error{border:3px solid #ec4899;color:#2c0015}.banner.error .mat-icon{color:#ec4899}.banner.error ::ng-deep a{color:inherit}.banner.info{border:3px solid #009999;color:#001f1f}.banner.info .mat-icon{color:#099}.banner.info ::ng-deep a{color:inherit}.banner.success{border:3px solid #0de598;color:#002c1c}.banner.success .mat-icon{color:#0de598}.banner.success ::ng-deep a{color:inherit}.banner.warning{border:3px solid #fe733f;color:#2c0c01}.banner.warning .mat-icon{color:#fe733f}.banner.warning ::ng-deep a{color:inherit}.banner__wrapper{position:relative;display:flex;align-items:center;font:600 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.banner__wrapper__icon{display:flex;align-self:flex-start;margin-right:16px}.banner__wrapper__head{display:flex;flex:1 1 auto;flex-direction:column;line-height:normal}.banner__wrapper__title{display:flex;flex:1;align-items:center;padding:4px 0}.banner__wrapper__action{align-self:flex-start;padding-left:16px}.banner__wrapper__body{font:400 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.banner__wrapper .hide{display:none}\n"] }]
|
|
593
|
+
}], propDecorators: { type: [{
|
|
594
|
+
type: Input
|
|
595
|
+
}] } });
|
|
596
|
+
class GioBannerBodyDirective {
|
|
597
|
+
}
|
|
598
|
+
GioBannerBodyDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBannerBodyDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
599
|
+
GioBannerBodyDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: GioBannerBodyDirective, selector: "[gioBannerBody]", ngImport: i0 });
|
|
600
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBannerBodyDirective, decorators: [{
|
|
601
|
+
type: Directive,
|
|
602
|
+
args: [{
|
|
603
|
+
selector: '[gioBannerBody]',
|
|
604
|
+
}]
|
|
605
|
+
}] });
|
|
606
|
+
class GioBannerActionDirective {
|
|
607
|
+
}
|
|
608
|
+
GioBannerActionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBannerActionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
609
|
+
GioBannerActionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: GioBannerActionDirective, selector: "[gioBannerAction]", ngImport: i0 });
|
|
610
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBannerActionDirective, decorators: [{
|
|
611
|
+
type: Directive,
|
|
612
|
+
args: [{
|
|
613
|
+
selector: '[gioBannerAction]',
|
|
614
|
+
}]
|
|
615
|
+
}] });
|
|
616
|
+
class GioBannerErrorComponent extends GioBannerComponent {
|
|
617
|
+
constructor() {
|
|
618
|
+
super(...arguments);
|
|
619
|
+
this.type = 'error';
|
|
620
|
+
}
|
|
621
|
+
}
|
|
622
|
+
GioBannerErrorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBannerErrorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
623
|
+
GioBannerErrorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioBannerErrorComponent, selector: "gio-banner-error", usesInheritance: true, ngImport: i0, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div\n class=\"banner\"\n [class.info]=\"type === 'info'\"\n [class.error]=\"type === 'error'\"\n [class.warning]=\"type === 'warning'\"\n [class.success]=\"type === 'success'\"\n>\n <div class=\"banner__wrapper\">\n <div class=\"banner__wrapper__icon\" [ngSwitch]=\"type\">\n <mat-icon *ngSwitchCase=\"'info'\" svgIcon=\"gio:chat-lines\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'error'\" svgIcon=\"gio:chat-bubble-error\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'warning'\" svgIcon=\"gio:chat-bubble-warning\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'success'\" svgIcon=\"gio:chat-bubble-check\"></mat-icon>\n </div>\n <div class=\"banner__wrapper__head\">\n <div class=\"banner__wrapper__title\">\n <ng-content></ng-content>\n </div>\n <div #body class=\"banner__wrapper__body\" [class.hide]=\"!body.children.length\">\n <ng-content select=\"[gioBannerBody]\"></ng-content>\n </div>\n </div>\n <div #action class=\"banner__wrapper__action\" [class.hide]=\"!action.children.length\">\n <ng-content select=\"[gioBannerAction]\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [":host{display:block;margin:8px 0}.banner{display:flex;flex-direction:column;align-items:stretch;padding:12px 16px;background-color:#fff;border-radius:8px}.banner.error{border:3px solid #ec4899;color:#2c0015}.banner.error .mat-icon{color:#ec4899}.banner.error ::ng-deep a{color:inherit}.banner.info{border:3px solid #009999;color:#001f1f}.banner.info .mat-icon{color:#099}.banner.info ::ng-deep a{color:inherit}.banner.success{border:3px solid #0de598;color:#002c1c}.banner.success .mat-icon{color:#0de598}.banner.success ::ng-deep a{color:inherit}.banner.warning{border:3px solid #fe733f;color:#2c0c01}.banner.warning .mat-icon{color:#fe733f}.banner.warning ::ng-deep a{color:inherit}.banner__wrapper{position:relative;display:flex;align-items:center;font:600 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.banner__wrapper__icon{display:flex;align-self:flex-start;margin-right:16px}.banner__wrapper__head{display:flex;flex:1 1 auto;flex-direction:column;line-height:normal}.banner__wrapper__title{display:flex;flex:1;align-items:center;padding:4px 0}.banner__wrapper__action{align-self:flex-start;padding-left:16px}.banner__wrapper__body{font:400 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.banner__wrapper .hide{display:none}\n"], components: [{ type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i2$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] });
|
|
624
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBannerErrorComponent, decorators: [{
|
|
625
|
+
type: Component,
|
|
626
|
+
args: [{ selector: 'gio-banner-error', template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div\n class=\"banner\"\n [class.info]=\"type === 'info'\"\n [class.error]=\"type === 'error'\"\n [class.warning]=\"type === 'warning'\"\n [class.success]=\"type === 'success'\"\n>\n <div class=\"banner__wrapper\">\n <div class=\"banner__wrapper__icon\" [ngSwitch]=\"type\">\n <mat-icon *ngSwitchCase=\"'info'\" svgIcon=\"gio:chat-lines\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'error'\" svgIcon=\"gio:chat-bubble-error\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'warning'\" svgIcon=\"gio:chat-bubble-warning\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'success'\" svgIcon=\"gio:chat-bubble-check\"></mat-icon>\n </div>\n <div class=\"banner__wrapper__head\">\n <div class=\"banner__wrapper__title\">\n <ng-content></ng-content>\n </div>\n <div #body class=\"banner__wrapper__body\" [class.hide]=\"!body.children.length\">\n <ng-content select=\"[gioBannerBody]\"></ng-content>\n </div>\n </div>\n <div #action class=\"banner__wrapper__action\" [class.hide]=\"!action.children.length\">\n <ng-content select=\"[gioBannerAction]\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [":host{display:block;margin:8px 0}.banner{display:flex;flex-direction:column;align-items:stretch;padding:12px 16px;background-color:#fff;border-radius:8px}.banner.error{border:3px solid #ec4899;color:#2c0015}.banner.error .mat-icon{color:#ec4899}.banner.error ::ng-deep a{color:inherit}.banner.info{border:3px solid #009999;color:#001f1f}.banner.info .mat-icon{color:#099}.banner.info ::ng-deep a{color:inherit}.banner.success{border:3px solid #0de598;color:#002c1c}.banner.success .mat-icon{color:#0de598}.banner.success ::ng-deep a{color:inherit}.banner.warning{border:3px solid #fe733f;color:#2c0c01}.banner.warning .mat-icon{color:#fe733f}.banner.warning ::ng-deep a{color:inherit}.banner__wrapper{position:relative;display:flex;align-items:center;font:600 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.banner__wrapper__icon{display:flex;align-self:flex-start;margin-right:16px}.banner__wrapper__head{display:flex;flex:1 1 auto;flex-direction:column;line-height:normal}.banner__wrapper__title{display:flex;flex:1;align-items:center;padding:4px 0}.banner__wrapper__action{align-self:flex-start;padding-left:16px}.banner__wrapper__body{font:400 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.banner__wrapper .hide{display:none}\n"] }]
|
|
627
|
+
}] });
|
|
628
|
+
class GioBannerInfoComponent extends GioBannerComponent {
|
|
629
|
+
constructor() {
|
|
630
|
+
super(...arguments);
|
|
631
|
+
this.type = 'info';
|
|
632
|
+
}
|
|
633
|
+
}
|
|
634
|
+
GioBannerInfoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBannerInfoComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
635
|
+
GioBannerInfoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioBannerInfoComponent, selector: "gio-banner-info", usesInheritance: true, ngImport: i0, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div\n class=\"banner\"\n [class.info]=\"type === 'info'\"\n [class.error]=\"type === 'error'\"\n [class.warning]=\"type === 'warning'\"\n [class.success]=\"type === 'success'\"\n>\n <div class=\"banner__wrapper\">\n <div class=\"banner__wrapper__icon\" [ngSwitch]=\"type\">\n <mat-icon *ngSwitchCase=\"'info'\" svgIcon=\"gio:chat-lines\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'error'\" svgIcon=\"gio:chat-bubble-error\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'warning'\" svgIcon=\"gio:chat-bubble-warning\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'success'\" svgIcon=\"gio:chat-bubble-check\"></mat-icon>\n </div>\n <div class=\"banner__wrapper__head\">\n <div class=\"banner__wrapper__title\">\n <ng-content></ng-content>\n </div>\n <div #body class=\"banner__wrapper__body\" [class.hide]=\"!body.children.length\">\n <ng-content select=\"[gioBannerBody]\"></ng-content>\n </div>\n </div>\n <div #action class=\"banner__wrapper__action\" [class.hide]=\"!action.children.length\">\n <ng-content select=\"[gioBannerAction]\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [":host{display:block;margin:8px 0}.banner{display:flex;flex-direction:column;align-items:stretch;padding:12px 16px;background-color:#fff;border-radius:8px}.banner.error{border:3px solid #ec4899;color:#2c0015}.banner.error .mat-icon{color:#ec4899}.banner.error ::ng-deep a{color:inherit}.banner.info{border:3px solid #009999;color:#001f1f}.banner.info .mat-icon{color:#099}.banner.info ::ng-deep a{color:inherit}.banner.success{border:3px solid #0de598;color:#002c1c}.banner.success .mat-icon{color:#0de598}.banner.success ::ng-deep a{color:inherit}.banner.warning{border:3px solid #fe733f;color:#2c0c01}.banner.warning .mat-icon{color:#fe733f}.banner.warning ::ng-deep a{color:inherit}.banner__wrapper{position:relative;display:flex;align-items:center;font:600 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.banner__wrapper__icon{display:flex;align-self:flex-start;margin-right:16px}.banner__wrapper__head{display:flex;flex:1 1 auto;flex-direction:column;line-height:normal}.banner__wrapper__title{display:flex;flex:1;align-items:center;padding:4px 0}.banner__wrapper__action{align-self:flex-start;padding-left:16px}.banner__wrapper__body{font:400 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.banner__wrapper .hide{display:none}\n"], components: [{ type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i2$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] });
|
|
636
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBannerInfoComponent, decorators: [{
|
|
637
|
+
type: Component,
|
|
638
|
+
args: [{ selector: 'gio-banner-info', template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div\n class=\"banner\"\n [class.info]=\"type === 'info'\"\n [class.error]=\"type === 'error'\"\n [class.warning]=\"type === 'warning'\"\n [class.success]=\"type === 'success'\"\n>\n <div class=\"banner__wrapper\">\n <div class=\"banner__wrapper__icon\" [ngSwitch]=\"type\">\n <mat-icon *ngSwitchCase=\"'info'\" svgIcon=\"gio:chat-lines\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'error'\" svgIcon=\"gio:chat-bubble-error\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'warning'\" svgIcon=\"gio:chat-bubble-warning\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'success'\" svgIcon=\"gio:chat-bubble-check\"></mat-icon>\n </div>\n <div class=\"banner__wrapper__head\">\n <div class=\"banner__wrapper__title\">\n <ng-content></ng-content>\n </div>\n <div #body class=\"banner__wrapper__body\" [class.hide]=\"!body.children.length\">\n <ng-content select=\"[gioBannerBody]\"></ng-content>\n </div>\n </div>\n <div #action class=\"banner__wrapper__action\" [class.hide]=\"!action.children.length\">\n <ng-content select=\"[gioBannerAction]\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [":host{display:block;margin:8px 0}.banner{display:flex;flex-direction:column;align-items:stretch;padding:12px 16px;background-color:#fff;border-radius:8px}.banner.error{border:3px solid #ec4899;color:#2c0015}.banner.error .mat-icon{color:#ec4899}.banner.error ::ng-deep a{color:inherit}.banner.info{border:3px solid #009999;color:#001f1f}.banner.info .mat-icon{color:#099}.banner.info ::ng-deep a{color:inherit}.banner.success{border:3px solid #0de598;color:#002c1c}.banner.success .mat-icon{color:#0de598}.banner.success ::ng-deep a{color:inherit}.banner.warning{border:3px solid #fe733f;color:#2c0c01}.banner.warning .mat-icon{color:#fe733f}.banner.warning ::ng-deep a{color:inherit}.banner__wrapper{position:relative;display:flex;align-items:center;font:600 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.banner__wrapper__icon{display:flex;align-self:flex-start;margin-right:16px}.banner__wrapper__head{display:flex;flex:1 1 auto;flex-direction:column;line-height:normal}.banner__wrapper__title{display:flex;flex:1;align-items:center;padding:4px 0}.banner__wrapper__action{align-self:flex-start;padding-left:16px}.banner__wrapper__body{font:400 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.banner__wrapper .hide{display:none}\n"] }]
|
|
639
|
+
}] });
|
|
640
|
+
class GioBannerSuccessComponent extends GioBannerComponent {
|
|
641
|
+
constructor() {
|
|
642
|
+
super(...arguments);
|
|
643
|
+
this.type = 'success';
|
|
644
|
+
}
|
|
645
|
+
}
|
|
646
|
+
GioBannerSuccessComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBannerSuccessComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
647
|
+
GioBannerSuccessComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioBannerSuccessComponent, selector: "gio-banner-success", usesInheritance: true, ngImport: i0, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div\n class=\"banner\"\n [class.info]=\"type === 'info'\"\n [class.error]=\"type === 'error'\"\n [class.warning]=\"type === 'warning'\"\n [class.success]=\"type === 'success'\"\n>\n <div class=\"banner__wrapper\">\n <div class=\"banner__wrapper__icon\" [ngSwitch]=\"type\">\n <mat-icon *ngSwitchCase=\"'info'\" svgIcon=\"gio:chat-lines\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'error'\" svgIcon=\"gio:chat-bubble-error\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'warning'\" svgIcon=\"gio:chat-bubble-warning\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'success'\" svgIcon=\"gio:chat-bubble-check\"></mat-icon>\n </div>\n <div class=\"banner__wrapper__head\">\n <div class=\"banner__wrapper__title\">\n <ng-content></ng-content>\n </div>\n <div #body class=\"banner__wrapper__body\" [class.hide]=\"!body.children.length\">\n <ng-content select=\"[gioBannerBody]\"></ng-content>\n </div>\n </div>\n <div #action class=\"banner__wrapper__action\" [class.hide]=\"!action.children.length\">\n <ng-content select=\"[gioBannerAction]\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [":host{display:block;margin:8px 0}.banner{display:flex;flex-direction:column;align-items:stretch;padding:12px 16px;background-color:#fff;border-radius:8px}.banner.error{border:3px solid #ec4899;color:#2c0015}.banner.error .mat-icon{color:#ec4899}.banner.error ::ng-deep a{color:inherit}.banner.info{border:3px solid #009999;color:#001f1f}.banner.info .mat-icon{color:#099}.banner.info ::ng-deep a{color:inherit}.banner.success{border:3px solid #0de598;color:#002c1c}.banner.success .mat-icon{color:#0de598}.banner.success ::ng-deep a{color:inherit}.banner.warning{border:3px solid #fe733f;color:#2c0c01}.banner.warning .mat-icon{color:#fe733f}.banner.warning ::ng-deep a{color:inherit}.banner__wrapper{position:relative;display:flex;align-items:center;font:600 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.banner__wrapper__icon{display:flex;align-self:flex-start;margin-right:16px}.banner__wrapper__head{display:flex;flex:1 1 auto;flex-direction:column;line-height:normal}.banner__wrapper__title{display:flex;flex:1;align-items:center;padding:4px 0}.banner__wrapper__action{align-self:flex-start;padding-left:16px}.banner__wrapper__body{font:400 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.banner__wrapper .hide{display:none}\n"], components: [{ type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i2$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] });
|
|
648
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBannerSuccessComponent, decorators: [{
|
|
649
|
+
type: Component,
|
|
650
|
+
args: [{ selector: 'gio-banner-success', template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div\n class=\"banner\"\n [class.info]=\"type === 'info'\"\n [class.error]=\"type === 'error'\"\n [class.warning]=\"type === 'warning'\"\n [class.success]=\"type === 'success'\"\n>\n <div class=\"banner__wrapper\">\n <div class=\"banner__wrapper__icon\" [ngSwitch]=\"type\">\n <mat-icon *ngSwitchCase=\"'info'\" svgIcon=\"gio:chat-lines\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'error'\" svgIcon=\"gio:chat-bubble-error\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'warning'\" svgIcon=\"gio:chat-bubble-warning\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'success'\" svgIcon=\"gio:chat-bubble-check\"></mat-icon>\n </div>\n <div class=\"banner__wrapper__head\">\n <div class=\"banner__wrapper__title\">\n <ng-content></ng-content>\n </div>\n <div #body class=\"banner__wrapper__body\" [class.hide]=\"!body.children.length\">\n <ng-content select=\"[gioBannerBody]\"></ng-content>\n </div>\n </div>\n <div #action class=\"banner__wrapper__action\" [class.hide]=\"!action.children.length\">\n <ng-content select=\"[gioBannerAction]\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [":host{display:block;margin:8px 0}.banner{display:flex;flex-direction:column;align-items:stretch;padding:12px 16px;background-color:#fff;border-radius:8px}.banner.error{border:3px solid #ec4899;color:#2c0015}.banner.error .mat-icon{color:#ec4899}.banner.error ::ng-deep a{color:inherit}.banner.info{border:3px solid #009999;color:#001f1f}.banner.info .mat-icon{color:#099}.banner.info ::ng-deep a{color:inherit}.banner.success{border:3px solid #0de598;color:#002c1c}.banner.success .mat-icon{color:#0de598}.banner.success ::ng-deep a{color:inherit}.banner.warning{border:3px solid #fe733f;color:#2c0c01}.banner.warning .mat-icon{color:#fe733f}.banner.warning ::ng-deep a{color:inherit}.banner__wrapper{position:relative;display:flex;align-items:center;font:600 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.banner__wrapper__icon{display:flex;align-self:flex-start;margin-right:16px}.banner__wrapper__head{display:flex;flex:1 1 auto;flex-direction:column;line-height:normal}.banner__wrapper__title{display:flex;flex:1;align-items:center;padding:4px 0}.banner__wrapper__action{align-self:flex-start;padding-left:16px}.banner__wrapper__body{font:400 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.banner__wrapper .hide{display:none}\n"] }]
|
|
651
|
+
}] });
|
|
652
|
+
class GioBannerWarningComponent extends GioBannerComponent {
|
|
653
|
+
constructor() {
|
|
654
|
+
super(...arguments);
|
|
655
|
+
this.type = 'warning';
|
|
656
|
+
}
|
|
657
|
+
}
|
|
658
|
+
GioBannerWarningComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBannerWarningComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
659
|
+
GioBannerWarningComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioBannerWarningComponent, selector: "gio-banner-warning", usesInheritance: true, ngImport: i0, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div\n class=\"banner\"\n [class.info]=\"type === 'info'\"\n [class.error]=\"type === 'error'\"\n [class.warning]=\"type === 'warning'\"\n [class.success]=\"type === 'success'\"\n>\n <div class=\"banner__wrapper\">\n <div class=\"banner__wrapper__icon\" [ngSwitch]=\"type\">\n <mat-icon *ngSwitchCase=\"'info'\" svgIcon=\"gio:chat-lines\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'error'\" svgIcon=\"gio:chat-bubble-error\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'warning'\" svgIcon=\"gio:chat-bubble-warning\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'success'\" svgIcon=\"gio:chat-bubble-check\"></mat-icon>\n </div>\n <div class=\"banner__wrapper__head\">\n <div class=\"banner__wrapper__title\">\n <ng-content></ng-content>\n </div>\n <div #body class=\"banner__wrapper__body\" [class.hide]=\"!body.children.length\">\n <ng-content select=\"[gioBannerBody]\"></ng-content>\n </div>\n </div>\n <div #action class=\"banner__wrapper__action\" [class.hide]=\"!action.children.length\">\n <ng-content select=\"[gioBannerAction]\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [":host{display:block;margin:8px 0}.banner{display:flex;flex-direction:column;align-items:stretch;padding:12px 16px;background-color:#fff;border-radius:8px}.banner.error{border:3px solid #ec4899;color:#2c0015}.banner.error .mat-icon{color:#ec4899}.banner.error ::ng-deep a{color:inherit}.banner.info{border:3px solid #009999;color:#001f1f}.banner.info .mat-icon{color:#099}.banner.info ::ng-deep a{color:inherit}.banner.success{border:3px solid #0de598;color:#002c1c}.banner.success .mat-icon{color:#0de598}.banner.success ::ng-deep a{color:inherit}.banner.warning{border:3px solid #fe733f;color:#2c0c01}.banner.warning .mat-icon{color:#fe733f}.banner.warning ::ng-deep a{color:inherit}.banner__wrapper{position:relative;display:flex;align-items:center;font:600 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.banner__wrapper__icon{display:flex;align-self:flex-start;margin-right:16px}.banner__wrapper__head{display:flex;flex:1 1 auto;flex-direction:column;line-height:normal}.banner__wrapper__title{display:flex;flex:1;align-items:center;padding:4px 0}.banner__wrapper__action{align-self:flex-start;padding-left:16px}.banner__wrapper__body{font:400 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.banner__wrapper .hide{display:none}\n"], components: [{ type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i2$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] });
|
|
660
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBannerWarningComponent, decorators: [{
|
|
661
|
+
type: Component,
|
|
662
|
+
args: [{ selector: 'gio-banner-warning', template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div\n class=\"banner\"\n [class.info]=\"type === 'info'\"\n [class.error]=\"type === 'error'\"\n [class.warning]=\"type === 'warning'\"\n [class.success]=\"type === 'success'\"\n>\n <div class=\"banner__wrapper\">\n <div class=\"banner__wrapper__icon\" [ngSwitch]=\"type\">\n <mat-icon *ngSwitchCase=\"'info'\" svgIcon=\"gio:chat-lines\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'error'\" svgIcon=\"gio:chat-bubble-error\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'warning'\" svgIcon=\"gio:chat-bubble-warning\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'success'\" svgIcon=\"gio:chat-bubble-check\"></mat-icon>\n </div>\n <div class=\"banner__wrapper__head\">\n <div class=\"banner__wrapper__title\">\n <ng-content></ng-content>\n </div>\n <div #body class=\"banner__wrapper__body\" [class.hide]=\"!body.children.length\">\n <ng-content select=\"[gioBannerBody]\"></ng-content>\n </div>\n </div>\n <div #action class=\"banner__wrapper__action\" [class.hide]=\"!action.children.length\">\n <ng-content select=\"[gioBannerAction]\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [":host{display:block;margin:8px 0}.banner{display:flex;flex-direction:column;align-items:stretch;padding:12px 16px;background-color:#fff;border-radius:8px}.banner.error{border:3px solid #ec4899;color:#2c0015}.banner.error .mat-icon{color:#ec4899}.banner.error ::ng-deep a{color:inherit}.banner.info{border:3px solid #009999;color:#001f1f}.banner.info .mat-icon{color:#099}.banner.info ::ng-deep a{color:inherit}.banner.success{border:3px solid #0de598;color:#002c1c}.banner.success .mat-icon{color:#0de598}.banner.success ::ng-deep a{color:inherit}.banner.warning{border:3px solid #fe733f;color:#2c0c01}.banner.warning .mat-icon{color:#fe733f}.banner.warning ::ng-deep a{color:inherit}.banner__wrapper{position:relative;display:flex;align-items:center;font:600 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.banner__wrapper__icon{display:flex;align-self:flex-start;margin-right:16px}.banner__wrapper__head{display:flex;flex:1 1 auto;flex-direction:column;line-height:normal}.banner__wrapper__title{display:flex;flex:1;align-items:center;padding:4px 0}.banner__wrapper__action{align-self:flex-start;padding-left:16px}.banner__wrapper__body{font:400 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.banner__wrapper .hide{display:none}\n"] }]
|
|
663
|
+
}] });
|
|
664
|
+
|
|
665
|
+
/*
|
|
666
|
+
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
667
|
+
*
|
|
668
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
669
|
+
* you may not use this file except in compliance with the License.
|
|
670
|
+
* You may obtain a copy of the License at
|
|
671
|
+
*
|
|
672
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
673
|
+
*
|
|
674
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
675
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
676
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
677
|
+
* See the License for the specific language governing permissions and
|
|
678
|
+
* limitations under the License.
|
|
679
|
+
*/
|
|
680
|
+
class GioIconsModule {
|
|
681
|
+
constructor(matIconRegistry, sanitizer) {
|
|
682
|
+
matIconRegistry.addSvgIconSetInNamespace('gio', sanitizer.bypassSecurityTrustResourceUrl('assets/gio-icons.svg'));
|
|
683
|
+
}
|
|
684
|
+
}
|
|
685
|
+
GioIconsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioIconsModule, deps: [{ token: i1$1.MatIconRegistry }, { token: i2$3.DomSanitizer }], target: i0.ɵɵFactoryTarget.NgModule });
|
|
686
|
+
GioIconsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioIconsModule, imports: [CommonModule, HttpClientModule, MatIconModule], exports: [MatIconModule] });
|
|
687
|
+
GioIconsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioIconsModule, imports: [[CommonModule, HttpClientModule, MatIconModule], MatIconModule] });
|
|
688
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioIconsModule, decorators: [{
|
|
689
|
+
type: NgModule,
|
|
690
|
+
args: [{
|
|
691
|
+
imports: [CommonModule, HttpClientModule, MatIconModule],
|
|
692
|
+
exports: [MatIconModule],
|
|
693
|
+
}]
|
|
694
|
+
}], ctorParameters: function () { return [{ type: i1$1.MatIconRegistry }, { type: i2$3.DomSanitizer }]; } });
|
|
695
|
+
|
|
696
|
+
/*
|
|
697
|
+
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
698
|
+
*
|
|
699
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
700
|
+
* you may not use this file except in compliance with the License.
|
|
701
|
+
* You may obtain a copy of the License at
|
|
702
|
+
*
|
|
703
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
704
|
+
*
|
|
705
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
706
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
707
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
708
|
+
* See the License for the specific language governing permissions and
|
|
709
|
+
* limitations under the License.
|
|
710
|
+
*/
|
|
711
|
+
class GioBannerModule {
|
|
712
|
+
}
|
|
713
|
+
GioBannerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBannerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
714
|
+
GioBannerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBannerModule, declarations: [GioBannerComponent,
|
|
715
|
+
GioBannerErrorComponent,
|
|
716
|
+
GioBannerInfoComponent,
|
|
717
|
+
GioBannerSuccessComponent,
|
|
718
|
+
GioBannerWarningComponent,
|
|
719
|
+
GioBannerBodyDirective,
|
|
720
|
+
GioBannerActionDirective], imports: [CommonModule, MatIconModule, GioIconsModule], exports: [GioBannerComponent,
|
|
721
|
+
GioBannerErrorComponent,
|
|
722
|
+
GioBannerInfoComponent,
|
|
723
|
+
GioBannerSuccessComponent,
|
|
724
|
+
GioBannerWarningComponent,
|
|
725
|
+
GioBannerBodyDirective,
|
|
726
|
+
GioBannerActionDirective] });
|
|
727
|
+
GioBannerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBannerModule, imports: [[CommonModule, MatIconModule, GioIconsModule]] });
|
|
728
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBannerModule, decorators: [{
|
|
729
|
+
type: NgModule,
|
|
730
|
+
args: [{
|
|
731
|
+
imports: [CommonModule, MatIconModule, GioIconsModule],
|
|
732
|
+
declarations: [
|
|
733
|
+
GioBannerComponent,
|
|
734
|
+
GioBannerErrorComponent,
|
|
735
|
+
GioBannerInfoComponent,
|
|
736
|
+
GioBannerSuccessComponent,
|
|
737
|
+
GioBannerWarningComponent,
|
|
738
|
+
GioBannerBodyDirective,
|
|
739
|
+
GioBannerActionDirective,
|
|
740
|
+
],
|
|
741
|
+
exports: [
|
|
742
|
+
GioBannerComponent,
|
|
743
|
+
GioBannerErrorComponent,
|
|
744
|
+
GioBannerInfoComponent,
|
|
745
|
+
GioBannerSuccessComponent,
|
|
746
|
+
GioBannerWarningComponent,
|
|
747
|
+
GioBannerBodyDirective,
|
|
748
|
+
GioBannerActionDirective,
|
|
749
|
+
],
|
|
750
|
+
}]
|
|
751
|
+
}] });
|
|
752
|
+
|
|
753
|
+
/*
|
|
754
|
+
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
755
|
+
*
|
|
756
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
757
|
+
* you may not use this file except in compliance with the License.
|
|
758
|
+
* You may obtain a copy of the License at
|
|
759
|
+
*
|
|
760
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
761
|
+
*
|
|
762
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
763
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
764
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
765
|
+
* See the License for the specific language governing permissions and
|
|
766
|
+
* limitations under the License.
|
|
767
|
+
*/
|
|
768
|
+
class GioConfirmDialogComponent {
|
|
769
|
+
constructor(dialogRef, confirmDialogData) {
|
|
770
|
+
this.dialogRef = dialogRef;
|
|
771
|
+
this.title = confirmDialogData?.title ?? 'Are you sure?';
|
|
772
|
+
this.content = confirmDialogData?.content;
|
|
773
|
+
this.confirmButton = confirmDialogData?.confirmButton ?? 'Confirm';
|
|
774
|
+
this.cancelButton = confirmDialogData?.cancelButton ?? 'Cancel';
|
|
775
|
+
}
|
|
776
|
+
}
|
|
777
|
+
GioConfirmDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioConfirmDialogComponent, deps: [{ token: i1$2.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
778
|
+
GioConfirmDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioConfirmDialogComponent, selector: "gio-confirm-dialog", ngImport: i0, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<h2 mat-dialog-title class=\"confirm-dialog__title\">{{ title }}</h2>\n\n<mat-dialog-content *ngIf=\"content\" class=\"confirm-dialog__content\">\n <p [innerHTML]=\"content\"></p>\n</mat-dialog-content>\n\n<mat-dialog-actions align=\"end\" class=\"confirm-dialog__actions\">\n <button class=\"confirm-dialog__cancel-button\" mat-flat-button [mat-dialog-close]=\"false\">\n {{ cancelButton }}\n </button>\n <button\n class=\"confirm-dialog__confirm-button\"\n color=\"warn\"\n mat-raised-button\n [mat-dialog-close]=\"true\"\n cdkFocusInitial\n data-testid=\"confirm-dialog\"\n >\n {{ confirmButton }}\n </button>\n</mat-dialog-actions>\n", styles: [".confirm-dialog__content{color:#606274}\n"], components: [{ type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i1$2.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i1$2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i1$2.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }] });
|
|
779
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioConfirmDialogComponent, decorators: [{
|
|
780
|
+
type: Component,
|
|
781
|
+
args: [{ selector: 'gio-confirm-dialog', template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<h2 mat-dialog-title class=\"confirm-dialog__title\">{{ title }}</h2>\n\n<mat-dialog-content *ngIf=\"content\" class=\"confirm-dialog__content\">\n <p [innerHTML]=\"content\"></p>\n</mat-dialog-content>\n\n<mat-dialog-actions align=\"end\" class=\"confirm-dialog__actions\">\n <button class=\"confirm-dialog__cancel-button\" mat-flat-button [mat-dialog-close]=\"false\">\n {{ cancelButton }}\n </button>\n <button\n class=\"confirm-dialog__confirm-button\"\n color=\"warn\"\n mat-raised-button\n [mat-dialog-close]=\"true\"\n cdkFocusInitial\n data-testid=\"confirm-dialog\"\n >\n {{ confirmButton }}\n </button>\n</mat-dialog-actions>\n", styles: [".confirm-dialog__content{color:#606274}\n"] }]
|
|
782
|
+
}], ctorParameters: function () { return [{ type: i1$2.MatDialogRef }, { type: undefined, decorators: [{
|
|
783
|
+
type: Inject,
|
|
784
|
+
args: [MAT_DIALOG_DATA]
|
|
785
|
+
}] }]; } });
|
|
786
|
+
|
|
787
|
+
/*
|
|
788
|
+
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
789
|
+
*
|
|
790
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
791
|
+
* you may not use this file except in compliance with the License.
|
|
792
|
+
* You may obtain a copy of the License at
|
|
793
|
+
*
|
|
794
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
795
|
+
*
|
|
796
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
797
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
798
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
799
|
+
* See the License for the specific language governing permissions and
|
|
800
|
+
* limitations under the License.
|
|
801
|
+
*/
|
|
802
|
+
class GioConfirmDialogModule {
|
|
803
|
+
}
|
|
804
|
+
GioConfirmDialogModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioConfirmDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
805
|
+
GioConfirmDialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioConfirmDialogModule, declarations: [GioConfirmDialogComponent], imports: [CommonModule, MatButtonModule, MatDialogModule, A11yModule], exports: [GioConfirmDialogComponent] });
|
|
806
|
+
GioConfirmDialogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioConfirmDialogModule, imports: [[CommonModule, MatButtonModule, MatDialogModule, A11yModule]] });
|
|
807
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioConfirmDialogModule, decorators: [{
|
|
808
|
+
type: NgModule,
|
|
809
|
+
args: [{
|
|
810
|
+
imports: [CommonModule, MatButtonModule, MatDialogModule, A11yModule],
|
|
811
|
+
declarations: [GioConfirmDialogComponent],
|
|
812
|
+
exports: [GioConfirmDialogComponent],
|
|
813
|
+
}]
|
|
814
|
+
}] });
|
|
815
|
+
|
|
816
|
+
/*
|
|
817
|
+
* Copyright (C) 2022 The Gravitee team (http://gravitee.io)
|
|
818
|
+
*
|
|
819
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
820
|
+
* you may not use this file except in compliance with the License.
|
|
821
|
+
* You may obtain a copy of the License at
|
|
822
|
+
*
|
|
823
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
824
|
+
*
|
|
825
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
826
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
827
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
828
|
+
* See the License for the specific language governing permissions and
|
|
829
|
+
* limitations under the License.
|
|
830
|
+
*/
|
|
831
|
+
class GioConfirmDialogHarness extends ComponentHarness {
|
|
832
|
+
constructor() {
|
|
833
|
+
super(...arguments);
|
|
834
|
+
this.getConfirmBtn = this.locatorFor(MatButtonHarness.with({ selector: '.confirm-dialog__confirm-button' }));
|
|
835
|
+
this.getCancelBtn = this.locatorFor(MatButtonHarness.with({ selector: '.confirm-dialog__cancel-button' }));
|
|
836
|
+
}
|
|
837
|
+
async confirm() {
|
|
838
|
+
const button = await this.getConfirmBtn();
|
|
839
|
+
await button.click();
|
|
840
|
+
}
|
|
841
|
+
async cancel() {
|
|
842
|
+
const button = await this.getCancelBtn();
|
|
843
|
+
await button.click();
|
|
844
|
+
}
|
|
845
|
+
}
|
|
846
|
+
GioConfirmDialogHarness.hostSelector = 'gio-confirm-dialog';
|
|
847
|
+
|
|
848
|
+
/*
|
|
849
|
+
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
850
|
+
*
|
|
851
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
852
|
+
* you may not use this file except in compliance with the License.
|
|
853
|
+
* You may obtain a copy of the License at
|
|
854
|
+
*
|
|
855
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
856
|
+
*
|
|
857
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
858
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
859
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
860
|
+
* See the License for the specific language governing permissions and
|
|
861
|
+
* limitations under the License.
|
|
862
|
+
*/
|
|
863
|
+
class GioConfirmAndValidateDialogComponent {
|
|
864
|
+
constructor(dialogRef, confirmDialogData) {
|
|
865
|
+
this.dialogRef = dialogRef;
|
|
866
|
+
this.isValid = false;
|
|
867
|
+
this.title = confirmDialogData?.title ?? 'Are you sure?';
|
|
868
|
+
this.warning = confirmDialogData?.warning;
|
|
869
|
+
this.content = confirmDialogData?.content;
|
|
870
|
+
this.validationMessage = extendValidationMessage(confirmDialogData?.validationMessage ?? 'Please, type <code>confirm</code> to confirm.');
|
|
871
|
+
this.validationValue = confirmDialogData?.validationValue ?? 'confirm';
|
|
872
|
+
this.confirmButton = confirmDialogData?.confirmButton ?? 'Confirm';
|
|
873
|
+
this.cancelButton = confirmDialogData?.cancelButton ?? 'Cancel';
|
|
874
|
+
}
|
|
875
|
+
onConfirmChange(confirmValue) {
|
|
876
|
+
this.isValid = toLower(confirmValue) === toLower(this.validationValue);
|
|
877
|
+
}
|
|
878
|
+
}
|
|
879
|
+
GioConfirmAndValidateDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioConfirmAndValidateDialogComponent, deps: [{ token: i1$2.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
880
|
+
GioConfirmAndValidateDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioConfirmAndValidateDialogComponent, selector: "gio-confirm-and-validate-dialog", ngImport: i0, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<h2 mat-dialog-title class=\"confirm-dialog__title\">{{ title }}</h2>\n\n<mat-dialog-content class=\"confirm-dialog__body\">\n <gio-banner-warning *ngIf=\"warning\"><span [innerHTML]=\"warning\"></span></gio-banner-warning>\n <p class=\"confirm-dialog__body__content\" *ngIf=\"content\" [innerHTML]=\"content\"></p>\n <p class=\"confirm-dialog__body__validate-message\" [innerHTML]=\"validationMessage\"></p>\n <mat-form-field class=\"confirm-dialog__body__validate-input\" appearance=\"outline\" floatLabel=\"always\">\n <mat-label>Confirm</mat-label>\n <input\n matInput\n cdkFocusInitial\n type=\"text\"\n [placeholder]=\"validationValue\"\n [ngModel]=\"confirmValue\"\n (ngModelChange)=\"onConfirmChange($event)\"\n required\n data-testid=\"confirm-input-dialog\"\n />\n </mat-form-field>\n</mat-dialog-content>\n\n<mat-dialog-actions align=\"end\" class=\"confirm-dialog__actions\">\n <button\n class=\"confirm-dialog__confirm-button\"\n [disabled]=\"!isValid\"\n color=\"warn\"\n mat-raised-button\n [mat-dialog-close]=\"true\"\n data-testid=\"confirm-dialog\"\n >\n {{ confirmButton }}\n </button>\n <button class=\"confirm-dialog__cancel-button\" mat-flat-button [mat-dialog-close]=\"false\">\n {{ cancelButton }}\n </button>\n</mat-dialog-actions>\n", styles: [".confirm-dialog__body__content{color:#606274}.confirm-dialog__body__validate-message{margin-bottom:8px}.confirm-dialog__body__validate-input{overflow:hidden;width:100%;height:62px;padding-top:4px}.confirm-dialog__actions{display:flex;flex-direction:row-reverse;justify-content:flex-start}\n"], components: [{ type: GioBannerWarningComponent, selector: "gio-banner-warning" }, { type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i1$2.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i1$2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$1.MatLabel, selector: "mat-label" }, { type: i6$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i7.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i1$2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i1$2.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }] });
|
|
881
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioConfirmAndValidateDialogComponent, decorators: [{
|
|
882
|
+
type: Component,
|
|
883
|
+
args: [{ selector: 'gio-confirm-and-validate-dialog', template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<h2 mat-dialog-title class=\"confirm-dialog__title\">{{ title }}</h2>\n\n<mat-dialog-content class=\"confirm-dialog__body\">\n <gio-banner-warning *ngIf=\"warning\"><span [innerHTML]=\"warning\"></span></gio-banner-warning>\n <p class=\"confirm-dialog__body__content\" *ngIf=\"content\" [innerHTML]=\"content\"></p>\n <p class=\"confirm-dialog__body__validate-message\" [innerHTML]=\"validationMessage\"></p>\n <mat-form-field class=\"confirm-dialog__body__validate-input\" appearance=\"outline\" floatLabel=\"always\">\n <mat-label>Confirm</mat-label>\n <input\n matInput\n cdkFocusInitial\n type=\"text\"\n [placeholder]=\"validationValue\"\n [ngModel]=\"confirmValue\"\n (ngModelChange)=\"onConfirmChange($event)\"\n required\n data-testid=\"confirm-input-dialog\"\n />\n </mat-form-field>\n</mat-dialog-content>\n\n<mat-dialog-actions align=\"end\" class=\"confirm-dialog__actions\">\n <button\n class=\"confirm-dialog__confirm-button\"\n [disabled]=\"!isValid\"\n color=\"warn\"\n mat-raised-button\n [mat-dialog-close]=\"true\"\n data-testid=\"confirm-dialog\"\n >\n {{ confirmButton }}\n </button>\n <button class=\"confirm-dialog__cancel-button\" mat-flat-button [mat-dialog-close]=\"false\">\n {{ cancelButton }}\n </button>\n</mat-dialog-actions>\n", styles: [".confirm-dialog__body__content{color:#606274}.confirm-dialog__body__validate-message{margin-bottom:8px}.confirm-dialog__body__validate-input{overflow:hidden;width:100%;height:62px;padding-top:4px}.confirm-dialog__actions{display:flex;flex-direction:row-reverse;justify-content:flex-start}\n"] }]
|
|
884
|
+
}], ctorParameters: function () { return [{ type: i1$2.MatDialogRef }, { type: undefined, decorators: [{
|
|
885
|
+
type: Inject,
|
|
886
|
+
args: [MAT_DIALOG_DATA]
|
|
887
|
+
}] }]; } });
|
|
888
|
+
const extendValidationMessage = (validationMessage) => {
|
|
889
|
+
return validationMessage.replace('<code>', '<code class="gio-badge-warning">');
|
|
890
|
+
};
|
|
891
|
+
|
|
892
|
+
/*
|
|
893
|
+
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
894
|
+
*
|
|
895
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
896
|
+
* you may not use this file except in compliance with the License.
|
|
897
|
+
* You may obtain a copy of the License at
|
|
898
|
+
*
|
|
899
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
900
|
+
*
|
|
901
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
902
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
903
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
904
|
+
* See the License for the specific language governing permissions and
|
|
905
|
+
* limitations under the License.
|
|
906
|
+
*/
|
|
907
|
+
class GioConfirmAndValidateDialogModule {
|
|
908
|
+
}
|
|
909
|
+
GioConfirmAndValidateDialogModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioConfirmAndValidateDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
910
|
+
GioConfirmAndValidateDialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioConfirmAndValidateDialogModule, declarations: [GioConfirmAndValidateDialogComponent], imports: [CommonModule, FormsModule, MatButtonModule, MatDialogModule, MatInputModule, MatFormFieldModule, A11yModule, GioBannerModule], exports: [GioConfirmAndValidateDialogComponent] });
|
|
911
|
+
GioConfirmAndValidateDialogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioConfirmAndValidateDialogModule, imports: [[CommonModule, FormsModule, MatButtonModule, MatDialogModule, MatInputModule, MatFormFieldModule, A11yModule, GioBannerModule]] });
|
|
912
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioConfirmAndValidateDialogModule, decorators: [{
|
|
913
|
+
type: NgModule,
|
|
914
|
+
args: [{
|
|
915
|
+
imports: [CommonModule, FormsModule, MatButtonModule, MatDialogModule, MatInputModule, MatFormFieldModule, A11yModule, GioBannerModule],
|
|
916
|
+
declarations: [GioConfirmAndValidateDialogComponent],
|
|
917
|
+
exports: [GioConfirmAndValidateDialogComponent],
|
|
918
|
+
}]
|
|
919
|
+
}] });
|
|
920
|
+
|
|
921
|
+
/*
|
|
922
|
+
* Copyright (C) 2022 The Gravitee team (http://gravitee.io)
|
|
923
|
+
*
|
|
924
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
925
|
+
* you may not use this file except in compliance with the License.
|
|
926
|
+
* You may obtain a copy of the License at
|
|
927
|
+
*
|
|
928
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
929
|
+
*
|
|
930
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
931
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
932
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
933
|
+
* See the License for the specific language governing permissions and
|
|
934
|
+
* limitations under the License.
|
|
935
|
+
*/
|
|
936
|
+
class GioConfirmAndValidateDialogHarness extends ComponentHarness {
|
|
937
|
+
constructor() {
|
|
938
|
+
super(...arguments);
|
|
939
|
+
this.getConfirmBtn = this.locatorFor(MatButtonHarness.with({ selector: '.confirm-dialog__confirm-button' }));
|
|
940
|
+
this.getCancelBtn = this.locatorFor(MatButtonHarness.with({ selector: '.confirm-dialog__cancel-button' }));
|
|
941
|
+
this.getConfirmInput = this.locatorFor(MatInputHarness);
|
|
942
|
+
}
|
|
943
|
+
async confirm() {
|
|
944
|
+
const confirmInput = await this.getConfirmInput();
|
|
945
|
+
await confirmInput.setValue(await confirmInput.getPlaceholder());
|
|
946
|
+
const button = await this.getConfirmBtn();
|
|
947
|
+
if (!(await button.isDisabled())) {
|
|
948
|
+
await button.click();
|
|
949
|
+
}
|
|
950
|
+
}
|
|
951
|
+
async cancel() {
|
|
952
|
+
const button = await this.getCancelBtn();
|
|
953
|
+
await button.click();
|
|
954
|
+
}
|
|
955
|
+
}
|
|
956
|
+
GioConfirmAndValidateDialogHarness.hostSelector = 'gio-confirm-and-validate-dialog';
|
|
957
|
+
|
|
958
|
+
const HEADER_NAMES = [
|
|
959
|
+
'Accept',
|
|
960
|
+
'Accept-Charset',
|
|
961
|
+
'Accept-Encoding',
|
|
962
|
+
'Accept-Language',
|
|
963
|
+
'Accept-Ranges',
|
|
964
|
+
'Access-Control-Allow-Credentials',
|
|
965
|
+
'Access-Control-Allow-Headers',
|
|
966
|
+
'Access-Control-Allow-Methods',
|
|
967
|
+
'Access-Control-Allow-Origin',
|
|
968
|
+
'Access-Control-Expose-Headers',
|
|
969
|
+
'Access-Control-Max-Age',
|
|
970
|
+
'Access-Control-Request-Headers',
|
|
971
|
+
'Access-Control-Request-Method',
|
|
972
|
+
'Age',
|
|
973
|
+
'Allow',
|
|
974
|
+
'Authorization',
|
|
975
|
+
'Cache-Control',
|
|
976
|
+
'Connection',
|
|
977
|
+
'Content-Disposition',
|
|
978
|
+
'Content-Encoding',
|
|
979
|
+
'Content-ID',
|
|
980
|
+
'Content-Language',
|
|
981
|
+
'Content-Length',
|
|
982
|
+
'Content-Location',
|
|
983
|
+
'Content-MD5',
|
|
984
|
+
'Content-Range',
|
|
985
|
+
'Content-Type',
|
|
986
|
+
'Cookie',
|
|
987
|
+
'Date',
|
|
988
|
+
'ETag',
|
|
989
|
+
'Expires',
|
|
990
|
+
'Expect',
|
|
991
|
+
'Forwarded',
|
|
992
|
+
'From',
|
|
993
|
+
'Host',
|
|
994
|
+
'If-Match',
|
|
995
|
+
'If-Modified-Since',
|
|
996
|
+
'If-None-Match',
|
|
997
|
+
'If-Unmodified-Since',
|
|
998
|
+
'Keep-Alive',
|
|
999
|
+
'Last-Modified',
|
|
1000
|
+
'Location',
|
|
1001
|
+
'Link',
|
|
1002
|
+
'Max-Forwards',
|
|
1003
|
+
'MIME-Version',
|
|
1004
|
+
'Origin',
|
|
1005
|
+
'Pragma',
|
|
1006
|
+
'Proxy-Authenticate',
|
|
1007
|
+
'Proxy-Authorization',
|
|
1008
|
+
'Proxy-Connection',
|
|
1009
|
+
'Range',
|
|
1010
|
+
'Referer',
|
|
1011
|
+
'Retry-After',
|
|
1012
|
+
'Server',
|
|
1013
|
+
'Set-Cookie',
|
|
1014
|
+
'Set-Cookie2',
|
|
1015
|
+
'TE',
|
|
1016
|
+
'Trailer',
|
|
1017
|
+
'Transfer-Encoding',
|
|
1018
|
+
'Upgrade',
|
|
1019
|
+
'User-Agent',
|
|
1020
|
+
'Vary',
|
|
1021
|
+
'Via',
|
|
1022
|
+
'Warning',
|
|
1023
|
+
'WWW-Authenticate',
|
|
1024
|
+
'X-Forwarded-For',
|
|
1025
|
+
'X-Forwarded-Proto',
|
|
1026
|
+
'X-Forwarded-Server',
|
|
1027
|
+
'X-Forwarded-Host',
|
|
1028
|
+
'X-Forwarded-Port',
|
|
1029
|
+
'X-Forwarded-Prefix',
|
|
1030
|
+
];
|
|
1031
|
+
class GioFormHeadersComponent {
|
|
1032
|
+
constructor(fm, elRef) {
|
|
1033
|
+
this.fm = fm;
|
|
1034
|
+
this.elRef = elRef;
|
|
1035
|
+
this.headersFormArray = new FormArray([
|
|
1036
|
+
new FormGroup({
|
|
1037
|
+
key: new FormControl(''),
|
|
1038
|
+
value: new FormControl(''),
|
|
1039
|
+
}),
|
|
1040
|
+
]);
|
|
1041
|
+
this.disabled = false;
|
|
1042
|
+
this.headers = [];
|
|
1043
|
+
this._onChange = () => ({});
|
|
1044
|
+
this._onTouched = () => ({});
|
|
1045
|
+
this.filteredHeaderNames = [];
|
|
1046
|
+
this.mainForm = new FormGroup({
|
|
1047
|
+
headers: this.headersFormArray,
|
|
1048
|
+
});
|
|
1049
|
+
}
|
|
1050
|
+
// From ControlValueAccessor interface
|
|
1051
|
+
writeValue(value) {
|
|
1052
|
+
if (!value) {
|
|
1053
|
+
return;
|
|
1054
|
+
}
|
|
1055
|
+
this.headers = value ?? [];
|
|
1056
|
+
this.initHeadersForm();
|
|
1057
|
+
}
|
|
1058
|
+
// From ControlValueAccessor interface
|
|
1059
|
+
registerOnChange(fn) {
|
|
1060
|
+
this._onChange = fn;
|
|
1061
|
+
}
|
|
1062
|
+
// From ControlValueAccessor interface
|
|
1063
|
+
registerOnTouched(fn) {
|
|
1064
|
+
this._onTouched = fn;
|
|
1065
|
+
}
|
|
1066
|
+
// From ControlValueAccessor interface
|
|
1067
|
+
setDisabledState(isDisabled) {
|
|
1068
|
+
if (isDisabled === this.disabled) {
|
|
1069
|
+
// do nothing if the disabled state is not changed
|
|
1070
|
+
return;
|
|
1071
|
+
}
|
|
1072
|
+
this.disabled = isDisabled;
|
|
1073
|
+
if (isDisabled) {
|
|
1074
|
+
this.headersFormArray.disable({ emitEvent: false });
|
|
1075
|
+
this.removeLastHeader();
|
|
1076
|
+
return;
|
|
1077
|
+
}
|
|
1078
|
+
this.headersFormArray.enable({ emitEvent: false });
|
|
1079
|
+
this.addEmptyHeader();
|
|
1080
|
+
}
|
|
1081
|
+
ngOnInit() {
|
|
1082
|
+
// When user start to complete last header add new empty one a the end
|
|
1083
|
+
this.headersFormArray?.valueChanges
|
|
1084
|
+
.pipe(tap(headers => headers.length > 0 && this._onChange(removeLastEmptyHeader(headers))), tap((headers) => {
|
|
1085
|
+
if (headers.length > 0 && (headers[headers.length - 1].key !== '' || headers[headers.length - 1].value !== '')) {
|
|
1086
|
+
this.addEmptyHeader();
|
|
1087
|
+
}
|
|
1088
|
+
}))
|
|
1089
|
+
.subscribe();
|
|
1090
|
+
this.fm.monitor(this.elRef.nativeElement, true).subscribe(() => {
|
|
1091
|
+
this._onTouched();
|
|
1092
|
+
});
|
|
1093
|
+
}
|
|
1094
|
+
initHeadersForm() {
|
|
1095
|
+
// Clear all previous headers
|
|
1096
|
+
this.headersFormArray.clear();
|
|
1097
|
+
// Populate headers array from headers
|
|
1098
|
+
this.headers.forEach(({ key, value }, headerIndex) => {
|
|
1099
|
+
this.headersFormArray.push(new FormGroup({
|
|
1100
|
+
key: this.initKeyFormControl(key, headerIndex),
|
|
1101
|
+
value: new FormControl({ value, disabled: this.disabled }),
|
|
1102
|
+
}), {
|
|
1103
|
+
emitEvent: false,
|
|
1104
|
+
});
|
|
1105
|
+
});
|
|
1106
|
+
// add one empty header a the end
|
|
1107
|
+
this.addEmptyHeader();
|
|
1108
|
+
}
|
|
1109
|
+
getFilteredHeaderNames(headerIndex, header) {
|
|
1110
|
+
if (!this.filteredHeaderNames[headerIndex]) {
|
|
1111
|
+
return this.filteredHeaderNames[headerIndex];
|
|
1112
|
+
}
|
|
1113
|
+
if (header.key != null && header.key != '') {
|
|
1114
|
+
this.filteredHeaderNames[headerIndex] = of(header.key).pipe(map(value => this._filter(value)));
|
|
1115
|
+
return this.filteredHeaderNames[headerIndex];
|
|
1116
|
+
}
|
|
1117
|
+
return of(HEADER_NAMES);
|
|
1118
|
+
}
|
|
1119
|
+
initKeyFormControl(key, headerIndex) {
|
|
1120
|
+
const control = new FormControl({ value: key, disabled: this.disabled });
|
|
1121
|
+
const filteredKeys = control.valueChanges.pipe(startWith(''), map(value => this._filter(value)));
|
|
1122
|
+
this.filteredHeaderNames.splice(headerIndex, 0, filteredKeys);
|
|
1123
|
+
return control;
|
|
1124
|
+
}
|
|
1125
|
+
onDeleteHeader(headerIndex) {
|
|
1126
|
+
this._onTouched();
|
|
1127
|
+
this.headersFormArray.removeAt(headerIndex);
|
|
1128
|
+
}
|
|
1129
|
+
addEmptyHeader() {
|
|
1130
|
+
if (this.disabled) {
|
|
1131
|
+
return;
|
|
1132
|
+
}
|
|
1133
|
+
this.headersFormArray.push(new FormGroup({
|
|
1134
|
+
key: this.initKeyFormControl('', this.headersFormArray.length),
|
|
1135
|
+
value: new FormControl(''),
|
|
1136
|
+
}), { emitEvent: false });
|
|
1137
|
+
}
|
|
1138
|
+
removeLastHeader() {
|
|
1139
|
+
this.headersFormArray.removeAt(this.headersFormArray.length - 1, { emitEvent: false });
|
|
1140
|
+
}
|
|
1141
|
+
_filter(value) {
|
|
1142
|
+
const filterValue = value.toLowerCase();
|
|
1143
|
+
return HEADER_NAMES.filter(option => option.toLowerCase().includes(filterValue));
|
|
1144
|
+
}
|
|
1145
|
+
}
|
|
1146
|
+
GioFormHeadersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormHeadersComponent, deps: [{ token: i2$2.FocusMonitor }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
1147
|
+
GioFormHeadersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioFormHeadersComponent, selector: "gio-form-headers", host: { properties: { "class.disabled": "this.disabled" } }, providers: [
|
|
1148
|
+
{
|
|
1149
|
+
provide: NG_VALUE_ACCESSOR,
|
|
1150
|
+
useExisting: forwardRef(() => GioFormHeadersComponent),
|
|
1151
|
+
multi: true,
|
|
1152
|
+
},
|
|
1153
|
+
], ngImport: i0, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<table class=\"gio-form-headers__table gio-table-light\" [formGroup]=\"mainForm\">\n <thead>\n <tr>\n <th>KEY</th>\n <th>VALUE</th>\n </tr>\n </thead>\n <tbody formArrayName=\"headers\">\n <tr\n *ngFor=\"let control of headersFormArray.controls; index as headerIndex\"\n class=\"gio-form-headers__table__header-row\"\n [formGroupName]=\"headerIndex\"\n >\n <td class=\"gio-form-headers__table__header-row__td-key\">\n <mat-form-field class=\"gio-form-headers__table__header-row__td-key__field\" [floatLabel]=\"'never'\">\n <textarea\n formControlName=\"key\"\n matInput\n placeholder=\"Name...\"\n cdkTextareaAutosize\n cdkAutosizeMinRows=\"1\"\n [matAutocomplete]=\"headerNamesAutocomplete\"\n ></textarea>\n </mat-form-field>\n <mat-autocomplete #headerNamesAutocomplete=\"matAutocomplete\">\n <mat-option *ngFor=\"let headerName of getFilteredHeaderNames(headerIndex, control.value) | async\" [value]=\"headerName\">{{\n headerName\n }}</mat-option>\n </mat-autocomplete>\n </td>\n <td class=\"gio-form-headers__table__header-row__td-value\">\n <mat-form-field class=\"gio-form-headers__table__header-row__td-value__field\" [floatLabel]=\"'never'\">\n <textarea formControlName=\"value\" matInput placeholder=\"Value...\" cdkTextareaAutosize cdkAutosizeMinRows=\"1\"></textarea>\n </mat-form-field>\n <button\n class=\"gio-form-headers__table__header-row__td-value__button\"\n *ngIf=\"headersFormArray.controls.length - 1 !== headerIndex\"\n mat-icon-button\n aria-label=\"Delete\"\n (click)=\"onDeleteHeader(headerIndex)\"\n >\n <mat-icon svgIcon=\"gio:cancel\"></mat-icon>\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n", styles: [":host{display:block;overflow:hidden}.gio-form-headers__table{width:100%}.gio-form-headers__table__header-row__td-key,.gio-form-headers__table__header-row__td-value{position:relative;width:50%}.gio-form-headers__table__header-row__td-key__field,.gio-form-headers__table__header-row__td-value__field{display:flex;overflow:hidden;width:100%;max-height:32px;flex-direction:column;justify-content:center;padding-bottom:0}.gio-form-headers__table__header-row__td-key__field *,.gio-form-headers__table__header-row__td-value__field *{top:0;overflow:hidden;max-height:32px}.gio-form-headers__table__header-row__td-key__field:focus-within,.gio-form-headers__table__header-row__td-value__field:focus-within{z-index:100;height:auto;background-color:#fff}.gio-form-headers__table__header-row__td-key__field:focus-within *,.gio-form-headers__table__header-row__td-value__field:focus-within *{max-height:none}.gio-form-headers__table__header-row__td-key__button,.gio-form-headers__table__header-row__td-value__button{position:absolute;top:3px;right:3px;display:none}.gio-form-headers__table__header-row__td-remove{width:32px;height:32px;padding:0}.gio-form-headers__table__header-row:hover .gio-form-headers__table__header-row__td-value__button{z-index:110;display:block;background-color:#fff;opacity:.9}::ng-deep gio-form-headers .gio-form-headers__table__header-row .mat-form-field-infix{width:inherit}\n"], components: [{ type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i5.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { type: i6.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i7.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i7.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i6$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i10.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { type: i5.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i2$1.AsyncPipe } });
|
|
1154
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormHeadersComponent, decorators: [{
|
|
1155
|
+
type: Component,
|
|
1156
|
+
args: [{ selector: 'gio-form-headers', providers: [
|
|
1157
|
+
{
|
|
1158
|
+
provide: NG_VALUE_ACCESSOR,
|
|
1159
|
+
useExisting: forwardRef(() => GioFormHeadersComponent),
|
|
1160
|
+
multi: true,
|
|
1161
|
+
},
|
|
1162
|
+
], template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<table class=\"gio-form-headers__table gio-table-light\" [formGroup]=\"mainForm\">\n <thead>\n <tr>\n <th>KEY</th>\n <th>VALUE</th>\n </tr>\n </thead>\n <tbody formArrayName=\"headers\">\n <tr\n *ngFor=\"let control of headersFormArray.controls; index as headerIndex\"\n class=\"gio-form-headers__table__header-row\"\n [formGroupName]=\"headerIndex\"\n >\n <td class=\"gio-form-headers__table__header-row__td-key\">\n <mat-form-field class=\"gio-form-headers__table__header-row__td-key__field\" [floatLabel]=\"'never'\">\n <textarea\n formControlName=\"key\"\n matInput\n placeholder=\"Name...\"\n cdkTextareaAutosize\n cdkAutosizeMinRows=\"1\"\n [matAutocomplete]=\"headerNamesAutocomplete\"\n ></textarea>\n </mat-form-field>\n <mat-autocomplete #headerNamesAutocomplete=\"matAutocomplete\">\n <mat-option *ngFor=\"let headerName of getFilteredHeaderNames(headerIndex, control.value) | async\" [value]=\"headerName\">{{\n headerName\n }}</mat-option>\n </mat-autocomplete>\n </td>\n <td class=\"gio-form-headers__table__header-row__td-value\">\n <mat-form-field class=\"gio-form-headers__table__header-row__td-value__field\" [floatLabel]=\"'never'\">\n <textarea formControlName=\"value\" matInput placeholder=\"Value...\" cdkTextareaAutosize cdkAutosizeMinRows=\"1\"></textarea>\n </mat-form-field>\n <button\n class=\"gio-form-headers__table__header-row__td-value__button\"\n *ngIf=\"headersFormArray.controls.length - 1 !== headerIndex\"\n mat-icon-button\n aria-label=\"Delete\"\n (click)=\"onDeleteHeader(headerIndex)\"\n >\n <mat-icon svgIcon=\"gio:cancel\"></mat-icon>\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n", styles: [":host{display:block;overflow:hidden}.gio-form-headers__table{width:100%}.gio-form-headers__table__header-row__td-key,.gio-form-headers__table__header-row__td-value{position:relative;width:50%}.gio-form-headers__table__header-row__td-key__field,.gio-form-headers__table__header-row__td-value__field{display:flex;overflow:hidden;width:100%;max-height:32px;flex-direction:column;justify-content:center;padding-bottom:0}.gio-form-headers__table__header-row__td-key__field *,.gio-form-headers__table__header-row__td-value__field *{top:0;overflow:hidden;max-height:32px}.gio-form-headers__table__header-row__td-key__field:focus-within,.gio-form-headers__table__header-row__td-value__field:focus-within{z-index:100;height:auto;background-color:#fff}.gio-form-headers__table__header-row__td-key__field:focus-within *,.gio-form-headers__table__header-row__td-value__field:focus-within *{max-height:none}.gio-form-headers__table__header-row__td-key__button,.gio-form-headers__table__header-row__td-value__button{position:absolute;top:3px;right:3px;display:none}.gio-form-headers__table__header-row__td-remove{width:32px;height:32px;padding:0}.gio-form-headers__table__header-row:hover .gio-form-headers__table__header-row__td-value__button{z-index:110;display:block;background-color:#fff;opacity:.9}::ng-deep gio-form-headers .gio-form-headers__table__header-row .mat-form-field-infix{width:inherit}\n"] }]
|
|
1163
|
+
}], ctorParameters: function () { return [{ type: i2$2.FocusMonitor }, { type: i0.ElementRef }]; }, propDecorators: { disabled: [{
|
|
1164
|
+
type: HostBinding,
|
|
1165
|
+
args: ['class.disabled']
|
|
1166
|
+
}] } });
|
|
1167
|
+
const removeLastEmptyHeader = (headers) => {
|
|
1168
|
+
const lastHeader = headers[headers.length - 1];
|
|
1169
|
+
if (lastHeader && isEmpty(lastHeader.key) && isEmpty(lastHeader.value)) {
|
|
1170
|
+
return dropRight(headers);
|
|
1171
|
+
}
|
|
1172
|
+
return headers;
|
|
1173
|
+
};
|
|
1174
|
+
|
|
1175
|
+
/*
|
|
1176
|
+
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
1177
|
+
*
|
|
1178
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1179
|
+
* you may not use this file except in compliance with the License.
|
|
1180
|
+
* You may obtain a copy of the License at
|
|
1181
|
+
*
|
|
1182
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1183
|
+
*
|
|
1184
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1185
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1186
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1187
|
+
* See the License for the specific language governing permissions and
|
|
1188
|
+
* limitations under the License.
|
|
1189
|
+
*/
|
|
1190
|
+
class GioFormHeadersModule {
|
|
1191
|
+
}
|
|
1192
|
+
GioFormHeadersModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormHeadersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1193
|
+
GioFormHeadersModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormHeadersModule, declarations: [GioFormHeadersComponent], imports: [CommonModule,
|
|
1194
|
+
MatInputModule,
|
|
1195
|
+
MatFormFieldModule,
|
|
1196
|
+
ReactiveFormsModule,
|
|
1197
|
+
GioIconsModule,
|
|
1198
|
+
MatButtonModule,
|
|
1199
|
+
MatAutocompleteModule,
|
|
1200
|
+
MatOptionModule], exports: [GioFormHeadersComponent] });
|
|
1201
|
+
GioFormHeadersModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormHeadersModule, imports: [[
|
|
1202
|
+
CommonModule,
|
|
1203
|
+
MatInputModule,
|
|
1204
|
+
MatFormFieldModule,
|
|
1205
|
+
ReactiveFormsModule,
|
|
1206
|
+
GioIconsModule,
|
|
1207
|
+
MatButtonModule,
|
|
1208
|
+
MatAutocompleteModule,
|
|
1209
|
+
MatOptionModule,
|
|
1210
|
+
]] });
|
|
1211
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormHeadersModule, decorators: [{
|
|
1212
|
+
type: NgModule,
|
|
1213
|
+
args: [{
|
|
1214
|
+
imports: [
|
|
1215
|
+
CommonModule,
|
|
1216
|
+
MatInputModule,
|
|
1217
|
+
MatFormFieldModule,
|
|
1218
|
+
ReactiveFormsModule,
|
|
1219
|
+
GioIconsModule,
|
|
1220
|
+
MatButtonModule,
|
|
1221
|
+
MatAutocompleteModule,
|
|
1222
|
+
MatOptionModule,
|
|
1223
|
+
],
|
|
1224
|
+
declarations: [GioFormHeadersComponent],
|
|
1225
|
+
exports: [GioFormHeadersComponent],
|
|
1226
|
+
}]
|
|
1227
|
+
}] });
|
|
1228
|
+
|
|
1229
|
+
/*
|
|
1230
|
+
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
1231
|
+
*
|
|
1232
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1233
|
+
* you may not use this file except in compliance with the License.
|
|
1234
|
+
* You may obtain a copy of the License at
|
|
1235
|
+
*
|
|
1236
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1237
|
+
*
|
|
1238
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1239
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1240
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1241
|
+
* See the License for the specific language governing permissions and
|
|
1242
|
+
* limitations under the License.
|
|
1243
|
+
*/
|
|
1244
|
+
class GioFormHeadersHarness extends ComponentHarness {
|
|
1245
|
+
constructor() {
|
|
1246
|
+
super(...arguments);
|
|
1247
|
+
this.getHeaderRowsElement = this.locatorForAll('tr.gio-form-headers__table__header-row');
|
|
1248
|
+
this.getHeaderRowInputKey = (rowIndex) => this.locatorFor(MatInputHarness.with({ ancestor: `[ng-reflect-name="${rowIndex}"]`, selector: '[formControlName=key]' }));
|
|
1249
|
+
this.getHeaderRowInputKeyAutocomplete = (rowIndex) => this.locatorFor(MatAutocompleteHarness.with({ ancestor: `tr[ng-reflect-name="${rowIndex}"]`, selector: '.mat-autocomplete-trigger' }));
|
|
1250
|
+
this.getHeaderRowInputValue = (rowIndex) => this.locatorFor(MatInputHarness.with({ ancestor: `tr[ng-reflect-name="${rowIndex}"]`, selector: '[formControlName=value]' }));
|
|
1251
|
+
this.getHeaderRowRemoveButton = (rowIndex) => this.locatorForOptional(MatButtonHarness.with({ ancestor: `tr[ng-reflect-name="${rowIndex}"]`, selector: '[aria-label="Delete"]' }));
|
|
1252
|
+
}
|
|
1253
|
+
/**
|
|
1254
|
+
* Gets a `HarnessPredicate` that can be used to search for a `GioFormColorInputHarness` that meets
|
|
1255
|
+
* certain criteria.
|
|
1256
|
+
*
|
|
1257
|
+
* @param options Options for filtering which input instances are considered a match.
|
|
1258
|
+
* @return a `HarnessPredicate` configured with the given options.
|
|
1259
|
+
*/
|
|
1260
|
+
static with(options = {}) {
|
|
1261
|
+
return new HarnessPredicate(GioFormHeadersHarness, options);
|
|
1262
|
+
}
|
|
1263
|
+
async getHeaderRows() {
|
|
1264
|
+
const rows = await this.getHeaderRowsElement();
|
|
1265
|
+
return Promise.all(rows.map(async (_, rowIndex) => ({
|
|
1266
|
+
keyInput: await this.getHeaderRowInputKey(rowIndex)(),
|
|
1267
|
+
keyAutocomplete: await this.getHeaderRowInputKeyAutocomplete(rowIndex)(),
|
|
1268
|
+
valueInput: await this.getHeaderRowInputValue(rowIndex)(),
|
|
1269
|
+
removeButton: await this.getHeaderRowRemoveButton(rowIndex)(),
|
|
1270
|
+
})));
|
|
1271
|
+
}
|
|
1272
|
+
async getLastHeaderRow() {
|
|
1273
|
+
const rows = await this.getHeaderRowsElement();
|
|
1274
|
+
return {
|
|
1275
|
+
keyInput: await this.getHeaderRowInputKey(rows.length - 1)(),
|
|
1276
|
+
valueInput: await this.getHeaderRowInputValue(rows.length - 1)(),
|
|
1277
|
+
};
|
|
1278
|
+
}
|
|
1279
|
+
async addHeader({ key, value }) {
|
|
1280
|
+
const { keyInput, valueInput } = await this.getLastHeaderRow();
|
|
1281
|
+
await keyInput.setValue(key);
|
|
1282
|
+
await valueInput.setValue(value);
|
|
1283
|
+
}
|
|
1284
|
+
async isDisabled() {
|
|
1285
|
+
return (await this.host()).hasClass('disabled');
|
|
1286
|
+
}
|
|
1287
|
+
}
|
|
1288
|
+
GioFormHeadersHarness.hostSelector = 'gio-form-headers';
|
|
1289
|
+
|
|
1290
|
+
/*
|
|
1291
|
+
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
1292
|
+
*
|
|
1293
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1294
|
+
* you may not use this file except in compliance with the License.
|
|
1295
|
+
* You may obtain a copy of the License at
|
|
1296
|
+
*
|
|
1297
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1298
|
+
*
|
|
1299
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1300
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1301
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1302
|
+
* See the License for the specific language governing permissions and
|
|
1303
|
+
* limitations under the License.
|
|
1304
|
+
*/
|
|
1305
|
+
class GioFormFilePickerAddButtonComponent {
|
|
1306
|
+
}
|
|
1307
|
+
GioFormFilePickerAddButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormFilePickerAddButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1308
|
+
GioFormFilePickerAddButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioFormFilePickerAddButtonComponent, selector: "gio-form-file-picker-add-button", ngImport: i0, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"add-button\" matRipple>\n <div #content><ng-content></ng-content></div>\n <span *ngIf=\"!content.children.length\">\n <mat-icon class=\"add-button__image\" svgIcon=\"gio:upload\"></mat-icon>\n <span class=\"add-button__content\">Drag your file</span>\n </span>\n</div>\n", styles: [":host{display:flex;flex-direction:column}.file-picker{display:flex;flex:1 1 auto;flex-flow:row wrap;padding:4px}.file-picker__add-button{border:2px dashed #606274;margin:4px;border-radius:6px;cursor:pointer}.file-picker__add-button:hover,.file-picker__add-button.drag-hover{border:2px dashed #876fec;background-color:#0000000a}.file-picker__add-button.drag-hover{pointer-events:none}.file-picker__add-button.complete{padding:6px;border:none}.file-picker__add-button.error{border:2px dashed #ec4899}.file-picker__preview,.file-picker__preview-empty{position:relative;display:flex;min-width:130px;min-height:130px;flex:0 0 130px;flex-flow:column nowrap;justify-content:space-between;padding:6px;border:2px solid #606274;margin:4px;border-radius:6px;inline-size:-moz-fit-content;inline-size:fit-content}.file-picker__preview.drag-hover,.file-picker__preview-empty.drag-hover{pointer-events:none}.file-picker__preview__image,.file-picker__preview-empty__image{width:100%;height:100%;background-position-x:center;background-position-y:center;background-repeat:no-repeat;background-size:contain}.file-picker__preview__file,.file-picker__preview-empty__file{display:flex;flex:1 1 auto;flex-direction:column;align-content:center;align-items:center;justify-content:center;text-align:center;font:400 12px/16px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.file-picker__preview__file code,.file-picker__preview-empty__file code{font:400 12px/16px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.file-picker__preview.disabled,.file-picker__preview-empty.disabled{border:2px solid #e0e0e0}.file-picker__preview.error{border:2px solid #ec4899}.file-picker__preview__delete{position:absolute;z-index:200;top:0;right:0;width:24px;height:24px;background-color:#f7f8fdb3;border-radius:3px;color:#100c27;cursor:pointer}.file-picker__preview__delete:hover{color:#fe733f}.file-picker__preview-empty__default{text-align:center}:host{display:block;width:130px;height:130px}.add-button{height:100%;padding:6px;text-align:center}.add-button__image{width:100%;height:54px}.add-button__content{font:400 12px/16px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}\n"], components: [{ type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i6.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1309
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormFilePickerAddButtonComponent, decorators: [{
|
|
1310
|
+
type: Component,
|
|
1311
|
+
args: [{ selector: 'gio-form-file-picker-add-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"add-button\" matRipple>\n <div #content><ng-content></ng-content></div>\n <span *ngIf=\"!content.children.length\">\n <mat-icon class=\"add-button__image\" svgIcon=\"gio:upload\"></mat-icon>\n <span class=\"add-button__content\">Drag your file</span>\n </span>\n</div>\n", styles: [":host{display:flex;flex-direction:column}.file-picker{display:flex;flex:1 1 auto;flex-flow:row wrap;padding:4px}.file-picker__add-button{border:2px dashed #606274;margin:4px;border-radius:6px;cursor:pointer}.file-picker__add-button:hover,.file-picker__add-button.drag-hover{border:2px dashed #876fec;background-color:#0000000a}.file-picker__add-button.drag-hover{pointer-events:none}.file-picker__add-button.complete{padding:6px;border:none}.file-picker__add-button.error{border:2px dashed #ec4899}.file-picker__preview,.file-picker__preview-empty{position:relative;display:flex;min-width:130px;min-height:130px;flex:0 0 130px;flex-flow:column nowrap;justify-content:space-between;padding:6px;border:2px solid #606274;margin:4px;border-radius:6px;inline-size:-moz-fit-content;inline-size:fit-content}.file-picker__preview.drag-hover,.file-picker__preview-empty.drag-hover{pointer-events:none}.file-picker__preview__image,.file-picker__preview-empty__image{width:100%;height:100%;background-position-x:center;background-position-y:center;background-repeat:no-repeat;background-size:contain}.file-picker__preview__file,.file-picker__preview-empty__file{display:flex;flex:1 1 auto;flex-direction:column;align-content:center;align-items:center;justify-content:center;text-align:center;font:400 12px/16px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.file-picker__preview__file code,.file-picker__preview-empty__file code{font:400 12px/16px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.file-picker__preview.disabled,.file-picker__preview-empty.disabled{border:2px solid #e0e0e0}.file-picker__preview.error{border:2px solid #ec4899}.file-picker__preview__delete{position:absolute;z-index:200;top:0;right:0;width:24px;height:24px;background-color:#f7f8fdb3;border-radius:3px;color:#100c27;cursor:pointer}.file-picker__preview__delete:hover{color:#fe733f}.file-picker__preview-empty__default{text-align:center}:host{display:block;width:130px;height:130px}.add-button{height:100%;padding:6px;text-align:center}.add-button__image{width:100%;height:54px}.add-button__content{font:400 12px/16px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}\n"] }]
|
|
1312
|
+
}] });
|
|
1313
|
+
|
|
1314
|
+
/*
|
|
1315
|
+
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
1316
|
+
*
|
|
1317
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1318
|
+
* you may not use this file except in compliance with the License.
|
|
1319
|
+
* You may obtain a copy of the License at
|
|
1320
|
+
*
|
|
1321
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1322
|
+
*
|
|
1323
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1324
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1325
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1326
|
+
* See the License for the specific language governing permissions and
|
|
1327
|
+
* limitations under the License.
|
|
1328
|
+
*/
|
|
1329
|
+
class GioFormFilePickerEmptyComponent {
|
|
1330
|
+
}
|
|
1331
|
+
GioFormFilePickerEmptyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormFilePickerEmptyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1332
|
+
GioFormFilePickerEmptyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioFormFilePickerEmptyComponent, selector: "gio-form-file-picker-empty", ngImport: i0, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div #content><ng-content></ng-content></div>\n<span *ngIf=\"!content.children.length\"> No file defined </span>\n", directives: [{ type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1333
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormFilePickerEmptyComponent, decorators: [{
|
|
1334
|
+
type: Component,
|
|
1335
|
+
args: [{ selector: 'gio-form-file-picker-empty', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div #content><ng-content></ng-content></div>\n<span *ngIf=\"!content.children.length\"> No file defined </span>\n" }]
|
|
1336
|
+
}] });
|
|
1337
|
+
|
|
1338
|
+
/*
|
|
1339
|
+
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
1340
|
+
*
|
|
1341
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1342
|
+
* you may not use this file except in compliance with the License.
|
|
1343
|
+
* You may obtain a copy of the License at
|
|
1344
|
+
*
|
|
1345
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1346
|
+
*
|
|
1347
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1348
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1349
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1350
|
+
* See the License for the specific language governing permissions and
|
|
1351
|
+
* limitations under the License.
|
|
1352
|
+
*/
|
|
1353
|
+
class GioFormFilePickerLabelComponent {
|
|
1354
|
+
}
|
|
1355
|
+
GioFormFilePickerLabelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormFilePickerLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1356
|
+
GioFormFilePickerLabelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioFormFilePickerLabelComponent, selector: "gio-form-file-picker-label", ngImport: i0, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"mat-caption\"><ng-content></ng-content></div>\n", styles: [":host{padding-left:8px;margin-bottom:-4px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1357
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormFilePickerLabelComponent, decorators: [{
|
|
1358
|
+
type: Component,
|
|
1359
|
+
args: [{ selector: 'gio-form-file-picker-label', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"mat-caption\"><ng-content></ng-content></div>\n", styles: [":host{padding-left:8px;margin-bottom:-4px}\n"] }]
|
|
1360
|
+
}] });
|
|
1361
|
+
|
|
1362
|
+
/*
|
|
1363
|
+
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
1364
|
+
*
|
|
1365
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1366
|
+
* you may not use this file except in compliance with the License.
|
|
1367
|
+
* You may obtain a copy of the License at
|
|
1368
|
+
*
|
|
1369
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1370
|
+
*
|
|
1371
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1372
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1373
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1374
|
+
* See the License for the specific language governing permissions and
|
|
1375
|
+
* limitations under the License.
|
|
1376
|
+
*/
|
|
1377
|
+
class NewFile {
|
|
1378
|
+
constructor(name, dataUrl, file) {
|
|
1379
|
+
this.name = name;
|
|
1380
|
+
this.dataUrl = dataUrl;
|
|
1381
|
+
this.file = file;
|
|
1382
|
+
}
|
|
1383
|
+
}
|
|
1384
|
+
|
|
1385
|
+
/*
|
|
1386
|
+
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
1387
|
+
*
|
|
1388
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1389
|
+
* you may not use this file except in compliance with the License.
|
|
1390
|
+
* You may obtain a copy of the License at
|
|
1391
|
+
*
|
|
1392
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1393
|
+
*
|
|
1394
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1395
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1396
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1397
|
+
* See the License for the specific language governing permissions and
|
|
1398
|
+
* limitations under the License.
|
|
1399
|
+
*/
|
|
1400
|
+
class GioFormFilePickerComponent {
|
|
1401
|
+
constructor(changeDetectorRef, ngControl) {
|
|
1402
|
+
this.changeDetectorRef = changeDetectorRef;
|
|
1403
|
+
this.ngControl = ngControl;
|
|
1404
|
+
this.multiple = false;
|
|
1405
|
+
this.accept = '*';
|
|
1406
|
+
this.fileValues = [];
|
|
1407
|
+
this.readMode = ReadMode.dataURL;
|
|
1408
|
+
this.dragHover = false;
|
|
1409
|
+
this.isDisabled = false;
|
|
1410
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
1411
|
+
this.onChangeCallback = () => { };
|
|
1412
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
1413
|
+
this.onTouchedCallback = () => { };
|
|
1414
|
+
if (ngControl) {
|
|
1415
|
+
// Setting the value accessor directly (instead of using
|
|
1416
|
+
// the providers `NG_VALUE_ACCESSOR`) to avoid running into a circular import.
|
|
1417
|
+
ngControl.valueAccessor = this;
|
|
1418
|
+
}
|
|
1419
|
+
}
|
|
1420
|
+
set disabled(disabled) {
|
|
1421
|
+
this.setDisabledState(disabled);
|
|
1422
|
+
}
|
|
1423
|
+
ngOnInit() {
|
|
1424
|
+
if (this.ngControl && this.ngControl.statusChanges) {
|
|
1425
|
+
// As the change detection is OnPush we have to markForCheck the component after a validation change because no input/output or values have changed
|
|
1426
|
+
this.ngControl.statusChanges.pipe(tap(() => this.changeDetectorRef.markForCheck())).subscribe();
|
|
1427
|
+
}
|
|
1428
|
+
}
|
|
1429
|
+
get isComplete() {
|
|
1430
|
+
return (!this.multiple && this.fileValues.length === 1) || false;
|
|
1431
|
+
}
|
|
1432
|
+
get isValid() {
|
|
1433
|
+
return !this.ngControl || !this.ngControl.touched || this.ngControl.valid;
|
|
1434
|
+
}
|
|
1435
|
+
// implement by ControlValueAccessor
|
|
1436
|
+
async writeValue(inputs) {
|
|
1437
|
+
if (isNil(inputs) || !isArray(inputs)) {
|
|
1438
|
+
this.fileValues = [];
|
|
1439
|
+
return Promise.resolve();
|
|
1440
|
+
}
|
|
1441
|
+
this.fileValues = await Promise.all(inputs.map(async (input) => ({
|
|
1442
|
+
isNew: false,
|
|
1443
|
+
name: input,
|
|
1444
|
+
dataUrl: input,
|
|
1445
|
+
isImage: await isImgUrl(input),
|
|
1446
|
+
})));
|
|
1447
|
+
this.changeDetectorRef.markForCheck();
|
|
1448
|
+
}
|
|
1449
|
+
// implement by ControlValueAccessor
|
|
1450
|
+
registerOnChange(fn) {
|
|
1451
|
+
this.onChangeCallback = fn;
|
|
1452
|
+
}
|
|
1453
|
+
// implement by ControlValueAccessor
|
|
1454
|
+
registerOnTouched(fn) {
|
|
1455
|
+
this.onTouchedCallback = fn;
|
|
1456
|
+
}
|
|
1457
|
+
// implement by ControlValueAccessor
|
|
1458
|
+
setDisabledState(isDisabled) {
|
|
1459
|
+
this.isDisabled = isDisabled;
|
|
1460
|
+
}
|
|
1461
|
+
onFilePicked(event) {
|
|
1462
|
+
this.handleReceivedFileEvent(event);
|
|
1463
|
+
}
|
|
1464
|
+
onFileDropped(event) {
|
|
1465
|
+
this.handleReceivedFileEvent(event);
|
|
1466
|
+
}
|
|
1467
|
+
onRemoveFile(file) {
|
|
1468
|
+
this.onTouchedCallback();
|
|
1469
|
+
this.dragHover = false;
|
|
1470
|
+
remove(this.fileValues, { name: file.name });
|
|
1471
|
+
this.emitFileValue();
|
|
1472
|
+
}
|
|
1473
|
+
onTouched() {
|
|
1474
|
+
this.onTouchedCallback();
|
|
1475
|
+
this.dragHover = false;
|
|
1476
|
+
}
|
|
1477
|
+
onDragEnter($event) {
|
|
1478
|
+
const el = $event.target;
|
|
1479
|
+
if (el) {
|
|
1480
|
+
this.dragHover = true;
|
|
1481
|
+
this.onTouchedCallback();
|
|
1482
|
+
}
|
|
1483
|
+
}
|
|
1484
|
+
onDragOver($event) {
|
|
1485
|
+
const el = $event.target;
|
|
1486
|
+
if (el) {
|
|
1487
|
+
this.dragHover = false;
|
|
1488
|
+
this.onTouchedCallback();
|
|
1489
|
+
}
|
|
1490
|
+
}
|
|
1491
|
+
handleReceivedFileEvent(event) {
|
|
1492
|
+
this.onTouchedCallback();
|
|
1493
|
+
this.dragHover = false;
|
|
1494
|
+
if (!this.multiple) {
|
|
1495
|
+
this.fileValues = [];
|
|
1496
|
+
}
|
|
1497
|
+
this.fileValues.push({
|
|
1498
|
+
name: event.name,
|
|
1499
|
+
isNew: true,
|
|
1500
|
+
dataUrl: event.content,
|
|
1501
|
+
file: event.underlyingFile,
|
|
1502
|
+
isImage: event.type.startsWith('image/'),
|
|
1503
|
+
});
|
|
1504
|
+
this.emitFileValue();
|
|
1505
|
+
}
|
|
1506
|
+
emitFileValue() {
|
|
1507
|
+
this.onChangeCallback(this.fileValues.map(fileValue => fileValue.isNew ? new NewFile(fileValue.name, fileValue.dataUrl, fileValue.file) : fileValue.dataUrl));
|
|
1508
|
+
}
|
|
1509
|
+
}
|
|
1510
|
+
GioFormFilePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormFilePickerComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i7.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
1511
|
+
GioFormFilePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioFormFilePickerComponent, selector: "gio-form-file-picker", inputs: { multiple: "multiple", accept: "accept", disabled: "disabled" }, ngImport: i0, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<ng-content select=\"gio-form-file-picker-label\"></ng-content>\n<div\n *ngIf=\"!isDisabled; else disabledTpl\"\n class=\"file-picker\"\n ngxFileDropzone\n [readMode]=\"readMode\"\n (fileDrop)=\"onFileDropped($event)\"\n (dragenter)=\"onDragEnter($event)\"\n (dragleave)=\"onDragOver($event)\"\n (blur)=\"dragHover = false\"\n>\n <div\n *ngIf=\"!isComplete\"\n class=\"file-picker__add-button\"\n [class.complete]=\"isComplete\"\n [class.error]=\"!isValid\"\n [class.drag-hover]=\"dragHover\"\n ngxFilePicker\n [accept]=\"accept\"\n [readMode]=\"readMode\"\n [multiple]=\"multiple\"\n (filePick)=\"onFilePicked($event)\"\n (click)=\"onTouched()\"\n >\n <div #addButton class=\"file-picker__add-button__content\"><ng-content select=\"gio-form-file-picker-add-button\"></ng-content></div>\n <gio-form-file-picker-add-button *ngIf=\"addButton.children.length === 0\"></gio-form-file-picker-add-button>\n </div>\n <div *ngFor=\"let fileValue of fileValues\" class=\"file-picker__preview\" [class.drag-hover]=\"dragHover\" [class.error]=\"!isValid\">\n <a class=\"file-picker__preview__delete\" (click)=\"onRemoveFile(fileValue)\">\n <mat-icon svgIcon=\"gio:cancel\"></mat-icon>\n </a>\n\n <ng-container *ngTemplateOutlet=\"filePreview; context: { fileValue: this.fileValue }\"></ng-container>\n </div>\n</div>\n\n<ng-template #disabledTpl>\n <div class=\"file-picker disabled\">\n <ng-container *ngIf=\"fileValues.length === 0\">\n <span #previewEmpty class=\"file-picker__preview-empty disabled\">\n <ng-content select=\"gio-form-file-picker-empty\"></ng-content>\n <gio-form-file-picker-empty\n *ngIf=\"previewEmpty.children.length === 0\"\n class=\"file-picker__preview-empty__default\"\n ></gio-form-file-picker-empty>\n </span>\n </ng-container>\n\n <div class=\"file-picker__preview disabled\" *ngFor=\"let fileValue of fileValues\">\n <ng-container *ngTemplateOutlet=\"filePreview; context: { fileValue: this.fileValue }\"></ng-container>\n </div>\n </div>\n</ng-template>\n\n<ng-template #filePreview let-fileValue=\"fileValue\">\n <div class=\"file-picker__preview__image\" *ngIf=\"fileValue.isImage\" [style.background-image]=\"'url(' + fileValue.dataUrl + ')'\"></div>\n <div class=\"file-picker__preview__file\" *ngIf=\"!fileValue.isImage\">\n <p>{{ fileValue.name }}</p>\n </div>\n</ng-template>\n", styles: [":host{display:flex;flex-direction:column}.file-picker{display:flex;flex:1 1 auto;flex-flow:row wrap;padding:4px}.file-picker__add-button{border:2px dashed #606274;margin:4px;border-radius:6px;cursor:pointer}.file-picker__add-button:hover,.file-picker__add-button.drag-hover{border:2px dashed #876fec;background-color:#0000000a}.file-picker__add-button.drag-hover{pointer-events:none}.file-picker__add-button.complete{padding:6px;border:none}.file-picker__add-button.error{border:2px dashed #ec4899}.file-picker__preview,.file-picker__preview-empty{position:relative;display:flex;min-width:130px;min-height:130px;flex:0 0 130px;flex-flow:column nowrap;justify-content:space-between;padding:6px;border:2px solid #606274;margin:4px;border-radius:6px;inline-size:-moz-fit-content;inline-size:fit-content}.file-picker__preview.drag-hover,.file-picker__preview-empty.drag-hover{pointer-events:none}.file-picker__preview__image,.file-picker__preview-empty__image{width:100%;height:100%;background-position-x:center;background-position-y:center;background-repeat:no-repeat;background-size:contain}.file-picker__preview__file,.file-picker__preview-empty__file{display:flex;flex:1 1 auto;flex-direction:column;align-content:center;align-items:center;justify-content:center;text-align:center;font:400 12px/16px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.file-picker__preview__file code,.file-picker__preview-empty__file code{font:400 12px/16px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.file-picker__preview.disabled,.file-picker__preview-empty.disabled{border:2px solid #e0e0e0}.file-picker__preview.error{border:2px solid #ec4899}.file-picker__preview__delete{position:absolute;z-index:200;top:0;right:0;width:24px;height:24px;background-color:#f7f8fdb3;border-radius:3px;color:#100c27;cursor:pointer}.file-picker__preview__delete:hover{color:#fe733f}.file-picker__preview-empty__default{text-align:center}\n"], components: [{ type: GioFormFilePickerAddButtonComponent, selector: "gio-form-file-picker-add-button" }, { type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: GioFormFilePickerEmptyComponent, selector: "gio-form-file-picker-empty" }], directives: [{ type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6$2.FileDropzoneDirective, selector: "[ngxFileDropzone]", outputs: ["fileDrop"], exportAs: ["ngxFileDropzone"] }, { type: i6$2.FilePickerDirective, selector: "[ngxFilePicker]", inputs: ["accept", "multiple"], outputs: ["filePick"], exportAs: ["ngxFilePicker"] }, { type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1512
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormFilePickerComponent, decorators: [{
|
|
1513
|
+
type: Component,
|
|
1514
|
+
args: [{ selector: 'gio-form-file-picker', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<ng-content select=\"gio-form-file-picker-label\"></ng-content>\n<div\n *ngIf=\"!isDisabled; else disabledTpl\"\n class=\"file-picker\"\n ngxFileDropzone\n [readMode]=\"readMode\"\n (fileDrop)=\"onFileDropped($event)\"\n (dragenter)=\"onDragEnter($event)\"\n (dragleave)=\"onDragOver($event)\"\n (blur)=\"dragHover = false\"\n>\n <div\n *ngIf=\"!isComplete\"\n class=\"file-picker__add-button\"\n [class.complete]=\"isComplete\"\n [class.error]=\"!isValid\"\n [class.drag-hover]=\"dragHover\"\n ngxFilePicker\n [accept]=\"accept\"\n [readMode]=\"readMode\"\n [multiple]=\"multiple\"\n (filePick)=\"onFilePicked($event)\"\n (click)=\"onTouched()\"\n >\n <div #addButton class=\"file-picker__add-button__content\"><ng-content select=\"gio-form-file-picker-add-button\"></ng-content></div>\n <gio-form-file-picker-add-button *ngIf=\"addButton.children.length === 0\"></gio-form-file-picker-add-button>\n </div>\n <div *ngFor=\"let fileValue of fileValues\" class=\"file-picker__preview\" [class.drag-hover]=\"dragHover\" [class.error]=\"!isValid\">\n <a class=\"file-picker__preview__delete\" (click)=\"onRemoveFile(fileValue)\">\n <mat-icon svgIcon=\"gio:cancel\"></mat-icon>\n </a>\n\n <ng-container *ngTemplateOutlet=\"filePreview; context: { fileValue: this.fileValue }\"></ng-container>\n </div>\n</div>\n\n<ng-template #disabledTpl>\n <div class=\"file-picker disabled\">\n <ng-container *ngIf=\"fileValues.length === 0\">\n <span #previewEmpty class=\"file-picker__preview-empty disabled\">\n <ng-content select=\"gio-form-file-picker-empty\"></ng-content>\n <gio-form-file-picker-empty\n *ngIf=\"previewEmpty.children.length === 0\"\n class=\"file-picker__preview-empty__default\"\n ></gio-form-file-picker-empty>\n </span>\n </ng-container>\n\n <div class=\"file-picker__preview disabled\" *ngFor=\"let fileValue of fileValues\">\n <ng-container *ngTemplateOutlet=\"filePreview; context: { fileValue: this.fileValue }\"></ng-container>\n </div>\n </div>\n</ng-template>\n\n<ng-template #filePreview let-fileValue=\"fileValue\">\n <div class=\"file-picker__preview__image\" *ngIf=\"fileValue.isImage\" [style.background-image]=\"'url(' + fileValue.dataUrl + ')'\"></div>\n <div class=\"file-picker__preview__file\" *ngIf=\"!fileValue.isImage\">\n <p>{{ fileValue.name }}</p>\n </div>\n</ng-template>\n", styles: [":host{display:flex;flex-direction:column}.file-picker{display:flex;flex:1 1 auto;flex-flow:row wrap;padding:4px}.file-picker__add-button{border:2px dashed #606274;margin:4px;border-radius:6px;cursor:pointer}.file-picker__add-button:hover,.file-picker__add-button.drag-hover{border:2px dashed #876fec;background-color:#0000000a}.file-picker__add-button.drag-hover{pointer-events:none}.file-picker__add-button.complete{padding:6px;border:none}.file-picker__add-button.error{border:2px dashed #ec4899}.file-picker__preview,.file-picker__preview-empty{position:relative;display:flex;min-width:130px;min-height:130px;flex:0 0 130px;flex-flow:column nowrap;justify-content:space-between;padding:6px;border:2px solid #606274;margin:4px;border-radius:6px;inline-size:-moz-fit-content;inline-size:fit-content}.file-picker__preview.drag-hover,.file-picker__preview-empty.drag-hover{pointer-events:none}.file-picker__preview__image,.file-picker__preview-empty__image{width:100%;height:100%;background-position-x:center;background-position-y:center;background-repeat:no-repeat;background-size:contain}.file-picker__preview__file,.file-picker__preview-empty__file{display:flex;flex:1 1 auto;flex-direction:column;align-content:center;align-items:center;justify-content:center;text-align:center;font:400 12px/16px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.file-picker__preview__file code,.file-picker__preview-empty__file code{font:400 12px/16px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.file-picker__preview.disabled,.file-picker__preview-empty.disabled{border:2px solid #e0e0e0}.file-picker__preview.error{border:2px solid #ec4899}.file-picker__preview__delete{position:absolute;z-index:200;top:0;right:0;width:24px;height:24px;background-color:#f7f8fdb3;border-radius:3px;color:#100c27;cursor:pointer}.file-picker__preview__delete:hover{color:#fe733f}.file-picker__preview-empty__default{text-align:center}\n"] }]
|
|
1515
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i7.NgControl, decorators: [{
|
|
1516
|
+
type: Self
|
|
1517
|
+
}, {
|
|
1518
|
+
type: Optional
|
|
1519
|
+
}] }]; }, propDecorators: { multiple: [{
|
|
1520
|
+
type: Input
|
|
1521
|
+
}], accept: [{
|
|
1522
|
+
type: Input
|
|
1523
|
+
}], disabled: [{
|
|
1524
|
+
type: Input
|
|
1525
|
+
}] } });
|
|
1526
|
+
const isImgUrl = (url) => {
|
|
1527
|
+
try {
|
|
1528
|
+
const img = new Image();
|
|
1529
|
+
img.src = url;
|
|
1530
|
+
return new Promise(resolve => {
|
|
1531
|
+
img.onerror = () => resolve(false);
|
|
1532
|
+
img.onload = () => resolve(true);
|
|
1533
|
+
});
|
|
1534
|
+
}
|
|
1535
|
+
catch (error) {
|
|
1536
|
+
return Promise.resolve(false);
|
|
1537
|
+
}
|
|
1538
|
+
};
|
|
1539
|
+
|
|
1540
|
+
/*
|
|
1541
|
+
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
1542
|
+
*
|
|
1543
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1544
|
+
* you may not use this file except in compliance with the License.
|
|
1545
|
+
* You may obtain a copy of the License at
|
|
1546
|
+
*
|
|
1547
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1548
|
+
*
|
|
1549
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1550
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1551
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1552
|
+
* See the License for the specific language governing permissions and
|
|
1553
|
+
* limitations under the License.
|
|
1554
|
+
*/
|
|
1555
|
+
class GioFormFilePickerModule {
|
|
1556
|
+
}
|
|
1557
|
+
GioFormFilePickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormFilePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1558
|
+
GioFormFilePickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormFilePickerModule, declarations: [GioFormFilePickerComponent,
|
|
1559
|
+
GioFormFilePickerAddButtonComponent,
|
|
1560
|
+
GioFormFilePickerEmptyComponent,
|
|
1561
|
+
GioFormFilePickerLabelComponent], imports: [CommonModule, ReactiveFormsModule, NgxFileHelpersModule, MatRippleModule, MatIconModule, GioIconsModule], exports: [GioFormFilePickerComponent,
|
|
1562
|
+
GioFormFilePickerAddButtonComponent,
|
|
1563
|
+
GioFormFilePickerEmptyComponent,
|
|
1564
|
+
GioFormFilePickerLabelComponent] });
|
|
1565
|
+
GioFormFilePickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormFilePickerModule, imports: [[CommonModule, ReactiveFormsModule, NgxFileHelpersModule, MatRippleModule, MatIconModule, GioIconsModule]] });
|
|
1566
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormFilePickerModule, decorators: [{
|
|
1567
|
+
type: NgModule,
|
|
1568
|
+
args: [{
|
|
1569
|
+
declarations: [
|
|
1570
|
+
GioFormFilePickerComponent,
|
|
1571
|
+
GioFormFilePickerAddButtonComponent,
|
|
1572
|
+
GioFormFilePickerEmptyComponent,
|
|
1573
|
+
GioFormFilePickerLabelComponent,
|
|
1574
|
+
],
|
|
1575
|
+
exports: [
|
|
1576
|
+
GioFormFilePickerComponent,
|
|
1577
|
+
GioFormFilePickerAddButtonComponent,
|
|
1578
|
+
GioFormFilePickerEmptyComponent,
|
|
1579
|
+
GioFormFilePickerLabelComponent,
|
|
1580
|
+
],
|
|
1581
|
+
imports: [CommonModule, ReactiveFormsModule, NgxFileHelpersModule, MatRippleModule, MatIconModule, GioIconsModule],
|
|
1582
|
+
}]
|
|
1583
|
+
}] });
|
|
1584
|
+
|
|
1585
|
+
/*
|
|
1586
|
+
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
1587
|
+
*
|
|
1588
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1589
|
+
* you may not use this file except in compliance with the License.
|
|
1590
|
+
* You may obtain a copy of the License at
|
|
1591
|
+
*
|
|
1592
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1593
|
+
*
|
|
1594
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1595
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1596
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1597
|
+
* See the License for the specific language governing permissions and
|
|
1598
|
+
* limitations under the License.
|
|
1599
|
+
*/
|
|
1600
|
+
class GioFormFilePickerInputHarness extends ComponentHarness {
|
|
1601
|
+
constructor() {
|
|
1602
|
+
super(...arguments);
|
|
1603
|
+
this._mainDiv = this.locatorFor('.file-picker__add-button');
|
|
1604
|
+
this._hasErrorClass = this.locatorForOptional('[class="file-picker__add-button error"]');
|
|
1605
|
+
this._inputFile = this.locatorFor('input[type="file"]');
|
|
1606
|
+
this._getDisabledElement = this.locatorForOptional('.disabled');
|
|
1607
|
+
}
|
|
1608
|
+
static with(options) {
|
|
1609
|
+
return new HarnessPredicate(GioFormFilePickerInputHarness, options).addOption('formControlName', options.formControlName, (harness, text) => HarnessPredicate.stringMatches(harness.getFormControlName(), text));
|
|
1610
|
+
}
|
|
1611
|
+
/**
|
|
1612
|
+
* Hack force onload on Image Object
|
|
1613
|
+
* GioFormFilePickerComponent use a Image Object to check if the file is an image.
|
|
1614
|
+
* This method allow to force onload event on the Image Object.
|
|
1615
|
+
* @param excludeSrc call onerror instead of onload for this src
|
|
1616
|
+
*/
|
|
1617
|
+
static forceImageOnload(excludeSrc = []) {
|
|
1618
|
+
Object.defineProperties(Image.prototype, {
|
|
1619
|
+
src: {
|
|
1620
|
+
get: function () {
|
|
1621
|
+
return this._src;
|
|
1622
|
+
},
|
|
1623
|
+
set: function (src) {
|
|
1624
|
+
this._src = src;
|
|
1625
|
+
},
|
|
1626
|
+
},
|
|
1627
|
+
onload: {
|
|
1628
|
+
get: function () {
|
|
1629
|
+
return this._onload;
|
|
1630
|
+
},
|
|
1631
|
+
set: function (fn) {
|
|
1632
|
+
this._onload = fn;
|
|
1633
|
+
excludeSrc.includes(this._src) ? this.onerror() : this.onload();
|
|
1634
|
+
},
|
|
1635
|
+
},
|
|
1636
|
+
});
|
|
1637
|
+
}
|
|
1638
|
+
async getFormControlName() {
|
|
1639
|
+
const filePickerInputHarness = await this.host();
|
|
1640
|
+
return filePickerInputHarness.getAttribute('formControlName');
|
|
1641
|
+
}
|
|
1642
|
+
async hasErrorClass() {
|
|
1643
|
+
return !!(await this._hasErrorClass());
|
|
1644
|
+
}
|
|
1645
|
+
async clickInside() {
|
|
1646
|
+
await (await this._mainDiv()).click();
|
|
1647
|
+
}
|
|
1648
|
+
async getInputFileAccept() {
|
|
1649
|
+
return await (await this._inputFile()).getAttribute('accept');
|
|
1650
|
+
}
|
|
1651
|
+
async getPreviews() {
|
|
1652
|
+
const previewImages = await this.locatorForAll('.file-picker__preview__image')();
|
|
1653
|
+
const previewFiles = await this.locatorForAll('.file-picker__preview__file')();
|
|
1654
|
+
return Promise.all([
|
|
1655
|
+
...previewImages.map(previewImage => previewImage.getAttribute('style')),
|
|
1656
|
+
...previewFiles.map(previewFile => previewFile.text()),
|
|
1657
|
+
]);
|
|
1658
|
+
}
|
|
1659
|
+
async isAddButtonPresent() {
|
|
1660
|
+
return (await this.locatorForOptional('gio-form-file-picker-add-button')()) !== null;
|
|
1661
|
+
}
|
|
1662
|
+
async isDisabled() {
|
|
1663
|
+
return !!(await this._getDisabledElement());
|
|
1664
|
+
}
|
|
1665
|
+
async deleteFile(fileIndex = 0) {
|
|
1666
|
+
const deleteButtons = await this.locatorForAll('.file-picker__preview__delete')();
|
|
1667
|
+
return deleteButtons[fileIndex].click();
|
|
1668
|
+
}
|
|
1669
|
+
async dropFiles(files) {
|
|
1670
|
+
const filePickerDropZone = await this.locatorFor('.file-picker')();
|
|
1671
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1672
|
+
await filePickerDropZone.dispatchEvent('drop', { dataTransfer: { files } });
|
|
1673
|
+
// Wait event is dispatched
|
|
1674
|
+
await new Promise(resolve => setTimeout(resolve, 50));
|
|
1675
|
+
}
|
|
1676
|
+
}
|
|
1677
|
+
GioFormFilePickerInputHarness.hostSelector = 'gio-form-file-picker';
|
|
1678
|
+
|
|
1679
|
+
/*
|
|
1680
|
+
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
1681
|
+
*
|
|
1682
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1683
|
+
* you may not use this file except in compliance with the License.
|
|
1684
|
+
* You may obtain a copy of the License at
|
|
1685
|
+
*
|
|
1686
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1687
|
+
*
|
|
1688
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1689
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1690
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1691
|
+
* See the License for the specific language governing permissions and
|
|
1692
|
+
* limitations under the License.
|
|
1693
|
+
*/
|
|
1694
|
+
|
|
1695
|
+
/*
|
|
1696
|
+
* Copyright (C) 2022 The Gravitee team (http://gravitee.io)
|
|
1697
|
+
*
|
|
1698
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1699
|
+
* you may not use this file except in compliance with the License.
|
|
1700
|
+
* You may obtain a copy of the License at
|
|
1701
|
+
*
|
|
1702
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1703
|
+
*
|
|
1704
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1705
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1706
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1707
|
+
* See the License for the specific language governing permissions and
|
|
1708
|
+
* limitations under the License.
|
|
1709
|
+
*/
|
|
1710
|
+
class GioMenuService {
|
|
1711
|
+
constructor() {
|
|
1712
|
+
this.reduceSource = new BehaviorSubject(false);
|
|
1713
|
+
this.overlaySource = new BehaviorSubject({ open: false });
|
|
1714
|
+
this.reduce = this.reduceSource.asObservable();
|
|
1715
|
+
this.overlayObservable = this.overlaySource.asObservable().pipe(distinctUntilChanged((prev, curr) => prev.open === curr.open), debounce(overlayOptions => timer(overlayOptions.open ? 150 : 500)));
|
|
1716
|
+
}
|
|
1717
|
+
reduced(reduced) {
|
|
1718
|
+
this.reduceSource.next(reduced);
|
|
1719
|
+
}
|
|
1720
|
+
overlay(overlayOptions) {
|
|
1721
|
+
this.overlaySource.next(overlayOptions);
|
|
1722
|
+
}
|
|
1723
|
+
}
|
|
1724
|
+
GioMenuService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMenuService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1725
|
+
GioMenuService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMenuService, providedIn: 'root' });
|
|
1726
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMenuService, decorators: [{
|
|
1727
|
+
type: Injectable,
|
|
1728
|
+
args: [{ providedIn: 'root' }]
|
|
1729
|
+
}] });
|
|
1730
|
+
|
|
1731
|
+
/*
|
|
1732
|
+
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
1733
|
+
*
|
|
1734
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1735
|
+
* you may not use this file except in compliance with the License.
|
|
1736
|
+
* You may obtain a copy of the License at
|
|
1737
|
+
*
|
|
1738
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1739
|
+
*
|
|
1740
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1741
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1742
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1743
|
+
* See the License for the specific language governing permissions and
|
|
1744
|
+
* limitations under the License.
|
|
1745
|
+
*/
|
|
1746
|
+
class GioMenuItemComponent {
|
|
1747
|
+
constructor(gioMenuService) {
|
|
1748
|
+
this.gioMenuService = gioMenuService;
|
|
1749
|
+
this.icon = '';
|
|
1750
|
+
this.active = false;
|
|
1751
|
+
this.outlined = false;
|
|
1752
|
+
this.unsubscribe$ = new Subject();
|
|
1753
|
+
}
|
|
1754
|
+
ngOnDestroy() {
|
|
1755
|
+
this.unsubscribe$.next();
|
|
1756
|
+
this.unsubscribe$.unsubscribe();
|
|
1757
|
+
}
|
|
1758
|
+
onMouseLeave() {
|
|
1759
|
+
if (this.active) {
|
|
1760
|
+
this.gioMenuService.overlay({ open: false });
|
|
1761
|
+
}
|
|
1762
|
+
}
|
|
1763
|
+
onMouseEnter($event) {
|
|
1764
|
+
if (this.active) {
|
|
1765
|
+
const menuItem = $event.target;
|
|
1766
|
+
this.gioMenuService.overlay({ open: true, top: menuItem.getBoundingClientRect().top, parent: menuItem });
|
|
1767
|
+
}
|
|
1768
|
+
}
|
|
1769
|
+
onClick($event) {
|
|
1770
|
+
of(true)
|
|
1771
|
+
.pipe(takeUntil(this.unsubscribe$), delay(0), tap(() => this.onMouseEnter($event)))
|
|
1772
|
+
.subscribe();
|
|
1773
|
+
}
|
|
1774
|
+
onKeydownHandler($event) {
|
|
1775
|
+
of($event.key === 'Enter' && $event.target)
|
|
1776
|
+
.pipe(takeUntil(this.unsubscribe$), filter(enterKey => !!enterKey), switchMap(() => of($event.target)), tap(menuItem => {
|
|
1777
|
+
this.gioMenuService.overlay({ open: false });
|
|
1778
|
+
if (this.active) {
|
|
1779
|
+
this.gioMenuService.overlay({ open: true, top: menuItem.getBoundingClientRect().top, parent: menuItem, focus: true });
|
|
1780
|
+
}
|
|
1781
|
+
else {
|
|
1782
|
+
menuItem.click();
|
|
1783
|
+
}
|
|
1784
|
+
}))
|
|
1785
|
+
.subscribe();
|
|
1786
|
+
}
|
|
1787
|
+
}
|
|
1788
|
+
GioMenuItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMenuItemComponent, deps: [{ token: GioMenuService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1789
|
+
GioMenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioMenuItemComponent, selector: "gio-menu-item", inputs: { icon: "icon", active: "active", outlined: "outlined" }, host: { listeners: { "click": "onClick($event)", "keydown": "onKeydownHandler($event)" } }, ngImport: i0, template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div\n class=\"gio-menu-item\"\n [class.gio-menu-item__active]=\"active\"\n [class.gio-menu-item__outlined]=\"outlined\"\n (click)=\"onClick($event)\"\n (mouseenter)=\"onMouseEnter($event)\"\n (mouseleave)=\"onMouseLeave()\"\n>\n <mat-icon *ngIf=\"icon\" class=\"gio-menu-item__icon\" [svgIcon]=\"icon\"></mat-icon>\n <span class=\"gio-menu-item__title\"><ng-content></ng-content></span>\n</div>\n", styles: [":host{display:block}.gio-menu-item{display:flex;width:192px;height:36px;flex:none;flex-direction:row;flex-grow:0;align-items:center;padding:16px;margin:4px 0;background:#1c1e39;border-radius:4px;color:#f7f8fd;cursor:pointer}.gio-menu-item__active{background:#494b61}.gio-menu-item__outlined{border:1px solid #606274;border-radius:4px}.gio-menu-item__icon{position:absolute;width:20px;height:20px}.gio-menu-item__title:not(:first-child){margin:18px 0 18px 32px}:host-context(.gio-menu__reduced) .gio-menu-item{width:44px;justify-content:center;padding:0;margin:8px 0}:host-context(.gio-menu__reduced) .gio-menu-item__title{display:none}:host-context(.gio-menu__reduced .gio-menu-footer) .gio-menu-item{margin:20px 0}:host-context(.gio-menu__reduced .gio-menu-footer) .gio-menu-item__outlined{margin:20px 0}.gio-menu-item:hover:not(.gio-menu-item__active){background:#33354d}\n"], components: [{ type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
1790
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMenuItemComponent, decorators: [{
|
|
1791
|
+
type: Component,
|
|
1792
|
+
args: [{ selector: 'gio-menu-item', template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div\n class=\"gio-menu-item\"\n [class.gio-menu-item__active]=\"active\"\n [class.gio-menu-item__outlined]=\"outlined\"\n (click)=\"onClick($event)\"\n (mouseenter)=\"onMouseEnter($event)\"\n (mouseleave)=\"onMouseLeave()\"\n>\n <mat-icon *ngIf=\"icon\" class=\"gio-menu-item__icon\" [svgIcon]=\"icon\"></mat-icon>\n <span class=\"gio-menu-item__title\"><ng-content></ng-content></span>\n</div>\n", styles: [":host{display:block}.gio-menu-item{display:flex;width:192px;height:36px;flex:none;flex-direction:row;flex-grow:0;align-items:center;padding:16px;margin:4px 0;background:#1c1e39;border-radius:4px;color:#f7f8fd;cursor:pointer}.gio-menu-item__active{background:#494b61}.gio-menu-item__outlined{border:1px solid #606274;border-radius:4px}.gio-menu-item__icon{position:absolute;width:20px;height:20px}.gio-menu-item__title:not(:first-child){margin:18px 0 18px 32px}:host-context(.gio-menu__reduced) .gio-menu-item{width:44px;justify-content:center;padding:0;margin:8px 0}:host-context(.gio-menu__reduced) .gio-menu-item__title{display:none}:host-context(.gio-menu__reduced .gio-menu-footer) .gio-menu-item{margin:20px 0}:host-context(.gio-menu__reduced .gio-menu-footer) .gio-menu-item__outlined{margin:20px 0}.gio-menu-item:hover:not(.gio-menu-item__active){background:#33354d}\n"] }]
|
|
1793
|
+
}], ctorParameters: function () { return [{ type: GioMenuService }]; }, propDecorators: { icon: [{
|
|
1794
|
+
type: Input
|
|
1795
|
+
}], active: [{
|
|
1796
|
+
type: Input
|
|
1797
|
+
}], outlined: [{
|
|
1798
|
+
type: Input
|
|
1799
|
+
}], onClick: [{
|
|
1800
|
+
type: HostListener,
|
|
1801
|
+
args: ['click', ['$event']]
|
|
1802
|
+
}], onKeydownHandler: [{
|
|
1803
|
+
type: HostListener,
|
|
1804
|
+
args: ['keydown', ['$event']]
|
|
1805
|
+
}] } });
|
|
1806
|
+
|
|
1807
|
+
/*
|
|
1808
|
+
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
1809
|
+
*
|
|
1810
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1811
|
+
* you may not use this file except in compliance with the License.
|
|
1812
|
+
* You may obtain a copy of the License at
|
|
1813
|
+
*
|
|
1814
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1815
|
+
*
|
|
1816
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1817
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1818
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1819
|
+
* See the License for the specific language governing permissions and
|
|
1820
|
+
* limitations under the License.
|
|
1821
|
+
*/
|
|
1822
|
+
class GioMenuFooterComponent {
|
|
1823
|
+
}
|
|
1824
|
+
GioMenuFooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMenuFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1825
|
+
GioMenuFooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioMenuFooterComponent, selector: "gio-menu-footer", ngImport: i0, template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-menu-footer\">\n <div class=\"gio-menu-footer__content\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [":host{flex-grow:0}.gio-menu-footer{padding:16px;border-top:1px solid #606274}:host-context(.gio-menu__reduced) .gio-menu-footer{padding:0 16px}\n"] });
|
|
1826
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMenuFooterComponent, decorators: [{
|
|
1827
|
+
type: Component,
|
|
1828
|
+
args: [{ selector: 'gio-menu-footer', template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-menu-footer\">\n <div class=\"gio-menu-footer__content\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [":host{flex-grow:0}.gio-menu-footer{padding:16px;border-top:1px solid #606274}:host-context(.gio-menu__reduced) .gio-menu-footer{padding:0 16px}\n"] }]
|
|
1829
|
+
}] });
|
|
1830
|
+
|
|
1831
|
+
/*
|
|
1832
|
+
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
1833
|
+
*
|
|
1834
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1835
|
+
* you may not use this file except in compliance with the License.
|
|
1836
|
+
* You may obtain a copy of the License at
|
|
1837
|
+
*
|
|
1838
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1839
|
+
*
|
|
1840
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1841
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1842
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1843
|
+
* See the License for the specific language governing permissions and
|
|
1844
|
+
* limitations under the License.
|
|
1845
|
+
*/
|
|
1846
|
+
class GioMenuComponent {
|
|
1847
|
+
constructor(gioMenuService) {
|
|
1848
|
+
this.gioMenuService = gioMenuService;
|
|
1849
|
+
this.reduced = false;
|
|
1850
|
+
}
|
|
1851
|
+
ngOnInit() {
|
|
1852
|
+
this.gioMenuService.reduced(this.reduced);
|
|
1853
|
+
}
|
|
1854
|
+
reduceMenu() {
|
|
1855
|
+
this.reduced = !this.reduced;
|
|
1856
|
+
this.gioMenuService.reduced(this.reduced);
|
|
1857
|
+
}
|
|
1858
|
+
getCollapseButtonIcon() {
|
|
1859
|
+
return this.reduced ? 'gio:expande' : 'gio:collapse';
|
|
1860
|
+
}
|
|
1861
|
+
onMouseLeave() {
|
|
1862
|
+
if (this.reduced) {
|
|
1863
|
+
this.gioMenuService.overlay({ open: false });
|
|
1864
|
+
}
|
|
1865
|
+
}
|
|
1866
|
+
}
|
|
1867
|
+
GioMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMenuComponent, deps: [{ token: GioMenuService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1868
|
+
GioMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioMenuComponent, selector: "gio-menu", inputs: { reduced: "reduced" }, ngImport: i0, template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-menu\" [class.gio-menu__reduced]=\"reduced\" (mouseleave)=\"onMouseLeave()\">\n <ng-content select=\"gio-menu-header\"></ng-content>\n <ng-content select=\"gio-menu-list\"></ng-content>\n <ng-content select=\"gio-menu-footer\"></ng-content>\n <gio-menu-footer>\n <gio-menu-item\n tabIndex=\"1\"\n type=\"button\"\n class=\"gio-menu-footer__collapse\"\n [icon]=\"getCollapseButtonIcon()\"\n (click)=\"reduceMenu()\"\n [outlined]=\"true\"\n >Collapse menu</gio-menu-item\n >\n </gio-menu-footer>\n</div>\n", styles: [".gio-menu{display:flex;width:224px;height:100%;flex-direction:column;justify-content:flex-start;padding:16px 0 0;background:#1c1e39;box-shadow:0 0 0 1px #0000001a,0 5px 10px #0003,0 15px 40px #0006}.gio-menu__reduced{width:76px}\n"], components: [{ type: GioMenuFooterComponent, selector: "gio-menu-footer" }, { type: GioMenuItemComponent, selector: "gio-menu-item", inputs: ["icon", "active", "outlined"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
1869
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMenuComponent, decorators: [{
|
|
1870
|
+
type: Component,
|
|
1871
|
+
args: [{ selector: 'gio-menu', encapsulation: ViewEncapsulation.None, template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-menu\" [class.gio-menu__reduced]=\"reduced\" (mouseleave)=\"onMouseLeave()\">\n <ng-content select=\"gio-menu-header\"></ng-content>\n <ng-content select=\"gio-menu-list\"></ng-content>\n <ng-content select=\"gio-menu-footer\"></ng-content>\n <gio-menu-footer>\n <gio-menu-item\n tabIndex=\"1\"\n type=\"button\"\n class=\"gio-menu-footer__collapse\"\n [icon]=\"getCollapseButtonIcon()\"\n (click)=\"reduceMenu()\"\n [outlined]=\"true\"\n >Collapse menu</gio-menu-item\n >\n </gio-menu-footer>\n</div>\n", styles: [".gio-menu{display:flex;width:224px;height:100%;flex-direction:column;justify-content:flex-start;padding:16px 0 0;background:#1c1e39;box-shadow:0 0 0 1px #0000001a,0 5px 10px #0003,0 15px 40px #0006}.gio-menu__reduced{width:76px}\n"] }]
|
|
1872
|
+
}], ctorParameters: function () { return [{ type: GioMenuService }]; }, propDecorators: { reduced: [{
|
|
1873
|
+
type: Input
|
|
1874
|
+
}] } });
|
|
1875
|
+
|
|
1876
|
+
/*
|
|
1877
|
+
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
1878
|
+
*
|
|
1879
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1880
|
+
* you may not use this file except in compliance with the License.
|
|
1881
|
+
* You may obtain a copy of the License at
|
|
1882
|
+
*
|
|
1883
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1884
|
+
*
|
|
1885
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1886
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1887
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1888
|
+
* See the License for the specific language governing permissions and
|
|
1889
|
+
* limitations under the License.
|
|
1890
|
+
*/
|
|
1891
|
+
class GioMenuListComponent {
|
|
1892
|
+
}
|
|
1893
|
+
GioMenuListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMenuListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1894
|
+
GioMenuListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioMenuListComponent, selector: "gio-menu-list", ngImport: i0, template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-menu-list\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{flex-grow:1}.gio-menu-list{padding:0 16px}\n"] });
|
|
1895
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMenuListComponent, decorators: [{
|
|
1896
|
+
type: Component,
|
|
1897
|
+
args: [{ selector: 'gio-menu-list', template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-menu-list\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{flex-grow:1}.gio-menu-list{padding:0 16px}\n"] }]
|
|
1898
|
+
}] });
|
|
1899
|
+
|
|
1900
|
+
/*
|
|
1901
|
+
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
1902
|
+
*
|
|
1903
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1904
|
+
* you may not use this file except in compliance with the License.
|
|
1905
|
+
* You may obtain a copy of the License at
|
|
1906
|
+
*
|
|
1907
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1908
|
+
*
|
|
1909
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1910
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1911
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1912
|
+
* See the License for the specific language governing permissions and
|
|
1913
|
+
* limitations under the License.
|
|
1914
|
+
*/
|
|
1915
|
+
class GioMenuSelectorComponent {
|
|
1916
|
+
constructor() {
|
|
1917
|
+
this.selectorTitle = '';
|
|
1918
|
+
this.selectorItems = [];
|
|
1919
|
+
this.selectedItemValue = '';
|
|
1920
|
+
this.tabIndex = 1;
|
|
1921
|
+
this.selectChange = new EventEmitter();
|
|
1922
|
+
}
|
|
1923
|
+
onSelectionChange($event) {
|
|
1924
|
+
this.selectChange.emit($event.value);
|
|
1925
|
+
}
|
|
1926
|
+
isDisabled() {
|
|
1927
|
+
return this.selectorItems.length <= 1;
|
|
1928
|
+
}
|
|
1929
|
+
}
|
|
1930
|
+
GioMenuSelectorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMenuSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1931
|
+
GioMenuSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioMenuSelectorComponent, selector: "gio-menu-selector", inputs: { selectorTitle: "selectorTitle", selectorItems: "selectorItems", selectedItemValue: "selectedItemValue", tabIndex: "tabIndex" }, outputs: { selectChange: "selectChange" }, ngImport: i0, template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-menu-selector\">\n <mat-form-field class=\"gio-menu-selector__mat-form-field\">\n <mat-label>{{ selectorTitle }}</mat-label>\n <mat-select [tabIndex]=\"tabIndex\" [value]=\"selectedItemValue\" (selectionChange)=\"onSelectionChange($event)\" [disabled]=\"isDisabled()\">\n <mat-option *ngFor=\"let item of selectorItems\" [value]=\"item.value\">\n {{ item.displayValue }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n</div>\n", styles: [".gio-menu-selector{width:192px;padding:10px 14px 0;border-style:solid;border-color:#606274;margin-bottom:8px;border-radius:4px;color:#f7f8fd}.gio-menu-selector__mat-form-field{padding-bottom:0}::ng-deep gio-menu-selector .gio-menu-selector>*{display:block}::ng-deep gio-menu-selector .gio-menu-selector .mat-select-value{color:#fff}::ng-deep gio-menu-selector .gio-menu-selector .mat-select-placeholder{color:#ffffff80}::ng-deep gio-menu-selector .gio-menu-selector .mat-select-disabled .mat-select-value{color:#ffffff80}::ng-deep gio-menu-selector .gio-menu-selector .mat-select-arrow{color:#ffffffb3}::ng-deep gio-menu-selector .gio-menu-selector .mat-select-panel{background:#424242}::ng-deep gio-menu-selector .gio-menu-selector .mat-select-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:rgba(255,255,255,.12)}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#099}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#876fec}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-focused.mat-warn .mat-select-arrow{color:#ec4899}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field .mat-select.mat-select-invalid .mat-select-arrow{color:#ec4899}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field .mat-select.mat-select-disabled .mat-select-arrow{color:#ffffff80}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-label{color:#ffffffb3}::ng-deep gio-menu-selector .gio-menu-selector .mat-hint{color:#ffffffb3}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-focused .mat-form-field-label{color:#099}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-focused .mat-form-field-label.mat-accent{color:#876fec}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-focused .mat-form-field-label.mat-warn{color:#ec4899}::ng-deep gio-menu-selector .gio-menu-selector .mat-focused .mat-form-field-required-marker{color:#876fec}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-ripple{background-color:#fff}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-focused .mat-form-field-ripple{background-color:#099}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-focused .mat-form-field-ripple.mat-accent{background-color:#876fec}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-focused .mat-form-field-ripple.mat-warn{background-color:#ec4899}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix:after{color:#099}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix:after{color:#876fec}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix:after{color:#ec4899}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-form-field-invalid .mat-form-field-label{color:#ec4899}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent,::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker{color:#ec4899}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-form-field-invalid .mat-form-field-ripple,::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent{background-color:#ec4899}::ng-deep gio-menu-selector .gio-menu-selector .mat-error{color:#ec4899}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-legacy .mat-form-field-label{color:#ffffffb3}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-legacy .mat-hint{color:#ffffffb3}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-legacy .mat-form-field-underline{background-color:#ffffffb3}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(to right,rgba(255,255,255,.7) 0%,rgba(255,255,255,.7) 33%,transparent 0%);background-size:4px 100%;background-repeat:repeat-x}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-standard .mat-form-field-underline{background-color:#ffffffb3}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(to right,rgba(255,255,255,.7) 0%,rgba(255,255,255,.7) 33%,transparent 0%);background-size:4px 100%;background-repeat:repeat-x}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-fill .mat-form-field-flex{background-color:#ffffff1a}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex{background-color:#ffffff0d}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-fill .mat-form-field-underline:before{background-color:#ffffff80}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-label{color:#ffffff80}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline:before{background-color:transparent}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-outline .mat-form-field-outline{color:#ffffff4d}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-outline .mat-form-field-outline-thick{color:#fff}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick{color:#099}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick{color:#876fec}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick{color:#ec4899}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick{color:#ec4899}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-label{color:#ffffff80}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{color:#ffffff26}::ng-deep gio-menu-selector .gio-menu-selector .mat-app-background,::ng-deep gio-menu-selector .gio-menu-selector.mat-app-background{background-color:#303030;color:#fff}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z0{box-shadow:0 0 #0003,0 0 #00000024,0 0 #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z1{box-shadow:0 2px 1px -1px #0003,0 1px 1px #00000024,0 1px 3px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z2{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z3{box-shadow:0 3px 3px -2px #0003,0 3px 4px #00000024,0 1px 8px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z4{box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z5{box-shadow:0 3px 5px -1px #0003,0 5px 8px #00000024,0 1px 14px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z6{box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z7{box-shadow:0 4px 5px -2px #0003,0 7px 10px 1px #00000024,0 2px 16px 1px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z8{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z9{box-shadow:0 5px 6px -3px #0003,0 9px 12px 1px #00000024,0 3px 16px 2px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z10{box-shadow:0 6px 6px -3px #0003,0 10px 14px 1px #00000024,0 4px 18px 3px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z11{box-shadow:0 6px 7px -4px #0003,0 11px 15px 1px #00000024,0 4px 20px 3px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z12{box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z13{box-shadow:0 7px 8px -4px #0003,0 13px 19px 2px #00000024,0 5px 24px 4px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z14{box-shadow:0 7px 9px -4px #0003,0 14px 21px 2px #00000024,0 5px 26px 4px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z15{box-shadow:0 8px 9px -5px #0003,0 15px 22px 2px #00000024,0 6px 28px 5px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z16{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z17{box-shadow:0 8px 11px -5px #0003,0 17px 26px 2px #00000024,0 6px 32px 5px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z18{box-shadow:0 9px 11px -5px #0003,0 18px 28px 2px #00000024,0 7px 34px 6px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z19{box-shadow:0 9px 12px -6px #0003,0 19px 29px 2px #00000024,0 7px 36px 6px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z20{box-shadow:0 10px 13px -6px #0003,0 20px 31px 3px #00000024,0 8px 38px 7px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z21{box-shadow:0 10px 13px -6px #0003,0 21px 33px 3px #00000024,0 8px 40px 7px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z22{box-shadow:0 10px 14px -6px #0003,0 22px 35px 3px #00000024,0 8px 42px 7px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z23{box-shadow:0 11px 14px -7px #0003,0 23px 36px 3px #00000024,0 9px 44px 8px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z24{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.mat-theme-loaded-marker{display:none}::ng-deep .mat-form-field-appearance-legacy .mat-form-field-wrapper{padding-bottom:6px}::ng-deep .mat-form-field-underline{display:none}\n"], components: [{ type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i2$4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i6.MatOption, selector: "mat-option", exportAs: ["matOption"] }], directives: [{ type: i3$1.MatLabel, selector: "mat-label" }, { type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
1932
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMenuSelectorComponent, decorators: [{
|
|
1933
|
+
type: Component,
|
|
1934
|
+
args: [{ selector: 'gio-menu-selector', template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-menu-selector\">\n <mat-form-field class=\"gio-menu-selector__mat-form-field\">\n <mat-label>{{ selectorTitle }}</mat-label>\n <mat-select [tabIndex]=\"tabIndex\" [value]=\"selectedItemValue\" (selectionChange)=\"onSelectionChange($event)\" [disabled]=\"isDisabled()\">\n <mat-option *ngFor=\"let item of selectorItems\" [value]=\"item.value\">\n {{ item.displayValue }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n</div>\n", styles: [".gio-menu-selector{width:192px;padding:10px 14px 0;border-style:solid;border-color:#606274;margin-bottom:8px;border-radius:4px;color:#f7f8fd}.gio-menu-selector__mat-form-field{padding-bottom:0}::ng-deep gio-menu-selector .gio-menu-selector>*{display:block}::ng-deep gio-menu-selector .gio-menu-selector .mat-select-value{color:#fff}::ng-deep gio-menu-selector .gio-menu-selector .mat-select-placeholder{color:#ffffff80}::ng-deep gio-menu-selector .gio-menu-selector .mat-select-disabled .mat-select-value{color:#ffffff80}::ng-deep gio-menu-selector .gio-menu-selector .mat-select-arrow{color:#ffffffb3}::ng-deep gio-menu-selector .gio-menu-selector .mat-select-panel{background:#424242}::ng-deep gio-menu-selector .gio-menu-selector .mat-select-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:rgba(255,255,255,.12)}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#099}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#876fec}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-focused.mat-warn .mat-select-arrow{color:#ec4899}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field .mat-select.mat-select-invalid .mat-select-arrow{color:#ec4899}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field .mat-select.mat-select-disabled .mat-select-arrow{color:#ffffff80}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-label{color:#ffffffb3}::ng-deep gio-menu-selector .gio-menu-selector .mat-hint{color:#ffffffb3}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-focused .mat-form-field-label{color:#099}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-focused .mat-form-field-label.mat-accent{color:#876fec}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-focused .mat-form-field-label.mat-warn{color:#ec4899}::ng-deep gio-menu-selector .gio-menu-selector .mat-focused .mat-form-field-required-marker{color:#876fec}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-ripple{background-color:#fff}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-focused .mat-form-field-ripple{background-color:#099}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-focused .mat-form-field-ripple.mat-accent{background-color:#876fec}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-focused .mat-form-field-ripple.mat-warn{background-color:#ec4899}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix:after{color:#099}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix:after{color:#876fec}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix:after{color:#ec4899}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-form-field-invalid .mat-form-field-label{color:#ec4899}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent,::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker{color:#ec4899}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-form-field-invalid .mat-form-field-ripple,::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent{background-color:#ec4899}::ng-deep gio-menu-selector .gio-menu-selector .mat-error{color:#ec4899}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-legacy .mat-form-field-label{color:#ffffffb3}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-legacy .mat-hint{color:#ffffffb3}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-legacy .mat-form-field-underline{background-color:#ffffffb3}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(to right,rgba(255,255,255,.7) 0%,rgba(255,255,255,.7) 33%,transparent 0%);background-size:4px 100%;background-repeat:repeat-x}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-standard .mat-form-field-underline{background-color:#ffffffb3}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(to right,rgba(255,255,255,.7) 0%,rgba(255,255,255,.7) 33%,transparent 0%);background-size:4px 100%;background-repeat:repeat-x}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-fill .mat-form-field-flex{background-color:#ffffff1a}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex{background-color:#ffffff0d}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-fill .mat-form-field-underline:before{background-color:#ffffff80}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-label{color:#ffffff80}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline:before{background-color:transparent}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-outline .mat-form-field-outline{color:#ffffff4d}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-outline .mat-form-field-outline-thick{color:#fff}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick{color:#099}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick{color:#876fec}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick{color:#ec4899}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick{color:#ec4899}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-label{color:#ffffff80}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{color:#ffffff26}::ng-deep gio-menu-selector .gio-menu-selector .mat-app-background,::ng-deep gio-menu-selector .gio-menu-selector.mat-app-background{background-color:#303030;color:#fff}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z0{box-shadow:0 0 #0003,0 0 #00000024,0 0 #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z1{box-shadow:0 2px 1px -1px #0003,0 1px 1px #00000024,0 1px 3px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z2{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z3{box-shadow:0 3px 3px -2px #0003,0 3px 4px #00000024,0 1px 8px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z4{box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z5{box-shadow:0 3px 5px -1px #0003,0 5px 8px #00000024,0 1px 14px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z6{box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z7{box-shadow:0 4px 5px -2px #0003,0 7px 10px 1px #00000024,0 2px 16px 1px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z8{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z9{box-shadow:0 5px 6px -3px #0003,0 9px 12px 1px #00000024,0 3px 16px 2px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z10{box-shadow:0 6px 6px -3px #0003,0 10px 14px 1px #00000024,0 4px 18px 3px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z11{box-shadow:0 6px 7px -4px #0003,0 11px 15px 1px #00000024,0 4px 20px 3px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z12{box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z13{box-shadow:0 7px 8px -4px #0003,0 13px 19px 2px #00000024,0 5px 24px 4px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z14{box-shadow:0 7px 9px -4px #0003,0 14px 21px 2px #00000024,0 5px 26px 4px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z15{box-shadow:0 8px 9px -5px #0003,0 15px 22px 2px #00000024,0 6px 28px 5px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z16{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z17{box-shadow:0 8px 11px -5px #0003,0 17px 26px 2px #00000024,0 6px 32px 5px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z18{box-shadow:0 9px 11px -5px #0003,0 18px 28px 2px #00000024,0 7px 34px 6px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z19{box-shadow:0 9px 12px -6px #0003,0 19px 29px 2px #00000024,0 7px 36px 6px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z20{box-shadow:0 10px 13px -6px #0003,0 20px 31px 3px #00000024,0 8px 38px 7px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z21{box-shadow:0 10px 13px -6px #0003,0 21px 33px 3px #00000024,0 8px 40px 7px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z22{box-shadow:0 10px 14px -6px #0003,0 22px 35px 3px #00000024,0 8px 42px 7px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z23{box-shadow:0 11px 14px -7px #0003,0 23px 36px 3px #00000024,0 9px 44px 8px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z24{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.mat-theme-loaded-marker{display:none}::ng-deep .mat-form-field-appearance-legacy .mat-form-field-wrapper{padding-bottom:6px}::ng-deep .mat-form-field-underline{display:none}\n"] }]
|
|
1935
|
+
}], propDecorators: { selectorTitle: [{
|
|
1936
|
+
type: Input
|
|
1937
|
+
}], selectorItems: [{
|
|
1938
|
+
type: Input
|
|
1939
|
+
}], selectedItemValue: [{
|
|
1940
|
+
type: Input
|
|
1941
|
+
}], tabIndex: [{
|
|
1942
|
+
type: Input
|
|
1943
|
+
}], selectChange: [{
|
|
1944
|
+
type: Output
|
|
1945
|
+
}] } });
|
|
1946
|
+
|
|
1947
|
+
/*
|
|
1948
|
+
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
1949
|
+
*
|
|
1950
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1951
|
+
* you may not use this file except in compliance with the License.
|
|
1952
|
+
* You may obtain a copy of the License at
|
|
1953
|
+
*
|
|
1954
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1955
|
+
*
|
|
1956
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1957
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1958
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1959
|
+
* See the License for the specific language governing permissions and
|
|
1960
|
+
* limitations under the License.
|
|
1961
|
+
*/
|
|
1962
|
+
class GioMenuHeaderComponent {
|
|
1963
|
+
}
|
|
1964
|
+
GioMenuHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMenuHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1965
|
+
GioMenuHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioMenuHeaderComponent, selector: "gio-menu-header", ngImport: i0, template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-menu-header\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{flex-grow:0}.gio-menu-header{padding:0 16px}:host-context(.gio-menu__reduced) .gio-menu-header{display:none}\n"] });
|
|
1966
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMenuHeaderComponent, decorators: [{
|
|
1967
|
+
type: Component,
|
|
1968
|
+
args: [{ selector: 'gio-menu-header', template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-menu-header\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{flex-grow:0}.gio-menu-header{padding:0 16px}:host-context(.gio-menu__reduced) .gio-menu-header{display:none}\n"] }]
|
|
1969
|
+
}] });
|
|
1970
|
+
|
|
1971
|
+
/*
|
|
1972
|
+
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
1973
|
+
*
|
|
1974
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1975
|
+
* you may not use this file except in compliance with the License.
|
|
1976
|
+
* You may obtain a copy of the License at
|
|
1977
|
+
*
|
|
1978
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1979
|
+
*
|
|
1980
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1981
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1982
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1983
|
+
* See the License for the specific language governing permissions and
|
|
1984
|
+
* limitations under the License.
|
|
1985
|
+
*/
|
|
1986
|
+
class GioMenuModule {
|
|
1987
|
+
}
|
|
1988
|
+
GioMenuModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1989
|
+
GioMenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMenuModule, declarations: [GioMenuComponent,
|
|
1990
|
+
GioMenuItemComponent,
|
|
1991
|
+
GioMenuFooterComponent,
|
|
1992
|
+
GioMenuListComponent,
|
|
1993
|
+
GioMenuHeaderComponent,
|
|
1994
|
+
GioMenuSelectorComponent], imports: [CommonModule, MatIconModule, GioIconsModule, MatSelectModule], exports: [GioMenuComponent,
|
|
1995
|
+
GioMenuItemComponent,
|
|
1996
|
+
GioMenuFooterComponent,
|
|
1997
|
+
GioMenuListComponent,
|
|
1998
|
+
GioMenuHeaderComponent,
|
|
1999
|
+
GioMenuSelectorComponent] });
|
|
2000
|
+
GioMenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMenuModule, imports: [[CommonModule, MatIconModule, GioIconsModule, MatSelectModule]] });
|
|
2001
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMenuModule, decorators: [{
|
|
2002
|
+
type: NgModule,
|
|
2003
|
+
args: [{
|
|
2004
|
+
declarations: [
|
|
2005
|
+
GioMenuComponent,
|
|
2006
|
+
GioMenuItemComponent,
|
|
2007
|
+
GioMenuFooterComponent,
|
|
2008
|
+
GioMenuListComponent,
|
|
2009
|
+
GioMenuHeaderComponent,
|
|
2010
|
+
GioMenuSelectorComponent,
|
|
2011
|
+
],
|
|
2012
|
+
exports: [
|
|
2013
|
+
GioMenuComponent,
|
|
2014
|
+
GioMenuItemComponent,
|
|
2015
|
+
GioMenuFooterComponent,
|
|
2016
|
+
GioMenuListComponent,
|
|
2017
|
+
GioMenuHeaderComponent,
|
|
2018
|
+
GioMenuSelectorComponent,
|
|
2019
|
+
],
|
|
2020
|
+
imports: [CommonModule, MatIconModule, GioIconsModule, MatSelectModule],
|
|
2021
|
+
}]
|
|
2022
|
+
}] });
|
|
2023
|
+
|
|
2024
|
+
/*
|
|
2025
|
+
* Copyright (C) 2022 The Gravitee team (http://gravitee.io)
|
|
2026
|
+
*
|
|
2027
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
2028
|
+
* you may not use this file except in compliance with the License.
|
|
2029
|
+
* You may obtain a copy of the License at
|
|
2030
|
+
*
|
|
2031
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
2032
|
+
*
|
|
2033
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
2034
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
2035
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2036
|
+
* See the License for the specific language governing permissions and
|
|
2037
|
+
* limitations under the License.
|
|
2038
|
+
*/
|
|
2039
|
+
class GioMenuSelectorHarness extends ComponentHarness {
|
|
2040
|
+
constructor() {
|
|
2041
|
+
super(...arguments);
|
|
2042
|
+
this.getSelect = this.locatorFor(MatSelectHarness);
|
|
2043
|
+
}
|
|
2044
|
+
async availableOptions() {
|
|
2045
|
+
const select = await this.getSelect();
|
|
2046
|
+
await select.open();
|
|
2047
|
+
const options = await select.getOptions();
|
|
2048
|
+
return Promise.all(options.map(o => o.getText()));
|
|
2049
|
+
}
|
|
2050
|
+
async selectedOption() {
|
|
2051
|
+
const select = await this.getSelect();
|
|
2052
|
+
return select.getValueText();
|
|
2053
|
+
}
|
|
2054
|
+
async selectOptionByIndex(index) {
|
|
2055
|
+
const select = await this.getSelect();
|
|
2056
|
+
await select.open();
|
|
2057
|
+
const options = await select.getOptions();
|
|
2058
|
+
return options[index].click();
|
|
2059
|
+
}
|
|
2060
|
+
}
|
|
2061
|
+
GioMenuSelectorHarness.hostSelector = 'gio-menu-selector';
|
|
2062
|
+
|
|
2063
|
+
/*
|
|
2064
|
+
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
2065
|
+
*
|
|
2066
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
2067
|
+
* you may not use this file except in compliance with the License.
|
|
2068
|
+
* You may obtain a copy of the License at
|
|
2069
|
+
*
|
|
2070
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
2071
|
+
*
|
|
2072
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
2073
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
2074
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2075
|
+
* See the License for the specific language governing permissions and
|
|
2076
|
+
* limitations under the License.
|
|
2077
|
+
*/
|
|
2078
|
+
|
|
2079
|
+
/*
|
|
2080
|
+
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
2081
|
+
*
|
|
2082
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
2083
|
+
* you may not use this file except in compliance with the License.
|
|
2084
|
+
* You may obtain a copy of the License at
|
|
2085
|
+
*
|
|
2086
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
2087
|
+
*
|
|
2088
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
2089
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
2090
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2091
|
+
* See the License for the specific language governing permissions and
|
|
2092
|
+
* limitations under the License.
|
|
2093
|
+
*/
|
|
2094
|
+
class GioSubmenuTitleDirective {
|
|
2095
|
+
}
|
|
2096
|
+
GioSubmenuTitleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioSubmenuTitleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
2097
|
+
GioSubmenuTitleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: GioSubmenuTitleDirective, selector: "[gioSubmenuTitle]", ngImport: i0 });
|
|
2098
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioSubmenuTitleDirective, decorators: [{
|
|
2099
|
+
type: Directive,
|
|
2100
|
+
args: [{
|
|
2101
|
+
selector: '[gioSubmenuTitle]',
|
|
2102
|
+
}]
|
|
2103
|
+
}] });
|
|
2104
|
+
class GioSubmenuComponent {
|
|
2105
|
+
constructor(gioMenuService) {
|
|
2106
|
+
this.gioMenuService = gioMenuService;
|
|
2107
|
+
this.reduced = false;
|
|
2108
|
+
this.loaded = false;
|
|
2109
|
+
this.overlayOptions = { open: false };
|
|
2110
|
+
this.hover = false;
|
|
2111
|
+
this.unsubscribe$ = new Subject();
|
|
2112
|
+
}
|
|
2113
|
+
ngAfterViewInit() {
|
|
2114
|
+
this.gioMenuService.reduce
|
|
2115
|
+
.pipe(takeUntil(this.unsubscribe$), filter(reduced => reduced), tap(() => {
|
|
2116
|
+
this.reduced = true;
|
|
2117
|
+
this.loaded = true;
|
|
2118
|
+
}), switchMap(() => this.gioMenuService.overlayObservable), tap(overlayOptions => {
|
|
2119
|
+
const top = overlayOptions.top || 0;
|
|
2120
|
+
this.overlayOptions = overlayOptions;
|
|
2121
|
+
this.gioSubmenu.nativeElement.style.top = `${top}px`;
|
|
2122
|
+
this.gioSubmenu.nativeElement.style.height = 'auto';
|
|
2123
|
+
this.gioSubmenu.nativeElement.style.maxHeight = `calc(100vh - ${top + 8}px)`;
|
|
2124
|
+
}), filter(overlayOptions => !!overlayOptions.focus), delay(200), switchMap(() => of(this.gioSubmenu.nativeElement.querySelectorAll('gio-submenu-item'))), filter(submenuItems => submenuItems.length > 0), tap(submenuItems => submenuItems[0].focus()))
|
|
2125
|
+
.subscribe();
|
|
2126
|
+
this.gioMenuService.reduce
|
|
2127
|
+
.pipe(takeUntil(this.unsubscribe$), filter(reduced => !reduced), tap(() => {
|
|
2128
|
+
this.reduced = false;
|
|
2129
|
+
this.loaded = true;
|
|
2130
|
+
this.gioSubmenu.nativeElement.style.height = '100%';
|
|
2131
|
+
this.gioSubmenu.nativeElement.style.maxHeight = 'none';
|
|
2132
|
+
}))
|
|
2133
|
+
.subscribe();
|
|
2134
|
+
}
|
|
2135
|
+
ngOnDestroy() {
|
|
2136
|
+
this.unsubscribe$.next();
|
|
2137
|
+
this.unsubscribe$.unsubscribe();
|
|
2138
|
+
}
|
|
2139
|
+
onMouseEnter() {
|
|
2140
|
+
this.hover = true;
|
|
2141
|
+
this.gioMenuService.overlay(this.overlayOptions);
|
|
2142
|
+
}
|
|
2143
|
+
onMouseLeave() {
|
|
2144
|
+
this.hover = false;
|
|
2145
|
+
this.gioMenuService.overlay({ open: false });
|
|
2146
|
+
}
|
|
2147
|
+
onKeydownHandler(event) {
|
|
2148
|
+
of(this.reduced && event.key === 'Escape')
|
|
2149
|
+
.pipe(filter(reducedAndEcape => reducedAndEcape), tap(() => this.gioMenuService.overlay({ open: false })), delay(100), tap(() => this.overlayOptions.parent?.focus()))
|
|
2150
|
+
.subscribe();
|
|
2151
|
+
}
|
|
2152
|
+
}
|
|
2153
|
+
GioSubmenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioSubmenuComponent, deps: [{ token: GioMenuService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2154
|
+
GioSubmenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioSubmenuComponent, selector: "gio-submenu", host: { listeners: { "keydown": "onKeydownHandler($event)" } }, viewQueries: [{ propertyName: "gioSubmenu", first: true, predicate: ["gioSubmenu"], descendants: true }], ngImport: i0, template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div\n #gioSubmenu\n class=\"gio-submenu\"\n [class.gio-submenu__loaded]=\"loaded\"\n [class.gio-submenu__reduced]=\"reduced\"\n [class.gio-submenu__overlay]=\"overlayOptions.open\"\n (mouseenter)=\"onMouseEnter()\"\n (mouseleave)=\"onMouseLeave()\"\n>\n <div #title class=\"gio-submenu__title\" [class.hide]=\"!title.children.length || reduced\">\n <ng-content select=\"[gioSubmenuTitle]\"></ng-content>\n </div>\n <ng-content></ng-content>\n</div>\n", styles: [":host{z-index:100}.gio-submenu{display:none;width:266px;height:100%;flex:none;flex-direction:column;flex-grow:0;justify-content:flex-start;padding:16px;background:#100c27}.gio-submenu__reduced{position:absolute;overflow:auto;margin:0 0 0 8px;border-radius:8px;opacity:0;visibility:hidden}.gio-submenu__loaded{display:flex}.gio-submenu__overlay,.gio-submenu:hover{opacity:1;transition:opacity .15s,visibility .15s;visibility:visible}.gio-submenu__title{padding-bottom:8px;color:#fff}.gio-submenu .hide{display:none}\n"] });
|
|
2155
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioSubmenuComponent, decorators: [{
|
|
2156
|
+
type: Component,
|
|
2157
|
+
args: [{ selector: 'gio-submenu', template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div\n #gioSubmenu\n class=\"gio-submenu\"\n [class.gio-submenu__loaded]=\"loaded\"\n [class.gio-submenu__reduced]=\"reduced\"\n [class.gio-submenu__overlay]=\"overlayOptions.open\"\n (mouseenter)=\"onMouseEnter()\"\n (mouseleave)=\"onMouseLeave()\"\n>\n <div #title class=\"gio-submenu__title\" [class.hide]=\"!title.children.length || reduced\">\n <ng-content select=\"[gioSubmenuTitle]\"></ng-content>\n </div>\n <ng-content></ng-content>\n</div>\n", styles: [":host{z-index:100}.gio-submenu{display:none;width:266px;height:100%;flex:none;flex-direction:column;flex-grow:0;justify-content:flex-start;padding:16px;background:#100c27}.gio-submenu__reduced{position:absolute;overflow:auto;margin:0 0 0 8px;border-radius:8px;opacity:0;visibility:hidden}.gio-submenu__loaded{display:flex}.gio-submenu__overlay,.gio-submenu:hover{opacity:1;transition:opacity .15s,visibility .15s;visibility:visible}.gio-submenu__title{padding-bottom:8px;color:#fff}.gio-submenu .hide{display:none}\n"] }]
|
|
2158
|
+
}], ctorParameters: function () { return [{ type: GioMenuService }]; }, propDecorators: { gioSubmenu: [{
|
|
2159
|
+
type: ViewChild,
|
|
2160
|
+
args: ['gioSubmenu', { static: false }]
|
|
2161
|
+
}], onKeydownHandler: [{
|
|
2162
|
+
type: HostListener,
|
|
2163
|
+
args: ['keydown', ['$event']]
|
|
2164
|
+
}] } });
|
|
2165
|
+
|
|
2166
|
+
/*
|
|
2167
|
+
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
2168
|
+
*
|
|
2169
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
2170
|
+
* you may not use this file except in compliance with the License.
|
|
2171
|
+
* You may obtain a copy of the License at
|
|
2172
|
+
*
|
|
2173
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
2174
|
+
*
|
|
2175
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
2176
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
2177
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2178
|
+
* See the License for the specific language governing permissions and
|
|
2179
|
+
* limitations under the License.
|
|
2180
|
+
*/
|
|
2181
|
+
class GioSubmenuGroupComponent {
|
|
2182
|
+
constructor() {
|
|
2183
|
+
this.title = '';
|
|
2184
|
+
}
|
|
2185
|
+
}
|
|
2186
|
+
GioSubmenuGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioSubmenuGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2187
|
+
GioSubmenuGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioSubmenuGroupComponent, selector: "gio-submenu-group", inputs: { title: "title" }, ngImport: i0, template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-submenu-group\">\n <div class=\"gio-submenu-group__title\">{{ title }}</div>\n <ng-content></ng-content>\n</div>\n", styles: [".gio-submenu-group{display:flex;flex-direction:column;margin-top:8px}.gio-submenu-group__title{height:36px;padding:8px 12px;margin:1px 0;border-radius:4px;color:#8e8f9c;letter-spacing:.4px}\n"] });
|
|
2188
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioSubmenuGroupComponent, decorators: [{
|
|
2189
|
+
type: Component,
|
|
2190
|
+
args: [{ selector: 'gio-submenu-group', template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-submenu-group\">\n <div class=\"gio-submenu-group__title\">{{ title }}</div>\n <ng-content></ng-content>\n</div>\n", styles: [".gio-submenu-group{display:flex;flex-direction:column;margin-top:8px}.gio-submenu-group__title{height:36px;padding:8px 12px;margin:1px 0;border-radius:4px;color:#8e8f9c;letter-spacing:.4px}\n"] }]
|
|
2191
|
+
}], propDecorators: { title: [{
|
|
2192
|
+
type: Input
|
|
2193
|
+
}] } });
|
|
2194
|
+
|
|
2195
|
+
/*
|
|
2196
|
+
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
2197
|
+
*
|
|
2198
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
2199
|
+
* you may not use this file except in compliance with the License.
|
|
2200
|
+
* You may obtain a copy of the License at
|
|
2201
|
+
*
|
|
2202
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
2203
|
+
*
|
|
2204
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
2205
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
2206
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2207
|
+
* See the License for the specific language governing permissions and
|
|
2208
|
+
* limitations under the License.
|
|
2209
|
+
*/
|
|
2210
|
+
class GioSubmenuItemComponent {
|
|
2211
|
+
constructor() {
|
|
2212
|
+
this.active = false;
|
|
2213
|
+
}
|
|
2214
|
+
onKeydownHandler(event) {
|
|
2215
|
+
if (event.key === 'Enter') {
|
|
2216
|
+
this.gioSubmenuItem?.nativeElement.click();
|
|
2217
|
+
}
|
|
2218
|
+
}
|
|
2219
|
+
}
|
|
2220
|
+
GioSubmenuItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioSubmenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2221
|
+
GioSubmenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioSubmenuItemComponent, selector: "gio-submenu-item", inputs: { active: "active" }, host: { listeners: { "keydown": "onKeydownHandler($event)" } }, viewQueries: [{ propertyName: "gioSubmenuItem", first: true, predicate: ["gioSubmenuItem"], descendants: true }], ngImport: i0, template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div #gioSubmenuItem class=\"gio-submenu-item\" [class.gio-submenu-item__active]=\"active\">\n <span class=\"gio-submenu-item__title\"><ng-content></ng-content></span>\n</div>\n", styles: [":host{display:block}.gio-submenu-item{width:234px;height:36px;flex:none;flex-grow:0;order:2;padding:8px 12px;margin:1px 0;border-radius:4px;cursor:pointer}.gio-submenu-item__active{background:#494b61}.gio-submenu-item__title{width:37px;height:20px;flex:none;flex-grow:0;color:#fff;letter-spacing:.4px}:host-context(.gio-submenu-group) .gio-submenu-item{padding:8px 20px}.gio-submenu-item:hover:not(.gio-submenu-item__active){background:#33354d}\n"] });
|
|
2222
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioSubmenuItemComponent, decorators: [{
|
|
2223
|
+
type: Component,
|
|
2224
|
+
args: [{ selector: 'gio-submenu-item', template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div #gioSubmenuItem class=\"gio-submenu-item\" [class.gio-submenu-item__active]=\"active\">\n <span class=\"gio-submenu-item__title\"><ng-content></ng-content></span>\n</div>\n", styles: [":host{display:block}.gio-submenu-item{width:234px;height:36px;flex:none;flex-grow:0;order:2;padding:8px 12px;margin:1px 0;border-radius:4px;cursor:pointer}.gio-submenu-item__active{background:#494b61}.gio-submenu-item__title{width:37px;height:20px;flex:none;flex-grow:0;color:#fff;letter-spacing:.4px}:host-context(.gio-submenu-group) .gio-submenu-item{padding:8px 20px}.gio-submenu-item:hover:not(.gio-submenu-item__active){background:#33354d}\n"] }]
|
|
2225
|
+
}], propDecorators: { active: [{
|
|
2226
|
+
type: Input
|
|
2227
|
+
}], gioSubmenuItem: [{
|
|
2228
|
+
type: ViewChild,
|
|
2229
|
+
args: ['gioSubmenuItem', { static: false }]
|
|
2230
|
+
}], onKeydownHandler: [{
|
|
2231
|
+
type: HostListener,
|
|
2232
|
+
args: ['keydown', ['$event']]
|
|
2233
|
+
}] } });
|
|
2234
|
+
|
|
2235
|
+
/*
|
|
2236
|
+
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
2237
|
+
*
|
|
2238
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
2239
|
+
* you may not use this file except in compliance with the License.
|
|
2240
|
+
* You may obtain a copy of the License at
|
|
2241
|
+
*
|
|
2242
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
2243
|
+
*
|
|
2244
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
2245
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
2246
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2247
|
+
* See the License for the specific language governing permissions and
|
|
2248
|
+
* limitations under the License.
|
|
2249
|
+
*/
|
|
2250
|
+
class GioSubmenuModule {
|
|
2251
|
+
}
|
|
2252
|
+
GioSubmenuModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioSubmenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2253
|
+
GioSubmenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioSubmenuModule, declarations: [GioSubmenuComponent, GioSubmenuGroupComponent, GioSubmenuItemComponent, GioSubmenuTitleDirective], imports: [CommonModule, MatIconModule, GioIconsModule], exports: [GioSubmenuComponent, GioSubmenuGroupComponent, GioSubmenuItemComponent, GioSubmenuTitleDirective] });
|
|
2254
|
+
GioSubmenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioSubmenuModule, imports: [[CommonModule, MatIconModule, GioIconsModule]] });
|
|
2255
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioSubmenuModule, decorators: [{
|
|
2256
|
+
type: NgModule,
|
|
2257
|
+
args: [{
|
|
2258
|
+
declarations: [GioSubmenuComponent, GioSubmenuGroupComponent, GioSubmenuItemComponent, GioSubmenuTitleDirective],
|
|
2259
|
+
exports: [GioSubmenuComponent, GioSubmenuGroupComponent, GioSubmenuItemComponent, GioSubmenuTitleDirective],
|
|
2260
|
+
imports: [CommonModule, MatIconModule, GioIconsModule],
|
|
2261
|
+
}]
|
|
2262
|
+
}] });
|
|
2263
|
+
|
|
2264
|
+
/*
|
|
2265
|
+
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
2266
|
+
*
|
|
2267
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
2268
|
+
* you may not use this file except in compliance with the License.
|
|
2269
|
+
* You may obtain a copy of the License at
|
|
2270
|
+
*
|
|
2271
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
2272
|
+
*
|
|
2273
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
2274
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
2275
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2276
|
+
* See the License for the specific language governing permissions and
|
|
2277
|
+
* limitations under the License.
|
|
2278
|
+
*/
|
|
2279
|
+
|
|
2280
|
+
/*
|
|
2281
|
+
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
2282
|
+
*
|
|
2283
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
2284
|
+
* you may not use this file except in compliance with the License.
|
|
2285
|
+
* You may obtain a copy of the License at
|
|
2286
|
+
*
|
|
2287
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
2288
|
+
*
|
|
2289
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
2290
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
2291
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2292
|
+
* See the License for the specific language governing permissions and
|
|
2293
|
+
* limitations under the License.
|
|
2294
|
+
*/
|
|
2295
|
+
class GioTopBarComponent {
|
|
2296
|
+
constructor() {
|
|
2297
|
+
this.type = 'am';
|
|
2298
|
+
this.productName = '';
|
|
2299
|
+
}
|
|
2300
|
+
}
|
|
2301
|
+
GioTopBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioTopBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2302
|
+
GioTopBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioTopBarComponent, selector: "gio-top-bar", inputs: { type: "type", productName: "productName" }, ngImport: i0, template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-top-bar\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{width:100%}::ng-deep gio-top-bar .mat-icon-button{width:36px;height:36px;border-radius:4px;line-height:36px}::ng-deep gio-top-bar .mat-icon-button:hover{background:#33354d}.gio-top-bar{display:flex;align-items:center;padding:16px;background:#1c1e39;color:#f7f8fd;gap:18px}\n"] });
|
|
2303
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioTopBarComponent, decorators: [{
|
|
2304
|
+
type: Component,
|
|
2305
|
+
args: [{ selector: 'gio-top-bar', template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-top-bar\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{width:100%}::ng-deep gio-top-bar .mat-icon-button{width:36px;height:36px;border-radius:4px;line-height:36px}::ng-deep gio-top-bar .mat-icon-button:hover{background:#33354d}.gio-top-bar{display:flex;align-items:center;padding:16px;background:#1c1e39;color:#f7f8fd;gap:18px}\n"] }]
|
|
2306
|
+
}], propDecorators: { type: [{
|
|
2307
|
+
type: Input
|
|
2308
|
+
}], productName: [{
|
|
2309
|
+
type: Input
|
|
2310
|
+
}] } });
|
|
2311
|
+
|
|
2312
|
+
/*
|
|
2313
|
+
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
2314
|
+
*
|
|
2315
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
2316
|
+
* you may not use this file except in compliance with the License.
|
|
2317
|
+
* You may obtain a copy of the License at
|
|
2318
|
+
*
|
|
2319
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
2320
|
+
*
|
|
2321
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
2322
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
2323
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2324
|
+
* See the License for the specific language governing permissions and
|
|
2325
|
+
* limitations under the License.
|
|
2326
|
+
*/
|
|
2327
|
+
class GioTopBarContentComponent {
|
|
2328
|
+
constructor() {
|
|
2329
|
+
this.type = 'am';
|
|
2330
|
+
this.productName = 'Access Management';
|
|
2331
|
+
}
|
|
2332
|
+
}
|
|
2333
|
+
GioTopBarContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioTopBarContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2334
|
+
GioTopBarContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioTopBarContentComponent, selector: "gio-top-bar-content", inputs: { type: "type", productName: "productName" }, ngImport: i0, template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-top-bar-content\" [class]=\"type\">\n <mat-icon [svgIcon]=\"'gio:product-' + type\"></mat-icon>\n <span>{{ productName }}</span>\n</div>\n", styles: [".gio-top-bar-content{display:flex;height:36px;align-items:center;padding:8px 12px;border-radius:4px;gap:12px;font:600 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.gio-top-bar-content.am{background:rgba(236,72,153,.4);color:#fff}.gio-top-bar-content.apim{background:rgba(0,111,185,.5);color:#fff}.gio-top-bar-content.cockpit{background:rgba(135,111,236,.4);color:#fff}\n"], components: [{ type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
|
|
2335
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioTopBarContentComponent, decorators: [{
|
|
2336
|
+
type: Component,
|
|
2337
|
+
args: [{ selector: 'gio-top-bar-content', template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-top-bar-content\" [class]=\"type\">\n <mat-icon [svgIcon]=\"'gio:product-' + type\"></mat-icon>\n <span>{{ productName }}</span>\n</div>\n", styles: [".gio-top-bar-content{display:flex;height:36px;align-items:center;padding:8px 12px;border-radius:4px;gap:12px;font:600 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.gio-top-bar-content.am{background:rgba(236,72,153,.4);color:#fff}.gio-top-bar-content.apim{background:rgba(0,111,185,.5);color:#fff}.gio-top-bar-content.cockpit{background:rgba(135,111,236,.4);color:#fff}\n"] }]
|
|
2338
|
+
}], propDecorators: { type: [{
|
|
2339
|
+
type: Input
|
|
2340
|
+
}], productName: [{
|
|
2341
|
+
type: Input
|
|
2342
|
+
}] } });
|
|
2343
|
+
|
|
2344
|
+
/*
|
|
2345
|
+
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
2346
|
+
*
|
|
2347
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
2348
|
+
* you may not use this file except in compliance with the License.
|
|
2349
|
+
* You may obtain a copy of the License at
|
|
2350
|
+
*
|
|
2351
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
2352
|
+
*
|
|
2353
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
2354
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
2355
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2356
|
+
* See the License for the specific language governing permissions and
|
|
2357
|
+
* limitations under the License.
|
|
2358
|
+
*/
|
|
2359
|
+
class GioTopBarModule {
|
|
2360
|
+
}
|
|
2361
|
+
GioTopBarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioTopBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2362
|
+
GioTopBarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioTopBarModule, declarations: [GioTopBarComponent, GioTopBarContentComponent], imports: [CommonModule, MatIconModule, GioIconsModule], exports: [GioTopBarComponent, GioTopBarContentComponent] });
|
|
2363
|
+
GioTopBarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioTopBarModule, imports: [[CommonModule, MatIconModule, GioIconsModule]] });
|
|
2364
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioTopBarModule, decorators: [{
|
|
2365
|
+
type: NgModule,
|
|
2366
|
+
args: [{
|
|
2367
|
+
declarations: [GioTopBarComponent, GioTopBarContentComponent],
|
|
2368
|
+
exports: [GioTopBarComponent, GioTopBarContentComponent],
|
|
2369
|
+
imports: [CommonModule, MatIconModule, GioIconsModule],
|
|
2370
|
+
}]
|
|
2371
|
+
}] });
|
|
2372
|
+
|
|
2373
|
+
/*
|
|
2374
|
+
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
2375
|
+
*
|
|
2376
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
2377
|
+
* you may not use this file except in compliance with the License.
|
|
2378
|
+
* You may obtain a copy of the License at
|
|
2379
|
+
*
|
|
2380
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
2381
|
+
*
|
|
2382
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
2383
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
2384
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2385
|
+
* See the License for the specific language governing permissions and
|
|
2386
|
+
* limitations under the License.
|
|
2387
|
+
*/
|
|
2388
|
+
class GioTopBarMenuComponent {
|
|
2389
|
+
}
|
|
2390
|
+
GioTopBarMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioTopBarMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2391
|
+
GioTopBarMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioTopBarMenuComponent, selector: "gio-top-bar-menu", ngImport: i0, template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-top-bar-menu\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{flex-grow:1}.gio-top-bar-menu{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:8px}\n"] });
|
|
2392
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioTopBarMenuComponent, decorators: [{
|
|
2393
|
+
type: Component,
|
|
2394
|
+
args: [{ selector: 'gio-top-bar-menu', template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-top-bar-menu\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{flex-grow:1}.gio-top-bar-menu{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:8px}\n"] }]
|
|
2395
|
+
}] });
|
|
2396
|
+
|
|
2397
|
+
/*
|
|
2398
|
+
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
2399
|
+
*
|
|
2400
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
2401
|
+
* you may not use this file except in compliance with the License.
|
|
2402
|
+
* You may obtain a copy of the License at
|
|
2403
|
+
*
|
|
2404
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
2405
|
+
*
|
|
2406
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
2407
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
2408
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2409
|
+
* See the License for the specific language governing permissions and
|
|
2410
|
+
* limitations under the License.
|
|
2411
|
+
*/
|
|
2412
|
+
class GioTopBarMenuModule {
|
|
2413
|
+
}
|
|
2414
|
+
GioTopBarMenuModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioTopBarMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2415
|
+
GioTopBarMenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioTopBarMenuModule, declarations: [GioTopBarMenuComponent], imports: [CommonModule], exports: [GioTopBarMenuComponent] });
|
|
2416
|
+
GioTopBarMenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioTopBarMenuModule, imports: [[CommonModule]] });
|
|
2417
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioTopBarMenuModule, decorators: [{
|
|
2418
|
+
type: NgModule,
|
|
2419
|
+
args: [{
|
|
2420
|
+
declarations: [GioTopBarMenuComponent],
|
|
2421
|
+
exports: [GioTopBarMenuComponent],
|
|
2422
|
+
imports: [CommonModule],
|
|
2423
|
+
}]
|
|
2424
|
+
}] });
|
|
2425
|
+
|
|
2426
|
+
/*
|
|
2427
|
+
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
2428
|
+
*
|
|
2429
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
2430
|
+
* you may not use this file except in compliance with the License.
|
|
2431
|
+
* You may obtain a copy of the License at
|
|
2432
|
+
*
|
|
2433
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
2434
|
+
*
|
|
2435
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
2436
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
2437
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2438
|
+
* See the License for the specific language governing permissions and
|
|
2439
|
+
* limitations under the License.
|
|
2440
|
+
*/
|
|
2441
|
+
class GioTopBarLinkComponent {
|
|
2442
|
+
constructor() {
|
|
2443
|
+
this.url = '';
|
|
2444
|
+
this.name = '';
|
|
2445
|
+
}
|
|
2446
|
+
}
|
|
2447
|
+
GioTopBarLinkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioTopBarLinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2448
|
+
GioTopBarLinkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioTopBarLinkComponent, selector: "gio-top-bar-link", inputs: { url: "url", name: "name" }, ngImport: i0, template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<a mat-button [href]=\"url\" target=\"_blank\" class=\"gio-top-bar-link\">\n <div class=\"gio-top-bar-link__content\">\n <span>{{ name }}</span>\n <mat-icon svgIcon=\"gio:external-link\"></mat-icon>\n </div>\n</a>\n", styles: [":host{display:block}.gio-top-bar-link{font:600 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;height:20px;color:#f7f8fd;letter-spacing:.4px;text-decoration:none}.gio-top-bar-link__content{display:flex;align-items:center;gap:8px}.gio-top-bar-link__content mat-icon{width:12px}\n"], components: [{ type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
|
|
2449
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioTopBarLinkComponent, decorators: [{
|
|
2450
|
+
type: Component,
|
|
2451
|
+
args: [{ selector: 'gio-top-bar-link', template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<a mat-button [href]=\"url\" target=\"_blank\" class=\"gio-top-bar-link\">\n <div class=\"gio-top-bar-link__content\">\n <span>{{ name }}</span>\n <mat-icon svgIcon=\"gio:external-link\"></mat-icon>\n </div>\n</a>\n", styles: [":host{display:block}.gio-top-bar-link{font:600 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;height:20px;color:#f7f8fd;letter-spacing:.4px;text-decoration:none}.gio-top-bar-link__content{display:flex;align-items:center;gap:8px}.gio-top-bar-link__content mat-icon{width:12px}\n"] }]
|
|
2452
|
+
}], propDecorators: { url: [{
|
|
2453
|
+
type: Input
|
|
2454
|
+
}], name: [{
|
|
2455
|
+
type: Input
|
|
2456
|
+
}] } });
|
|
2457
|
+
|
|
2458
|
+
/*
|
|
2459
|
+
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
2460
|
+
*
|
|
2461
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
2462
|
+
* you may not use this file except in compliance with the License.
|
|
2463
|
+
* You may obtain a copy of the License at
|
|
2464
|
+
*
|
|
2465
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
2466
|
+
*
|
|
2467
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
2468
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
2469
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2470
|
+
* See the License for the specific language governing permissions and
|
|
2471
|
+
* limitations under the License.
|
|
2472
|
+
*/
|
|
2473
|
+
class GioTopBarLinkModule {
|
|
2474
|
+
}
|
|
2475
|
+
GioTopBarLinkModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioTopBarLinkModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2476
|
+
GioTopBarLinkModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioTopBarLinkModule, declarations: [GioTopBarLinkComponent], imports: [CommonModule, MatIconModule, GioIconsModule], exports: [GioTopBarLinkComponent] });
|
|
2477
|
+
GioTopBarLinkModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioTopBarLinkModule, imports: [[CommonModule, MatIconModule, GioIconsModule]] });
|
|
2478
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioTopBarLinkModule, decorators: [{
|
|
2479
|
+
type: NgModule,
|
|
2480
|
+
args: [{
|
|
2481
|
+
declarations: [GioTopBarLinkComponent],
|
|
2482
|
+
exports: [GioTopBarLinkComponent],
|
|
2483
|
+
imports: [CommonModule, MatIconModule, GioIconsModule],
|
|
2484
|
+
}]
|
|
2485
|
+
}] });
|
|
2486
|
+
|
|
2487
|
+
/*
|
|
2488
|
+
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
2489
|
+
*
|
|
2490
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
2491
|
+
* you may not use this file except in compliance with the License.
|
|
2492
|
+
* You may obtain a copy of the License at
|
|
2493
|
+
*
|
|
2494
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
2495
|
+
*
|
|
2496
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
2497
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
2498
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2499
|
+
* See the License for the specific language governing permissions and
|
|
2500
|
+
* limitations under the License.
|
|
2501
|
+
*/
|
|
2502
|
+
|
|
2503
|
+
/*
|
|
2504
|
+
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
2505
|
+
*
|
|
2506
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
2507
|
+
* you may not use this file except in compliance with the License.
|
|
2508
|
+
* You may obtain a copy of the License at
|
|
2509
|
+
*
|
|
2510
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
2511
|
+
*
|
|
2512
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
2513
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
2514
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2515
|
+
* See the License for the specific language governing permissions and
|
|
2516
|
+
* limitations under the License.
|
|
2517
|
+
*/
|
|
2518
|
+
class GioAvatarComponent {
|
|
2519
|
+
constructor(hostEl) {
|
|
2520
|
+
this.hostEl = hostEl;
|
|
2521
|
+
this.imgSrc = null;
|
|
2522
|
+
this.name = '';
|
|
2523
|
+
this.roundedBorder = false;
|
|
2524
|
+
this.width = this.size;
|
|
2525
|
+
this.height = this.size;
|
|
2526
|
+
this.defaultSize = Math.min(Number(this.hostEl.nativeElement.offsetWidth), Number(this.hostEl.nativeElement.offsetHeight)) || 110;
|
|
2527
|
+
}
|
|
2528
|
+
set src(src) {
|
|
2529
|
+
this.imgSrc = src || null;
|
|
2530
|
+
}
|
|
2531
|
+
ngOnChanges() {
|
|
2532
|
+
this.finalSize = this.size || this.defaultSize;
|
|
2533
|
+
}
|
|
2534
|
+
ngAfterViewInit() {
|
|
2535
|
+
if (this.imgSrc != null) {
|
|
2536
|
+
return;
|
|
2537
|
+
}
|
|
2538
|
+
if (this.avatarContainerEleRef) {
|
|
2539
|
+
this.avatarContainerEleRef.nativeElement.innerHTML = toSvg(this.name, this.finalSize, { backColor: '#FFF', padding: 0 });
|
|
2540
|
+
}
|
|
2541
|
+
}
|
|
2542
|
+
onImgError() {
|
|
2543
|
+
this.imgSrc = null;
|
|
2544
|
+
this.ngAfterViewInit();
|
|
2545
|
+
}
|
|
2546
|
+
}
|
|
2547
|
+
GioAvatarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioAvatarComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
2548
|
+
GioAvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioAvatarComponent, selector: "gio-avatar", inputs: { src: "src", name: "name", size: "size", roundedBorder: "roundedBorder" }, host: { properties: { "style.width.px": "this.width", "style.height.px": "this.height" } }, viewQueries: [{ propertyName: "avatarContainerEleRef", first: true, predicate: ["avatarContainer"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div #avatarContainer class=\"gio-avatar\" [class.rounded]=\"roundedBorder\">\n <img *ngIf=\"imgSrc\" class=\"gio-avatar__img\" [src]=\"imgSrc\" alt=\"Avatar picture\" [width]=\"finalSize\" (error)=\"onImgError()\" />\n</div>\n", styles: [":host{position:relative;display:block}.rounded{border-radius:50%}.gio-avatar{width:100%;height:100%}.gio-avatar.rounded img{border-radius:50%;object-fit:cover}::ng-deep gio-avatar .gio-avatar.rounded svg{border-radius:50%}\n"], directives: [{ type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
2549
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioAvatarComponent, decorators: [{
|
|
2550
|
+
type: Component,
|
|
2551
|
+
args: [{ selector: 'gio-avatar', template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div #avatarContainer class=\"gio-avatar\" [class.rounded]=\"roundedBorder\">\n <img *ngIf=\"imgSrc\" class=\"gio-avatar__img\" [src]=\"imgSrc\" alt=\"Avatar picture\" [width]=\"finalSize\" (error)=\"onImgError()\" />\n</div>\n", styles: [":host{position:relative;display:block}.rounded{border-radius:50%}.gio-avatar{width:100%;height:100%}.gio-avatar.rounded img{border-radius:50%;object-fit:cover}::ng-deep gio-avatar .gio-avatar.rounded svg{border-radius:50%}\n"] }]
|
|
2552
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { src: [{
|
|
2553
|
+
type: Input
|
|
2554
|
+
}], name: [{
|
|
2555
|
+
type: Input
|
|
2556
|
+
}], size: [{
|
|
2557
|
+
type: Input
|
|
2558
|
+
}], roundedBorder: [{
|
|
2559
|
+
type: Input
|
|
2560
|
+
}], avatarContainerEleRef: [{
|
|
2561
|
+
type: ViewChild,
|
|
2562
|
+
args: ['avatarContainer']
|
|
2563
|
+
}], width: [{
|
|
2564
|
+
type: HostBinding,
|
|
2565
|
+
args: ['style.width.px']
|
|
2566
|
+
}], height: [{
|
|
2567
|
+
type: HostBinding,
|
|
2568
|
+
args: ['style.height.px']
|
|
2569
|
+
}] } });
|
|
2570
|
+
|
|
2571
|
+
/*
|
|
2572
|
+
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
2573
|
+
*
|
|
2574
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
2575
|
+
* you may not use this file except in compliance with the License.
|
|
2576
|
+
* You may obtain a copy of the License at
|
|
2577
|
+
*
|
|
2578
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
2579
|
+
*
|
|
2580
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
2581
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
2582
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2583
|
+
* See the License for the specific language governing permissions and
|
|
2584
|
+
* limitations under the License.
|
|
2585
|
+
*/
|
|
2586
|
+
class GioAvatarModule {
|
|
2587
|
+
}
|
|
2588
|
+
GioAvatarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioAvatarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2589
|
+
GioAvatarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioAvatarModule, declarations: [GioAvatarComponent], imports: [CommonModule], exports: [GioAvatarComponent] });
|
|
2590
|
+
GioAvatarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioAvatarModule, imports: [[CommonModule]] });
|
|
2591
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioAvatarModule, decorators: [{
|
|
2592
|
+
type: NgModule,
|
|
2593
|
+
args: [{
|
|
2594
|
+
imports: [CommonModule],
|
|
2595
|
+
declarations: [GioAvatarComponent],
|
|
2596
|
+
exports: [GioAvatarComponent],
|
|
2597
|
+
}]
|
|
2598
|
+
}] });
|
|
2599
|
+
|
|
2600
|
+
/*
|
|
2601
|
+
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
2602
|
+
*
|
|
2603
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
2604
|
+
* you may not use this file except in compliance with the License.
|
|
2605
|
+
* You may obtain a copy of the License at
|
|
2606
|
+
*
|
|
2607
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
2608
|
+
*
|
|
2609
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
2610
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
2611
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2612
|
+
* See the License for the specific language governing permissions and
|
|
2613
|
+
* limitations under the License.
|
|
2614
|
+
*/
|
|
2615
|
+
|
|
2616
|
+
/*
|
|
2617
|
+
* Copyright (C) 2022 The Gravitee team (http://gravitee.io)
|
|
2618
|
+
*
|
|
2619
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
2620
|
+
* you may not use this file except in compliance with the License.
|
|
2621
|
+
* You may obtain a copy of the License at
|
|
2622
|
+
*
|
|
2623
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
2624
|
+
*
|
|
2625
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
2626
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
2627
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2628
|
+
* See the License for the specific language governing permissions and
|
|
2629
|
+
* limitations under the License.
|
|
2630
|
+
*/
|
|
2631
|
+
class GioBreadcrumbItemDirective {
|
|
2632
|
+
constructor(templateRef) {
|
|
2633
|
+
this.templateRef = templateRef;
|
|
2634
|
+
}
|
|
2635
|
+
}
|
|
2636
|
+
GioBreadcrumbItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBreadcrumbItemDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
2637
|
+
GioBreadcrumbItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: GioBreadcrumbItemDirective, selector: "[gioBreadcrumbItem]", ngImport: i0 });
|
|
2638
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBreadcrumbItemDirective, decorators: [{
|
|
2639
|
+
type: Directive,
|
|
2640
|
+
args: [{
|
|
2641
|
+
selector: '[gioBreadcrumbItem]',
|
|
2642
|
+
}]
|
|
2643
|
+
}], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
|
|
2644
|
+
|
|
2645
|
+
/*
|
|
2646
|
+
* Copyright (C) 2022 The Gravitee team (http://gravitee.io)
|
|
2647
|
+
*
|
|
2648
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
2649
|
+
* you may not use this file except in compliance with the License.
|
|
2650
|
+
* You may obtain a copy of the License at
|
|
2651
|
+
*
|
|
2652
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
2653
|
+
*
|
|
2654
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
2655
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
2656
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2657
|
+
* See the License for the specific language governing permissions and
|
|
2658
|
+
* limitations under the License.
|
|
2659
|
+
*/
|
|
2660
|
+
class GioBreadcrumbComponent {
|
|
2661
|
+
}
|
|
2662
|
+
GioBreadcrumbComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBreadcrumbComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2663
|
+
GioBreadcrumbComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioBreadcrumbComponent, selector: "gio-breadcrumb", queries: [{ propertyName: "itemDirectives", predicate: GioBreadcrumbItemDirective }], ngImport: i0, template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-breadcrumb\">\n <ng-container *ngFor=\"let item of itemDirectives; let first = first\">\n <mat-icon *ngIf=\"!first\" svgIcon=\"gio:nav-arrow-right\" class=\"gio-breadcrumb__icon\"></mat-icon>\n <ng-container *ngTemplateOutlet=\"item.templateRef\"></ng-container>\n </ng-container>\n</div>\n", styles: [".gio-breadcrumb{display:flex;flex-flow:wrap;align-items:center;margin:2px}.gio-breadcrumb__content{display:flex;align-items:center;color:#606274}.gio-breadcrumb__content:last-child{font-weight:700}.gio-breadcrumb__icon{width:12px;height:12px;margin:0 6px;color:#bbbcc4;line-height:12px}\n"], components: [{ type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
|
|
2664
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBreadcrumbComponent, decorators: [{
|
|
2665
|
+
type: Component,
|
|
2666
|
+
args: [{ selector: 'gio-breadcrumb', template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-breadcrumb\">\n <ng-container *ngFor=\"let item of itemDirectives; let first = first\">\n <mat-icon *ngIf=\"!first\" svgIcon=\"gio:nav-arrow-right\" class=\"gio-breadcrumb__icon\"></mat-icon>\n <ng-container *ngTemplateOutlet=\"item.templateRef\"></ng-container>\n </ng-container>\n</div>\n", styles: [".gio-breadcrumb{display:flex;flex-flow:wrap;align-items:center;margin:2px}.gio-breadcrumb__content{display:flex;align-items:center;color:#606274}.gio-breadcrumb__content:last-child{font-weight:700}.gio-breadcrumb__icon{width:12px;height:12px;margin:0 6px;color:#bbbcc4;line-height:12px}\n"] }]
|
|
2667
|
+
}], propDecorators: { itemDirectives: [{
|
|
2668
|
+
type: ContentChildren,
|
|
2669
|
+
args: [GioBreadcrumbItemDirective]
|
|
2670
|
+
}] } });
|
|
2671
|
+
|
|
2672
|
+
/*
|
|
2673
|
+
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
2674
|
+
*
|
|
2675
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
2676
|
+
* you may not use this file except in compliance with the License.
|
|
2677
|
+
* You may obtain a copy of the License at
|
|
2678
|
+
*
|
|
2679
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
2680
|
+
*
|
|
2681
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
2682
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
2683
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2684
|
+
* See the License for the specific language governing permissions and
|
|
2685
|
+
* limitations under the License.
|
|
2686
|
+
*/
|
|
2687
|
+
class GioBreadcrumbModule {
|
|
2688
|
+
}
|
|
2689
|
+
GioBreadcrumbModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBreadcrumbModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2690
|
+
GioBreadcrumbModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBreadcrumbModule, declarations: [GioBreadcrumbComponent, GioBreadcrumbItemDirective], imports: [CommonModule, GioIconsModule], exports: [GioBreadcrumbComponent, GioBreadcrumbItemDirective] });
|
|
2691
|
+
GioBreadcrumbModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBreadcrumbModule, imports: [[CommonModule, GioIconsModule]] });
|
|
2692
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBreadcrumbModule, decorators: [{
|
|
2693
|
+
type: NgModule,
|
|
2694
|
+
args: [{
|
|
2695
|
+
imports: [CommonModule, GioIconsModule],
|
|
2696
|
+
declarations: [GioBreadcrumbComponent, GioBreadcrumbItemDirective],
|
|
2697
|
+
exports: [GioBreadcrumbComponent, GioBreadcrumbItemDirective],
|
|
2698
|
+
}]
|
|
2699
|
+
}] });
|
|
2700
|
+
|
|
2701
|
+
/*
|
|
2702
|
+
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
2703
|
+
*
|
|
2704
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
2705
|
+
* you may not use this file except in compliance with the License.
|
|
2706
|
+
* You may obtain a copy of the License at
|
|
2707
|
+
*
|
|
2708
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
2709
|
+
*
|
|
2710
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
2711
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
2712
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2713
|
+
* See the License for the specific language governing permissions and
|
|
2714
|
+
* limitations under the License.
|
|
2715
|
+
*/
|
|
2716
|
+
|
|
2717
|
+
/*
|
|
2718
|
+
* Copyright (C) 2021 The Gravitee team (http://gravitee.io)
|
|
2719
|
+
*
|
|
2720
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
2721
|
+
* you may not use this file except in compliance with the License.
|
|
2722
|
+
* You may obtain a copy of the License at
|
|
2723
|
+
*
|
|
2724
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
2725
|
+
*
|
|
2726
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
2727
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
2728
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2729
|
+
* See the License for the specific language governing permissions and
|
|
2730
|
+
* limitations under the License.
|
|
2731
|
+
*/
|
|
2732
|
+
|
|
2733
|
+
/*
|
|
2734
|
+
* Copyright (C) 2021 The Gravitee team (http://gravitee.io)
|
|
2735
|
+
*
|
|
2736
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
2737
|
+
* you may not use this file except in compliance with the License.
|
|
2738
|
+
* You may obtain a copy of the License at
|
|
2739
|
+
*
|
|
2740
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
2741
|
+
*
|
|
2742
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
2743
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
2744
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2745
|
+
* See the License for the specific language governing permissions and
|
|
2746
|
+
* limitations under the License.
|
|
2747
|
+
*/
|
|
2748
|
+
|
|
2749
|
+
/**
|
|
2750
|
+
* Generated bundle index. Do not edit.
|
|
2751
|
+
*/
|
|
2752
|
+
|
|
2753
|
+
export { GioAvatarComponent, GioAvatarModule, GioBannerActionDirective, GioBannerBodyDirective, GioBannerComponent, GioBannerErrorComponent, GioBannerInfoComponent, GioBannerModule, GioBannerSuccessComponent, GioBannerWarningComponent, GioBreadcrumbComponent, GioBreadcrumbItemDirective, GioBreadcrumbModule, GioConfirmAndValidateDialogComponent, GioConfirmAndValidateDialogHarness, GioConfirmAndValidateDialogModule, GioConfirmDialogComponent, GioConfirmDialogHarness, GioConfirmDialogModule, GioFormFilePickerAddButtonComponent, GioFormFilePickerComponent, GioFormFilePickerEmptyComponent, GioFormFilePickerInputHarness, GioFormFilePickerLabelComponent, GioFormFilePickerModule, GioFormHeadersComponent, GioFormHeadersHarness, GioFormHeadersModule, GioFormTagsInputComponent, GioFormTagsInputHarness, GioFormTagsInputModule, GioIconsModule, GioMenuComponent, GioMenuFooterComponent, GioMenuHeaderComponent, GioMenuItemComponent, GioMenuListComponent, GioMenuModule, GioMenuSelectorComponent, GioMenuSelectorHarness, GioMenuService, GioSaveBarComponent, GioSaveBarHarness, GioSaveBarModule, GioSubmenuComponent, GioSubmenuGroupComponent, GioSubmenuItemComponent, GioSubmenuModule, GioSubmenuTitleDirective, GioTopBarComponent, GioTopBarContentComponent, GioTopBarLinkComponent, GioTopBarLinkModule, GioTopBarMenuComponent, GioTopBarMenuModule, GioTopBarModule, NewFile };
|
|
2754
|
+
//# sourceMappingURL=gravitee-ui-particles-angular.mjs.map
|