@gravitee/ui-particles-angular 5.20.1-json-schema-code-editor-569d110 → 5.20.1-sprite-icons-documentation-35a477d
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/esm2020/lib/gio-form-json-schema/gio-form-json-schema.module.mjs +6 -27
- package/esm2020/lib/gio-form-json-schema/gio-formly-json-schema.service.mjs +1 -4
- package/esm2020/lib/gio-form-json-schema/model/GioJsonSchema.mjs +1 -1
- package/esm2020/lib/gio-form-json-schema/wrappers/gio-form-field-wrapper.component.mjs +28 -0
- package/esm2020/lib/gio-monaco-editor/gio-monaco-editor.component.mjs +28 -26
- package/esm2020/lib/gio-monaco-editor/gio-monaco-editor.module.mjs +4 -5
- package/esm2020/lib/gio-monaco-editor/gio-monaco-editor.testing.component.mjs +17 -3
- package/esm2020/lib/gio-monaco-editor/services/gio-language-json.service.mjs +1 -2
- package/esm2020/lib/public-api.mjs +1 -2
- package/fesm2015/gravitee-ui-particles-angular.mjs +625 -832
- package/fesm2015/gravitee-ui-particles-angular.mjs.map +1 -1
- package/fesm2020/gravitee-ui-particles-angular.mjs +817 -1017
- package/fesm2020/gravitee-ui-particles-angular.mjs.map +1 -1
- package/lib/gio-form-json-schema/gio-form-json-schema.module.d.ts +13 -16
- package/lib/gio-form-json-schema/model/GioJsonSchema.d.ts +1 -4
- package/lib/gio-form-json-schema/wrappers/gio-form-field-wrapper.component.d.ts +6 -0
- package/lib/gio-monaco-editor/gio-monaco-editor.component.d.ts +8 -9
- package/lib/gio-monaco-editor/gio-monaco-editor.module.d.ts +4 -5
- package/lib/gio-monaco-editor/services/gio-language-json.service.d.ts +0 -1
- package/lib/public-api.d.ts +0 -1
- package/package.json +1 -1
- package/esm2020/lib/gio-form-json-schema/type-component/code-editor-type.component.mjs +0 -58
- package/esm2020/lib/gio-form-json-schema/wrappers/gio-banner-wrapper.component.mjs +0 -28
- package/esm2020/lib/gio-monaco-editor/gio-monaco-editor-form-field.directive.mjs +0 -149
- package/lib/gio-form-json-schema/type-component/code-editor-type.component.d.ts +0 -13
- package/lib/gio-form-json-schema/wrappers/gio-banner-wrapper.component.d.ts +0 -6
- package/lib/gio-monaco-editor/gio-monaco-editor-form-field.directive.d.ts +0 -45
|
@@ -13,7 +13,7 @@ import { ComponentHarness, HarnessPredicate, parallel, TestKey } from '@angular/
|
|
|
13
13
|
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
14
14
|
import * as i3$1 from '@angular/material/form-field';
|
|
15
15
|
import { MatFormFieldControl, MatFormFieldModule, MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';
|
|
16
|
-
import { isEmpty, toLower, dropRight, isNil, isArray, remove, isObject, cloneDeep,
|
|
16
|
+
import { isEmpty, toLower, dropRight, isNil, isArray, remove, isObject, cloneDeep, set, uniqueId } from 'lodash';
|
|
17
17
|
import { startWith, map, distinctUntilChanged, tap, debounce, takeUntil, delay, filter, switchMap, debounceTime } from 'rxjs/operators';
|
|
18
18
|
import * as i7 from '@angular/forms';
|
|
19
19
|
import { FormsModule, FormArray, FormGroup, FormControl, NG_VALUE_ACCESSOR, ReactiveFormsModule, NgControl } from '@angular/forms';
|
|
@@ -47,7 +47,7 @@ import { toSvg } from 'jdenticon';
|
|
|
47
47
|
import * as i1$3 from '@ngx-formly/core/json-schema';
|
|
48
48
|
import * as i1$4 from '@ngx-formly/core';
|
|
49
49
|
import { FieldType, FieldArrayType, FieldWrapper, FormlyModule } from '@ngx-formly/core';
|
|
50
|
-
import {
|
|
50
|
+
import { FormlyMaterialModule } from '@ngx-formly/material';
|
|
51
51
|
import * as i3$2 from '@angular/material/slide-toggle';
|
|
52
52
|
import { MatSlideToggle, MatSlideToggleModule } from '@angular/material/slide-toggle';
|
|
53
53
|
import { TestBed } from '@angular/core/testing';
|
|
@@ -2823,9 +2823,6 @@ class GioFormlyJsonSchemaService {
|
|
|
2823
2823
|
else if (mapSource.type === 'string' && mapSource.format === 'password') {
|
|
2824
2824
|
mappedField.props = Object.assign(Object.assign({}, mappedField.props), { type: 'password' });
|
|
2825
2825
|
}
|
|
2826
|
-
else if (mapSource.type === 'string' && mapSource.format === 'gio-code-editor') {
|
|
2827
|
-
mappedField.type = 'gio-code-editor';
|
|
2828
|
-
}
|
|
2829
2826
|
return mappedField;
|
|
2830
2827
|
}
|
|
2831
2828
|
bannerMap(mappedField, mapSource) {
|
|
@@ -3143,7 +3140,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
3143
3140
|
* See the License for the specific language governing permissions and
|
|
3144
3141
|
* limitations under the License.
|
|
3145
3142
|
*/
|
|
3146
|
-
|
|
3143
|
+
class GioFjsNullTypeComponent extends FieldType {
|
|
3144
|
+
}
|
|
3145
|
+
GioFjsNullTypeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFjsNullTypeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
3146
|
+
GioFjsNullTypeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioFjsNullTypeComponent, selector: "gio-fjs-null-type", usesInheritance: true, ngImport: i0, template: ``, isInline: true });
|
|
3147
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFjsNullTypeComponent, decorators: [{
|
|
3148
|
+
type: Component,
|
|
3149
|
+
args: [{
|
|
3150
|
+
selector: 'gio-fjs-null-type',
|
|
3151
|
+
template: ``,
|
|
3152
|
+
}]
|
|
3153
|
+
}] });
|
|
3147
3154
|
|
|
3148
3155
|
/*
|
|
3149
3156
|
* Copyright (C) 2023 The Gravitee team (http://gravitee.io)
|
|
@@ -3160,53 +3167,39 @@ const GIO_MONACO_EDITOR_CONFIG = new InjectionToken('gio-monaco-editor-config');
|
|
|
3160
3167
|
* See the License for the specific language governing permissions and
|
|
3161
3168
|
* limitations under the License.
|
|
3162
3169
|
*/
|
|
3163
|
-
class
|
|
3164
|
-
constructor() {
|
|
3165
|
-
this.loaded$ = new ReplaySubject(1);
|
|
3166
|
-
this.loaded = false;
|
|
3167
|
-
}
|
|
3168
|
-
loadEditor() {
|
|
3169
|
-
if (this.loaded) {
|
|
3170
|
-
// Already loaded, do nothing.
|
|
3171
|
-
return Promise.resolve();
|
|
3172
|
-
}
|
|
3173
|
-
this.loaded = true;
|
|
3174
|
-
return new Promise(resolve => {
|
|
3175
|
-
// Monaco is already loaded
|
|
3176
|
-
if (typeof window.monaco === 'object') {
|
|
3177
|
-
resolve();
|
|
3178
|
-
return;
|
|
3179
|
-
}
|
|
3180
|
-
const onGotAmdLoader = () => {
|
|
3181
|
-
// Load Monaco
|
|
3182
|
-
window.require.config({ paths: { vs: 'assets/monaco-editor/min/vs' } });
|
|
3183
|
-
window.require(['vs/editor/editor.main'], () => {
|
|
3184
|
-
resolve();
|
|
3185
|
-
});
|
|
3186
|
-
};
|
|
3187
|
-
// Load AMD loader if necessary
|
|
3188
|
-
if (!window.require) {
|
|
3189
|
-
const loaderScript = document.createElement('script');
|
|
3190
|
-
loaderScript.type = 'text/javascript';
|
|
3191
|
-
loaderScript.src = 'assets/monaco-editor/min/vs/loader.js';
|
|
3192
|
-
loaderScript.addEventListener('load', onGotAmdLoader);
|
|
3193
|
-
document.body.appendChild(loaderScript);
|
|
3194
|
-
}
|
|
3195
|
-
else {
|
|
3196
|
-
onGotAmdLoader();
|
|
3197
|
-
}
|
|
3198
|
-
}).then(() => {
|
|
3199
|
-
this.loaded$.next({ monaco: window.monaco });
|
|
3200
|
-
});
|
|
3201
|
-
}
|
|
3170
|
+
class GioFjsObjectTypeComponent extends FieldType {
|
|
3202
3171
|
}
|
|
3203
|
-
|
|
3204
|
-
|
|
3205
|
-
|
|
3206
|
-
|
|
3207
|
-
|
|
3208
|
-
|
|
3209
|
-
|
|
3172
|
+
GioFjsObjectTypeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFjsObjectTypeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
3173
|
+
GioFjsObjectTypeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioFjsObjectTypeComponent, selector: "gio-fjs-object-type", usesInheritance: true, ngImport: i0, template: `
|
|
3174
|
+
<div class="wrapper">
|
|
3175
|
+
<div class="wrapper__title" *ngIf="to.label">{{ to.label }}</div>
|
|
3176
|
+
<p *ngIf="to.description">{{ to.description }}</p>
|
|
3177
|
+
<div class="wrapper__error gio-ng-invalid" *ngIf="showError && formControl.errors">
|
|
3178
|
+
<formly-validation-message [field]="field"></formly-validation-message>
|
|
3179
|
+
</div>
|
|
3180
|
+
<div class="wrapper__fields">
|
|
3181
|
+
<ng-container *ngFor="let f of field.fieldGroup">
|
|
3182
|
+
<formly-field *ngIf="f.type" class="wrapper__fields__field" [field]="f"></formly-field>
|
|
3183
|
+
</ng-container>
|
|
3184
|
+
</div>
|
|
3185
|
+
</div>
|
|
3186
|
+
`, isInline: true, styles: [".wrapper{display:flex;flex-direction:column}.wrapper__title{font:600 18px/24px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px;margin-bottom:16px}.wrapper:empty{display:none}.wrapper__error{font:400 12px/16px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;color:#ec4899}.wrapper__fields{padding:8px;border:1px solid #d3d5dc;border-radius:8px}.wrapper__fields:empty{display:none}.wrapper__fields:has(> .wrapper__fields__field:only-child):has(> .wrapper__fields__field:empty){display:none}.wrapper__fields__field:empty{display:none}.wrapper__fields__field+.wrapper__fields__field:not(:empty){display:block;margin-top:8px}\n"], components: [{ type: i1$4.ɵFormlyValidationMessage, selector: "formly-validation-message", inputs: ["field"] }, { type: i1$4.FormlyField, selector: "formly-field", inputs: ["field"] }], directives: [{ type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
3187
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFjsObjectTypeComponent, decorators: [{
|
|
3188
|
+
type: Component,
|
|
3189
|
+
args: [{ selector: 'gio-fjs-object-type', template: `
|
|
3190
|
+
<div class="wrapper">
|
|
3191
|
+
<div class="wrapper__title" *ngIf="to.label">{{ to.label }}</div>
|
|
3192
|
+
<p *ngIf="to.description">{{ to.description }}</p>
|
|
3193
|
+
<div class="wrapper__error gio-ng-invalid" *ngIf="showError && formControl.errors">
|
|
3194
|
+
<formly-validation-message [field]="field"></formly-validation-message>
|
|
3195
|
+
</div>
|
|
3196
|
+
<div class="wrapper__fields">
|
|
3197
|
+
<ng-container *ngFor="let f of field.fieldGroup">
|
|
3198
|
+
<formly-field *ngIf="f.type" class="wrapper__fields__field" [field]="f"></formly-field>
|
|
3199
|
+
</ng-container>
|
|
3200
|
+
</div>
|
|
3201
|
+
</div>
|
|
3202
|
+
`, styles: [".wrapper{display:flex;flex-direction:column}.wrapper__title{font:600 18px/24px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px;margin-bottom:16px}.wrapper:empty{display:none}.wrapper__error{font:400 12px/16px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;color:#ec4899}.wrapper__fields{padding:8px;border:1px solid #d3d5dc;border-radius:8px}.wrapper__fields:empty{display:none}.wrapper__fields:has(> .wrapper__fields__field:only-child):has(> .wrapper__fields__field:empty){display:none}.wrapper__fields__field:empty{display:none}.wrapper__fields__field+.wrapper__fields__field:not(:empty){display:block;margin-top:8px}\n"] }]
|
|
3210
3203
|
}] });
|
|
3211
3204
|
|
|
3212
3205
|
/*
|
|
@@ -3224,54 +3217,128 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
3224
3217
|
* See the License for the specific language governing permissions and
|
|
3225
3218
|
* limitations under the License.
|
|
3226
3219
|
*/
|
|
3227
|
-
class
|
|
3228
|
-
constructor(
|
|
3229
|
-
|
|
3230
|
-
this.
|
|
3231
|
-
codeEditorService.loaded$.pipe(takeUntil(this.unsubscribe$)).subscribe(event => {
|
|
3232
|
-
this.setup(event.monaco);
|
|
3233
|
-
});
|
|
3234
|
-
}
|
|
3235
|
-
ngOnDestroy() {
|
|
3236
|
-
this.unsubscribe$.next();
|
|
3237
|
-
this.unsubscribe$.complete();
|
|
3238
|
-
}
|
|
3239
|
-
setup(monaco) {
|
|
3240
|
-
if (!monaco) {
|
|
3241
|
-
throw new Error('Monaco is not loaded');
|
|
3242
|
-
}
|
|
3243
|
-
this.monaco = monaco;
|
|
3244
|
-
const defaults = monaco.languages.json.jsonDefaults;
|
|
3245
|
-
defaults.setDiagnosticsOptions({
|
|
3246
|
-
validate: true,
|
|
3247
|
-
allowComments: true,
|
|
3248
|
-
});
|
|
3249
|
-
}
|
|
3250
|
-
addSchemas(id, definitions = []) {
|
|
3251
|
-
if (!this.monaco) {
|
|
3252
|
-
throw new Error('Monaco is not loaded');
|
|
3253
|
-
}
|
|
3254
|
-
const defaults = this.monaco.languages.json.jsonDefaults;
|
|
3255
|
-
const options = defaults.diagnosticsOptions;
|
|
3256
|
-
let schemas = definitions.map(({ uri, schema }) => ({
|
|
3257
|
-
uri,
|
|
3258
|
-
schema,
|
|
3259
|
-
fileMatch: [id || '*.json'],
|
|
3260
|
-
}));
|
|
3261
|
-
if (options && options.schemas && options.schemas.length > 0) {
|
|
3262
|
-
schemas = [...options.schemas, ...schemas];
|
|
3263
|
-
}
|
|
3264
|
-
defaults.setDiagnosticsOptions(Object.assign(Object.assign({}, options), { schemas: schemas }));
|
|
3220
|
+
class GioFjsArrayTypeComponent extends FieldArrayType {
|
|
3221
|
+
constructor() {
|
|
3222
|
+
super(...arguments);
|
|
3223
|
+
this.collapse = false;
|
|
3265
3224
|
}
|
|
3266
3225
|
}
|
|
3267
|
-
|
|
3268
|
-
|
|
3269
|
-
|
|
3270
|
-
|
|
3271
|
-
|
|
3272
|
-
|
|
3273
|
-
|
|
3274
|
-
|
|
3226
|
+
GioFjsArrayTypeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFjsArrayTypeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
3227
|
+
GioFjsArrayTypeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioFjsArrayTypeComponent, selector: "gio-fjs-array-type", usesInheritance: true, ngImport: i0, template: `
|
|
3228
|
+
<div class="wrapper" [class.error]="formControl.touched && formControl.invalid">
|
|
3229
|
+
<div class="wrapper__header">
|
|
3230
|
+
<div class="wrapper__header__text">
|
|
3231
|
+
<div class="wrapper__header__text__title" *ngIf="to.label">{{ to.label }}</div>
|
|
3232
|
+
<p *ngIf="to.description">{{ to.description }}</p>
|
|
3233
|
+
</div>
|
|
3234
|
+
<div class="wrapper__header__collapse">
|
|
3235
|
+
<button type="button" mat-icon-button aria-label="Collapse" (click)="collapse = !collapse">
|
|
3236
|
+
<mat-icon [class.collapse-open]="collapse" [class.collapse-close]="!collapse" svgIcon="gio:nav-arrow-down"></mat-icon>
|
|
3237
|
+
</button>
|
|
3238
|
+
</div>
|
|
3239
|
+
</div>
|
|
3240
|
+
|
|
3241
|
+
<div class="wrapper__error gio-ng-invalid" *ngIf="showError && formControl.errors">
|
|
3242
|
+
<formly-validation-message [field]="field"></formly-validation-message>
|
|
3243
|
+
</div>
|
|
3244
|
+
|
|
3245
|
+
<div [hidden]="collapse" class="wrapper__rows" [class.collapse-open]="collapse" [class.collapse-close]="!collapse">
|
|
3246
|
+
<div *ngFor="let field of field.fieldGroup; let i = index" class="wrapper__rows__row">
|
|
3247
|
+
<formly-field class="wrapper__rows__row__field" [field]="field"></formly-field>
|
|
3248
|
+
<div class="wrapper__rows__row__remove">
|
|
3249
|
+
<button type="button" mat-icon-button aria-label="Remove" (click)="remove(i)">
|
|
3250
|
+
<mat-icon svgIcon="gio:cancel"></mat-icon>
|
|
3251
|
+
</button>
|
|
3252
|
+
</div>
|
|
3253
|
+
</div>
|
|
3254
|
+
|
|
3255
|
+
<div>
|
|
3256
|
+
<button type="button" mat-stroked-button aria-label="Add" (click)="add()"><mat-icon svgIcon="gio:plus"></mat-icon> Add</button>
|
|
3257
|
+
</div>
|
|
3258
|
+
</div>
|
|
3259
|
+
</div>
|
|
3260
|
+
`, isInline: true, styles: [".wrapper{padding:8px;border:1px solid #d3d5dc;border-radius:8px}.wrapper.error{border-color:#ec4899}.wrapper:empty{display:none}.wrapper__header{display:flex}.wrapper__header__text{flex:1 1 auto}.wrapper__header__text__title{font:600 16px/24px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px;margin-bottom:8px}.wrapper__header__collapse{flex:0 0 auto}.wrapper__header__collapse .collapse-open{transform:rotate(180deg);transition:transform 225ms cubic-bezier(.4,0,.2,1)}.wrapper__header__collapse .collapse-close{transform:rotate(0);transition:transform 225ms cubic-bezier(.4,0,.2,1)}.wrapper__error{font:400 12px/16px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;color:#ec4899}.wrapper__rows__row{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.wrapper__rows__row+.wrapper__rows__row{padding-top:3px;border-top:1px solid #d3d5dc;margin-top:4px}.wrapper__rows__row__field{flex:1 1 auto}.wrapper__rows__row__remove{flex:0 0 auto}\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"] }, { type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i1$4.ɵFormlyValidationMessage, selector: "formly-validation-message", inputs: ["field"] }, { type: i1$4.FormlyField, selector: "formly-field", inputs: ["field"] }], directives: [{ type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
3261
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFjsArrayTypeComponent, decorators: [{
|
|
3262
|
+
type: Component,
|
|
3263
|
+
args: [{ selector: 'gio-fjs-array-type', template: `
|
|
3264
|
+
<div class="wrapper" [class.error]="formControl.touched && formControl.invalid">
|
|
3265
|
+
<div class="wrapper__header">
|
|
3266
|
+
<div class="wrapper__header__text">
|
|
3267
|
+
<div class="wrapper__header__text__title" *ngIf="to.label">{{ to.label }}</div>
|
|
3268
|
+
<p *ngIf="to.description">{{ to.description }}</p>
|
|
3269
|
+
</div>
|
|
3270
|
+
<div class="wrapper__header__collapse">
|
|
3271
|
+
<button type="button" mat-icon-button aria-label="Collapse" (click)="collapse = !collapse">
|
|
3272
|
+
<mat-icon [class.collapse-open]="collapse" [class.collapse-close]="!collapse" svgIcon="gio:nav-arrow-down"></mat-icon>
|
|
3273
|
+
</button>
|
|
3274
|
+
</div>
|
|
3275
|
+
</div>
|
|
3276
|
+
|
|
3277
|
+
<div class="wrapper__error gio-ng-invalid" *ngIf="showError && formControl.errors">
|
|
3278
|
+
<formly-validation-message [field]="field"></formly-validation-message>
|
|
3279
|
+
</div>
|
|
3280
|
+
|
|
3281
|
+
<div [hidden]="collapse" class="wrapper__rows" [class.collapse-open]="collapse" [class.collapse-close]="!collapse">
|
|
3282
|
+
<div *ngFor="let field of field.fieldGroup; let i = index" class="wrapper__rows__row">
|
|
3283
|
+
<formly-field class="wrapper__rows__row__field" [field]="field"></formly-field>
|
|
3284
|
+
<div class="wrapper__rows__row__remove">
|
|
3285
|
+
<button type="button" mat-icon-button aria-label="Remove" (click)="remove(i)">
|
|
3286
|
+
<mat-icon svgIcon="gio:cancel"></mat-icon>
|
|
3287
|
+
</button>
|
|
3288
|
+
</div>
|
|
3289
|
+
</div>
|
|
3290
|
+
|
|
3291
|
+
<div>
|
|
3292
|
+
<button type="button" mat-stroked-button aria-label="Add" (click)="add()"><mat-icon svgIcon="gio:plus"></mat-icon> Add</button>
|
|
3293
|
+
</div>
|
|
3294
|
+
</div>
|
|
3295
|
+
</div>
|
|
3296
|
+
`, styles: [".wrapper{padding:8px;border:1px solid #d3d5dc;border-radius:8px}.wrapper.error{border-color:#ec4899}.wrapper:empty{display:none}.wrapper__header{display:flex}.wrapper__header__text{flex:1 1 auto}.wrapper__header__text__title{font:600 16px/24px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px;margin-bottom:8px}.wrapper__header__collapse{flex:0 0 auto}.wrapper__header__collapse .collapse-open{transform:rotate(180deg);transition:transform 225ms cubic-bezier(.4,0,.2,1)}.wrapper__header__collapse .collapse-close{transform:rotate(0);transition:transform 225ms cubic-bezier(.4,0,.2,1)}.wrapper__error{font:400 12px/16px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;color:#ec4899}.wrapper__rows__row{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.wrapper__rows__row+.wrapper__rows__row{padding-top:3px;border-top:1px solid #d3d5dc;margin-top:4px}.wrapper__rows__row__field{flex:1 1 auto}.wrapper__rows__row__remove{flex:0 0 auto}\n"] }]
|
|
3297
|
+
}] });
|
|
3298
|
+
|
|
3299
|
+
function minItemsValidationMessage(error, field) {
|
|
3300
|
+
var _a;
|
|
3301
|
+
return `Should NOT have fewer than ${(_a = field.props) === null || _a === void 0 ? void 0 : _a.minItems} items`;
|
|
3302
|
+
}
|
|
3303
|
+
function maxItemsValidationMessage(error, field) {
|
|
3304
|
+
var _a;
|
|
3305
|
+
return `Should NOT have more than ${(_a = field.props) === null || _a === void 0 ? void 0 : _a.maxItems} items`;
|
|
3306
|
+
}
|
|
3307
|
+
function minLengthValidationMessage(error, field) {
|
|
3308
|
+
var _a;
|
|
3309
|
+
return `Should NOT be shorter than ${(_a = field.props) === null || _a === void 0 ? void 0 : _a.minLength} characters`;
|
|
3310
|
+
}
|
|
3311
|
+
function maxLengthValidationMessage(error, field) {
|
|
3312
|
+
var _a;
|
|
3313
|
+
return `Should NOT be longer than ${(_a = field.props) === null || _a === void 0 ? void 0 : _a.maxLength} characters`;
|
|
3314
|
+
}
|
|
3315
|
+
function minValidationMessage(error, field) {
|
|
3316
|
+
var _a;
|
|
3317
|
+
return `Should be >= ${(_a = field.props) === null || _a === void 0 ? void 0 : _a.min}`;
|
|
3318
|
+
}
|
|
3319
|
+
function maxValidationMessage(error, field) {
|
|
3320
|
+
var _a;
|
|
3321
|
+
return `Should be <= ${(_a = field.props) === null || _a === void 0 ? void 0 : _a.max}`;
|
|
3322
|
+
}
|
|
3323
|
+
function multipleOfValidationMessage(error, field) {
|
|
3324
|
+
var _a;
|
|
3325
|
+
return `Should be multiple of ${(_a = field.props) === null || _a === void 0 ? void 0 : _a.step}`;
|
|
3326
|
+
}
|
|
3327
|
+
function exclusiveMinimumValidationMessage(error, field) {
|
|
3328
|
+
var _a;
|
|
3329
|
+
return `Should be > ${(_a = field.props) === null || _a === void 0 ? void 0 : _a.step}`;
|
|
3330
|
+
}
|
|
3331
|
+
function exclusiveMaximumValidationMessage(error, field) {
|
|
3332
|
+
var _a;
|
|
3333
|
+
return `Should be < ${(_a = field.props) === null || _a === void 0 ? void 0 : _a.step}`;
|
|
3334
|
+
}
|
|
3335
|
+
function constValidationMessage(error, field) {
|
|
3336
|
+
var _a;
|
|
3337
|
+
return `Should be equal to constant "${(_a = field.props) === null || _a === void 0 ? void 0 : _a.const}"`;
|
|
3338
|
+
}
|
|
3339
|
+
function typeValidationMessage({ schemaType }) {
|
|
3340
|
+
return `Should be "${schemaType[0]}".`;
|
|
3341
|
+
}
|
|
3275
3342
|
|
|
3276
3343
|
/*
|
|
3277
3344
|
* Copyright (C) 2023 The Gravitee team (http://gravitee.io)
|
|
@@ -3288,589 +3355,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
3288
3355
|
* See the License for the specific language governing permissions and
|
|
3289
3356
|
* limitations under the License.
|
|
3290
3357
|
*/
|
|
3291
|
-
class
|
|
3292
|
-
constructor(hostElement, config, monacoEditorService, languageJsonService, changeDetectorRef, ngZone, ngControl) {
|
|
3293
|
-
this.hostElement = hostElement;
|
|
3294
|
-
this.config = config;
|
|
3295
|
-
this.monacoEditorService = monacoEditorService;
|
|
3296
|
-
this.languageJsonService = languageJsonService;
|
|
3297
|
-
this.changeDetectorRef = changeDetectorRef;
|
|
3298
|
-
this.ngZone = ngZone;
|
|
3299
|
-
this.ngControl = ngControl;
|
|
3300
|
-
this.options = {};
|
|
3301
|
-
this.loaded$ = new ReplaySubject(1);
|
|
3302
|
-
this.defaultOptions = {
|
|
3303
|
-
contextmenu: false,
|
|
3304
|
-
minimap: {
|
|
3305
|
-
enabled: true,
|
|
3306
|
-
},
|
|
3307
|
-
automaticLayout: true,
|
|
3308
|
-
scrollBeyondLastLine: false,
|
|
3309
|
-
};
|
|
3310
|
-
this.value = '';
|
|
3311
|
-
this.readOnly = false;
|
|
3312
|
-
this._onChange = () => ({});
|
|
3313
|
-
this._onTouched = () => ({});
|
|
3314
|
-
this.unsubscribe$ = new Subject();
|
|
3315
|
-
if (this.ngControl) {
|
|
3316
|
-
// Set the value accessor directly (instead of providing
|
|
3317
|
-
// NG_VALUE_ACCESSOR) to avoid running into a circular import
|
|
3318
|
-
this.ngControl.valueAccessor = this;
|
|
3319
|
-
}
|
|
3320
|
-
this.monacoEditorService.loadEditor();
|
|
3321
|
-
}
|
|
3322
|
-
ngAfterViewInit() {
|
|
3323
|
-
// Wait until monaco editor is available
|
|
3324
|
-
this.monacoEditorService.loaded$.pipe(takeUntil(this.unsubscribe$)).subscribe(({ monaco }) => {
|
|
3325
|
-
this.setupEditor(monaco);
|
|
3326
|
-
this.loaded$.next(false);
|
|
3327
|
-
this.changeDetectorRef.detectChanges();
|
|
3328
|
-
});
|
|
3329
|
-
}
|
|
3330
|
-
ngOnDestroy() {
|
|
3331
|
-
if (this.standaloneCodeEditor) {
|
|
3332
|
-
this.standaloneCodeEditor.dispose();
|
|
3333
|
-
this.standaloneCodeEditor = undefined;
|
|
3334
|
-
}
|
|
3335
|
-
if (this.textModel) {
|
|
3336
|
-
this.textModel.dispose();
|
|
3337
|
-
this.textModel = undefined;
|
|
3338
|
-
}
|
|
3339
|
-
this.unsubscribe$.next();
|
|
3340
|
-
this.unsubscribe$.complete();
|
|
3341
|
-
}
|
|
3342
|
-
// From ControlValueAccessor interface
|
|
3343
|
-
writeValue(_value) {
|
|
3344
|
-
if (_value) {
|
|
3345
|
-
this.value = _value;
|
|
3346
|
-
}
|
|
3347
|
-
if (this.textModel) {
|
|
3348
|
-
this.textModel.setValue(this.value);
|
|
3349
|
-
}
|
|
3350
|
-
}
|
|
3351
|
-
// From ControlValueAccessor interface
|
|
3352
|
-
registerOnChange(fn) {
|
|
3353
|
-
this._onChange = fn;
|
|
3354
|
-
}
|
|
3355
|
-
// From ControlValueAccessor interface
|
|
3356
|
-
registerOnTouched(fn) {
|
|
3357
|
-
this._onTouched = fn;
|
|
3358
|
-
}
|
|
3359
|
-
// From ControlValueAccessor interface
|
|
3360
|
-
setDisabledState(isDisabled) {
|
|
3361
|
-
this.readOnly = isDisabled;
|
|
3362
|
-
}
|
|
3363
|
-
setupEditor(monaco) {
|
|
3364
|
-
var _a, _b, _c, _d, _e;
|
|
3365
|
-
if (!this.hostElement) {
|
|
3366
|
-
throw new Error('No editor ref found.');
|
|
3367
|
-
}
|
|
3368
|
-
const domElement = this.hostElement.nativeElement;
|
|
3369
|
-
const settings = {
|
|
3370
|
-
value: this.value,
|
|
3371
|
-
language: (_b = (_a = this.languageConfig) === null || _a === void 0 ? void 0 : _a.language) !== null && _b !== void 0 ? _b : 'text',
|
|
3372
|
-
uri: `code-${uniqueId()}`,
|
|
3373
|
-
};
|
|
3374
|
-
this.ngZone.runOutsideAngular(() => {
|
|
3375
|
-
this.textModel = monaco.editor.createModel(settings.value, settings.language, monaco.Uri.parse(settings.uri));
|
|
3376
|
-
});
|
|
3377
|
-
const options = Object.assign({}, this.defaultOptions, this.options, {
|
|
3378
|
-
readOnly: this.readOnly,
|
|
3379
|
-
theme: (_c = this.config.theme) !== null && _c !== void 0 ? _c : 'vs',
|
|
3380
|
-
model: this.textModel,
|
|
3381
|
-
});
|
|
3382
|
-
this.standaloneCodeEditor = monaco.editor.create(domElement, Object.assign({}, options));
|
|
3383
|
-
(_d = this.textModel) === null || _d === void 0 ? void 0 : _d.onDidChangeContent(() => {
|
|
3384
|
-
var _a;
|
|
3385
|
-
const newValue = (_a = this.textModel) === null || _a === void 0 ? void 0 : _a.getValue();
|
|
3386
|
-
this.ngZone.run(() => {
|
|
3387
|
-
this.value = newValue !== null && newValue !== void 0 ? newValue : '';
|
|
3388
|
-
this._onChange(newValue !== null && newValue !== void 0 ? newValue : '');
|
|
3389
|
-
this._onTouched();
|
|
3390
|
-
});
|
|
3391
|
-
});
|
|
3392
|
-
(_e = this.standaloneCodeEditor) === null || _e === void 0 ? void 0 : _e.onDidBlurEditorWidget(() => {
|
|
3393
|
-
this.ngZone.run(() => {
|
|
3394
|
-
this._onTouched();
|
|
3395
|
-
});
|
|
3396
|
-
});
|
|
3397
|
-
this.setupLanguage(settings.uri, this.languageConfig);
|
|
3398
|
-
}
|
|
3399
|
-
setupLanguage(uri, languageConfig) {
|
|
3400
|
-
if (!languageConfig) {
|
|
3401
|
-
return;
|
|
3402
|
-
}
|
|
3403
|
-
const { language } = languageConfig;
|
|
3404
|
-
if (language) {
|
|
3405
|
-
const lang = language.toLowerCase();
|
|
3406
|
-
switch (lang) {
|
|
3407
|
-
case 'json':
|
|
3408
|
-
if (languageConfig.schemas) {
|
|
3409
|
-
this.languageJsonService.addSchemas(uri, languageConfig.schemas);
|
|
3410
|
-
}
|
|
3411
|
-
break;
|
|
3412
|
-
default:
|
|
3413
|
-
break;
|
|
3414
|
-
}
|
|
3415
|
-
}
|
|
3416
|
-
}
|
|
3417
|
-
}
|
|
3418
|
-
GioMonacoEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMonacoEditorComponent, deps: [{ token: i0.ElementRef }, { token: GIO_MONACO_EDITOR_CONFIG }, { token: GioMonacoEditorService }, { token: GioLanguageJsonService }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i7.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
3419
|
-
GioMonacoEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioMonacoEditorComponent, selector: "gio-monaco-editor", inputs: { languageConfig: "languageConfig", options: "options" }, ngImport: i0, template: ` <div *ngIf="loaded$ | async">Loading...</div>`, isInline: true, styles: [":host{display:block;height:100%;min-height:150px;transition:opacity .2s ease-out}:host-context(.hidden){opacity:0}\n"], directives: [{ type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i2$1.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3420
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMonacoEditorComponent, decorators: [{
|
|
3421
|
-
type: Component,
|
|
3422
|
-
args: [{ selector: 'gio-monaco-editor', template: ` <div *ngIf="loaded$ | async">Loading...</div>`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block;height:100%;min-height:150px;transition:opacity .2s ease-out}:host-context(.hidden){opacity:0}\n"] }]
|
|
3423
|
-
}], ctorParameters: function () {
|
|
3424
|
-
return [{ type: i0.ElementRef }, { type: undefined, decorators: [{
|
|
3425
|
-
type: Inject,
|
|
3426
|
-
args: [GIO_MONACO_EDITOR_CONFIG]
|
|
3427
|
-
}] }, { type: GioMonacoEditorService }, { type: GioLanguageJsonService }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i7.NgControl, decorators: [{
|
|
3428
|
-
type: Optional
|
|
3429
|
-
}, {
|
|
3430
|
-
type: Self
|
|
3431
|
-
}] }];
|
|
3432
|
-
}, propDecorators: { languageConfig: [{
|
|
3433
|
-
type: Input
|
|
3434
|
-
}], options: [{
|
|
3435
|
-
type: Input
|
|
3436
|
-
}] } });
|
|
3437
|
-
|
|
3438
|
-
class GioMonacoEditorFormFieldDirective {
|
|
3439
|
-
constructor(elementRef, focusMonitor, renderer, changeDetectorRef, hostGioMonacoEditorComponent) {
|
|
3440
|
-
this.elementRef = elementRef;
|
|
3441
|
-
this.focusMonitor = focusMonitor;
|
|
3442
|
-
this.renderer = renderer;
|
|
3443
|
-
this.changeDetectorRef = changeDetectorRef;
|
|
3444
|
-
this.hostGioMonacoEditorComponent = hostGioMonacoEditorComponent;
|
|
3445
|
-
this.stateChanges = new Subject();
|
|
3446
|
-
this.id = `gio-monaco-editor-${GioMonacoEditorFormFieldDirective.nextId++}`;
|
|
3447
|
-
this.userAriaDescribedBy = '';
|
|
3448
|
-
this.ngControl = null;
|
|
3449
|
-
this.focused = false;
|
|
3450
|
-
this.errorState = false;
|
|
3451
|
-
this.controlType = 'gio-monaco-editor';
|
|
3452
|
-
// autofilled?: boolean | undefined;
|
|
3453
|
-
this._placeholder = '';
|
|
3454
|
-
this._required = false;
|
|
3455
|
-
this._disabled = false;
|
|
3456
|
-
this.maxHeight = 500;
|
|
3457
|
-
this.unsubscribe$ = new Subject();
|
|
3458
|
-
}
|
|
3459
|
-
get value() {
|
|
3460
|
-
var _a, _b;
|
|
3461
|
-
return (_b = (_a = this.hostGioMonacoEditorComponent) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : null;
|
|
3462
|
-
}
|
|
3463
|
-
set placeholder(placeholder) {
|
|
3464
|
-
this._placeholder = placeholder;
|
|
3465
|
-
this.stateChanges.next();
|
|
3466
|
-
}
|
|
3467
|
-
get placeholder() {
|
|
3468
|
-
return this._placeholder;
|
|
3469
|
-
}
|
|
3470
|
-
set required(required) {
|
|
3471
|
-
this._required = coerceBooleanProperty(required);
|
|
3472
|
-
this.stateChanges.next();
|
|
3473
|
-
}
|
|
3474
|
-
get required() {
|
|
3475
|
-
return this._required;
|
|
3476
|
-
}
|
|
3477
|
-
set disabled(disabled) {
|
|
3478
|
-
this._disabled = coerceBooleanProperty(disabled);
|
|
3479
|
-
if (this.focused) {
|
|
3480
|
-
this.focused = false;
|
|
3481
|
-
this.stateChanges.next();
|
|
3482
|
-
}
|
|
3483
|
-
}
|
|
3484
|
-
get disabled() {
|
|
3485
|
-
if (this.ngControl && this.ngControl.disabled !== null) {
|
|
3486
|
-
return this.ngControl.disabled;
|
|
3487
|
-
}
|
|
3488
|
-
return this._disabled;
|
|
3489
|
-
}
|
|
3490
|
-
get empty() {
|
|
3491
|
-
return !this.value;
|
|
3492
|
-
}
|
|
3493
|
-
get shouldLabelFloat() {
|
|
3494
|
-
return this.focused || !this.empty;
|
|
3495
|
-
}
|
|
3496
|
-
get shouldHideEditor() {
|
|
3497
|
-
return !this.shouldLabelFloat;
|
|
3498
|
-
}
|
|
3499
|
-
ngOnInit() {
|
|
3500
|
-
var _a;
|
|
3501
|
-
this.stateChanges.pipe(takeUntil(this.unsubscribe$)).subscribe(() => this.changeDetectorRef.markForCheck());
|
|
3502
|
-
this.focusMonitor
|
|
3503
|
-
.monitor(this.elementRef.nativeElement, true)
|
|
3504
|
-
.pipe(takeUntil(this.unsubscribe$))
|
|
3505
|
-
.subscribe(origin => {
|
|
3506
|
-
this.focused = !!origin;
|
|
3507
|
-
this.stateChanges.next();
|
|
3508
|
-
});
|
|
3509
|
-
this.ngControl = (_a = this.hostGioMonacoEditorComponent) === null || _a === void 0 ? void 0 : _a.ngControl;
|
|
3510
|
-
this.hostGioMonacoEditorComponent.loaded$.pipe(takeUntil(this.unsubscribe$)).subscribe(() => {
|
|
3511
|
-
var _a;
|
|
3512
|
-
// Auto resize editor
|
|
3513
|
-
(_a = this.hostGioMonacoEditorComponent.standaloneCodeEditor) === null || _a === void 0 ? void 0 : _a.onDidContentSizeChange(() => {
|
|
3514
|
-
var _a, _b, _c;
|
|
3515
|
-
const height = Math.min((_b = (_a = this.hostGioMonacoEditorComponent.standaloneCodeEditor) === null || _a === void 0 ? void 0 : _a.getContentHeight()) !== null && _b !== void 0 ? _b : this.maxHeight, this.maxHeight);
|
|
3516
|
-
this.renderer.setStyle(this.elementRef.nativeElement, 'height', `${height}px`);
|
|
3517
|
-
(_c = this.hostGioMonacoEditorComponent.standaloneCodeEditor) === null || _c === void 0 ? void 0 : _c.layout();
|
|
3518
|
-
this.stateChanges.next();
|
|
3519
|
-
});
|
|
3520
|
-
});
|
|
3521
|
-
}
|
|
3522
|
-
ngDoCheck() {
|
|
3523
|
-
if (this.ngControl) {
|
|
3524
|
-
this.errorState = !!this.ngControl.invalid && !!this.ngControl.touched;
|
|
3525
|
-
this.stateChanges.next();
|
|
3526
|
-
}
|
|
3527
|
-
}
|
|
3528
|
-
ngOnDestroy() {
|
|
3529
|
-
this.unsubscribe$.next();
|
|
3530
|
-
this.unsubscribe$.complete();
|
|
3531
|
-
this.focusMonitor.stopMonitoring(this.elementRef.nativeElement);
|
|
3532
|
-
}
|
|
3533
|
-
setDescribedByIds(ids) {
|
|
3534
|
-
this.userAriaDescribedBy = ids.join(' ');
|
|
3535
|
-
}
|
|
3536
|
-
onContainerClick(_event) {
|
|
3537
|
-
var _a;
|
|
3538
|
-
if (!this.focused) {
|
|
3539
|
-
(_a = this.hostGioMonacoEditorComponent.standaloneCodeEditor) === null || _a === void 0 ? void 0 : _a.focus();
|
|
3540
|
-
}
|
|
3541
|
-
}
|
|
3542
|
-
}
|
|
3543
|
-
GioMonacoEditorFormFieldDirective.nextId = 0;
|
|
3544
|
-
GioMonacoEditorFormFieldDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMonacoEditorFormFieldDirective, deps: [{ token: i0.ElementRef }, { token: i2$2.FocusMonitor }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: GioMonacoEditorComponent, host: true, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
3545
|
-
GioMonacoEditorFormFieldDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: GioMonacoEditorFormFieldDirective, selector: "[gioMonacoEditorFormField]", inputs: { placeholder: "placeholder", required: "required", disabled: "disabled" }, host: { properties: { "id": "this.id", "attr.aria-describedBy": "this.userAriaDescribedBy", "class.hidden": "this.shouldHideEditor" } }, providers: [
|
|
3546
|
-
{
|
|
3547
|
-
provide: MatFormFieldControl,
|
|
3548
|
-
useExisting: forwardRef(() => GioMonacoEditorFormFieldDirective),
|
|
3549
|
-
},
|
|
3550
|
-
], ngImport: i0 });
|
|
3551
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMonacoEditorFormFieldDirective, decorators: [{
|
|
3552
|
-
type: Directive,
|
|
3553
|
-
args: [{
|
|
3554
|
-
selector: '[gioMonacoEditorFormField]',
|
|
3555
|
-
providers: [
|
|
3556
|
-
{
|
|
3557
|
-
provide: MatFormFieldControl,
|
|
3558
|
-
useExisting: forwardRef(() => GioMonacoEditorFormFieldDirective),
|
|
3559
|
-
},
|
|
3560
|
-
],
|
|
3561
|
-
}]
|
|
3562
|
-
}], ctorParameters: function () {
|
|
3563
|
-
return [{ type: i0.ElementRef }, { type: i2$2.FocusMonitor }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: GioMonacoEditorComponent, decorators: [{
|
|
3564
|
-
type: Host
|
|
3565
|
-
}, {
|
|
3566
|
-
type: Self
|
|
3567
|
-
}, {
|
|
3568
|
-
type: Optional
|
|
3569
|
-
}] }];
|
|
3570
|
-
}, propDecorators: { id: [{
|
|
3571
|
-
type: HostBinding
|
|
3572
|
-
}], userAriaDescribedBy: [{
|
|
3573
|
-
type: HostBinding,
|
|
3574
|
-
args: ['attr.aria-describedBy']
|
|
3575
|
-
}], placeholder: [{
|
|
3576
|
-
type: Input
|
|
3577
|
-
}], required: [{
|
|
3578
|
-
type: Input
|
|
3579
|
-
}], disabled: [{
|
|
3580
|
-
type: Input
|
|
3581
|
-
}], shouldHideEditor: [{
|
|
3582
|
-
type: HostBinding,
|
|
3583
|
-
args: ['class.hidden']
|
|
3584
|
-
}] } });
|
|
3585
|
-
|
|
3586
|
-
/*
|
|
3587
|
-
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
3588
|
-
*
|
|
3589
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
3590
|
-
* you may not use this file except in compliance with the License.
|
|
3591
|
-
* You may obtain a copy of the License at
|
|
3592
|
-
*
|
|
3593
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
3594
|
-
*
|
|
3595
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
3596
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
3597
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3598
|
-
* See the License for the specific language governing permissions and
|
|
3599
|
-
* limitations under the License.
|
|
3600
|
-
*/
|
|
3601
|
-
class GioMonacoEditorModule {
|
|
3602
|
-
static forRoot(config) {
|
|
3603
|
-
return {
|
|
3604
|
-
ngModule: GioMonacoEditorModule,
|
|
3605
|
-
providers: [
|
|
3606
|
-
{
|
|
3607
|
-
provide: GIO_MONACO_EDITOR_CONFIG,
|
|
3608
|
-
useValue: config,
|
|
3609
|
-
},
|
|
3610
|
-
],
|
|
3611
|
-
};
|
|
3612
|
-
}
|
|
3613
|
-
}
|
|
3614
|
-
GioMonacoEditorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMonacoEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
3615
|
-
GioMonacoEditorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMonacoEditorModule, declarations: [GioMonacoEditorComponent, GioMonacoEditorFormFieldDirective], imports: [CommonModule, HttpClientModule, ReactiveFormsModule], exports: [GioMonacoEditorComponent, GioMonacoEditorFormFieldDirective] });
|
|
3616
|
-
GioMonacoEditorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMonacoEditorModule, providers: [
|
|
3617
|
-
{
|
|
3618
|
-
provide: GIO_MONACO_EDITOR_CONFIG,
|
|
3619
|
-
useValue: {},
|
|
3620
|
-
},
|
|
3621
|
-
], imports: [[CommonModule, HttpClientModule, ReactiveFormsModule]] });
|
|
3622
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMonacoEditorModule, decorators: [{
|
|
3623
|
-
type: NgModule,
|
|
3624
|
-
args: [{
|
|
3625
|
-
imports: [CommonModule, HttpClientModule, ReactiveFormsModule],
|
|
3626
|
-
declarations: [GioMonacoEditorComponent, GioMonacoEditorFormFieldDirective],
|
|
3627
|
-
exports: [GioMonacoEditorComponent, GioMonacoEditorFormFieldDirective],
|
|
3628
|
-
providers: [
|
|
3629
|
-
{
|
|
3630
|
-
provide: GIO_MONACO_EDITOR_CONFIG,
|
|
3631
|
-
useValue: {},
|
|
3632
|
-
},
|
|
3633
|
-
],
|
|
3634
|
-
}]
|
|
3635
|
-
}] });
|
|
3636
|
-
|
|
3637
|
-
/*
|
|
3638
|
-
* Copyright (C) 2023 The Gravitee team (http://gravitee.io)
|
|
3639
|
-
*
|
|
3640
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
3641
|
-
* you may not use this file except in compliance with the License.
|
|
3642
|
-
* You may obtain a copy of the License at
|
|
3643
|
-
*
|
|
3644
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
3645
|
-
*
|
|
3646
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
3647
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
3648
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3649
|
-
* See the License for the specific language governing permissions and
|
|
3650
|
-
* limitations under the License.
|
|
3651
|
-
*/
|
|
3652
|
-
class GioFjsNullTypeComponent extends FieldType {
|
|
3653
|
-
}
|
|
3654
|
-
GioFjsNullTypeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFjsNullTypeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
3655
|
-
GioFjsNullTypeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioFjsNullTypeComponent, selector: "gio-fjs-null-type", usesInheritance: true, ngImport: i0, template: ``, isInline: true });
|
|
3656
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFjsNullTypeComponent, decorators: [{
|
|
3657
|
-
type: Component,
|
|
3658
|
-
args: [{
|
|
3659
|
-
selector: 'gio-fjs-null-type',
|
|
3660
|
-
template: ``,
|
|
3661
|
-
}]
|
|
3662
|
-
}] });
|
|
3663
|
-
|
|
3664
|
-
/*
|
|
3665
|
-
* Copyright (C) 2023 The Gravitee team (http://gravitee.io)
|
|
3666
|
-
*
|
|
3667
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
3668
|
-
* you may not use this file except in compliance with the License.
|
|
3669
|
-
* You may obtain a copy of the License at
|
|
3670
|
-
*
|
|
3671
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
3672
|
-
*
|
|
3673
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
3674
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
3675
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3676
|
-
* See the License for the specific language governing permissions and
|
|
3677
|
-
* limitations under the License.
|
|
3678
|
-
*/
|
|
3679
|
-
class GioFjsObjectTypeComponent extends FieldType {
|
|
3680
|
-
}
|
|
3681
|
-
GioFjsObjectTypeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFjsObjectTypeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
3682
|
-
GioFjsObjectTypeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioFjsObjectTypeComponent, selector: "gio-fjs-object-type", usesInheritance: true, ngImport: i0, template: `
|
|
3683
|
-
<div class="wrapper">
|
|
3684
|
-
<div class="wrapper__title" *ngIf="to.label">{{ to.label }}</div>
|
|
3685
|
-
<p *ngIf="to.description">{{ to.description }}</p>
|
|
3686
|
-
<div class="wrapper__error gio-ng-invalid" *ngIf="showError && formControl.errors">
|
|
3687
|
-
<formly-validation-message [field]="field"></formly-validation-message>
|
|
3688
|
-
</div>
|
|
3689
|
-
<div class="wrapper__fields">
|
|
3690
|
-
<ng-container *ngFor="let f of field.fieldGroup">
|
|
3691
|
-
<formly-field *ngIf="f.type" class="wrapper__fields__field" [field]="f"></formly-field>
|
|
3692
|
-
</ng-container>
|
|
3693
|
-
</div>
|
|
3694
|
-
</div>
|
|
3695
|
-
`, isInline: true, styles: [".wrapper{display:flex;flex-direction:column}.wrapper__title{font:600 18px/24px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px;margin-bottom:16px}.wrapper:empty{display:none}.wrapper__error{font:400 12px/16px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;color:#ec4899}.wrapper__fields{padding:8px;border:1px solid #d3d5dc;border-radius:8px}.wrapper__fields:empty{display:none}.wrapper__fields:has(> .wrapper__fields__field:only-child):has(> .wrapper__fields__field:empty){display:none}.wrapper__fields__field:empty{display:none}.wrapper__fields__field+.wrapper__fields__field:not(:empty){display:block;margin-top:8px}\n"], components: [{ type: i1$4.ɵFormlyValidationMessage, selector: "formly-validation-message", inputs: ["field"] }, { type: i1$4.FormlyField, selector: "formly-field", inputs: ["field"] }], directives: [{ type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
3696
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFjsObjectTypeComponent, decorators: [{
|
|
3697
|
-
type: Component,
|
|
3698
|
-
args: [{ selector: 'gio-fjs-object-type', template: `
|
|
3699
|
-
<div class="wrapper">
|
|
3700
|
-
<div class="wrapper__title" *ngIf="to.label">{{ to.label }}</div>
|
|
3701
|
-
<p *ngIf="to.description">{{ to.description }}</p>
|
|
3702
|
-
<div class="wrapper__error gio-ng-invalid" *ngIf="showError && formControl.errors">
|
|
3703
|
-
<formly-validation-message [field]="field"></formly-validation-message>
|
|
3704
|
-
</div>
|
|
3705
|
-
<div class="wrapper__fields">
|
|
3706
|
-
<ng-container *ngFor="let f of field.fieldGroup">
|
|
3707
|
-
<formly-field *ngIf="f.type" class="wrapper__fields__field" [field]="f"></formly-field>
|
|
3708
|
-
</ng-container>
|
|
3709
|
-
</div>
|
|
3710
|
-
</div>
|
|
3711
|
-
`, styles: [".wrapper{display:flex;flex-direction:column}.wrapper__title{font:600 18px/24px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px;margin-bottom:16px}.wrapper:empty{display:none}.wrapper__error{font:400 12px/16px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;color:#ec4899}.wrapper__fields{padding:8px;border:1px solid #d3d5dc;border-radius:8px}.wrapper__fields:empty{display:none}.wrapper__fields:has(> .wrapper__fields__field:only-child):has(> .wrapper__fields__field:empty){display:none}.wrapper__fields__field:empty{display:none}.wrapper__fields__field+.wrapper__fields__field:not(:empty){display:block;margin-top:8px}\n"] }]
|
|
3712
|
-
}] });
|
|
3713
|
-
|
|
3714
|
-
/*
|
|
3715
|
-
* Copyright (C) 2023 The Gravitee team (http://gravitee.io)
|
|
3716
|
-
*
|
|
3717
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
3718
|
-
* you may not use this file except in compliance with the License.
|
|
3719
|
-
* You may obtain a copy of the License at
|
|
3720
|
-
*
|
|
3721
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
3722
|
-
*
|
|
3723
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
3724
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
3725
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3726
|
-
* See the License for the specific language governing permissions and
|
|
3727
|
-
* limitations under the License.
|
|
3728
|
-
*/
|
|
3729
|
-
class GioFjsArrayTypeComponent extends FieldArrayType {
|
|
3730
|
-
constructor() {
|
|
3731
|
-
super(...arguments);
|
|
3732
|
-
this.collapse = false;
|
|
3733
|
-
}
|
|
3734
|
-
}
|
|
3735
|
-
GioFjsArrayTypeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFjsArrayTypeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
3736
|
-
GioFjsArrayTypeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioFjsArrayTypeComponent, selector: "gio-fjs-array-type", usesInheritance: true, ngImport: i0, template: `
|
|
3737
|
-
<div class="wrapper" [class.error]="formControl.touched && formControl.invalid">
|
|
3738
|
-
<div class="wrapper__header">
|
|
3739
|
-
<div class="wrapper__header__text">
|
|
3740
|
-
<div class="wrapper__header__text__title" *ngIf="to.label">{{ to.label }}</div>
|
|
3741
|
-
<p *ngIf="to.description">{{ to.description }}</p>
|
|
3742
|
-
</div>
|
|
3743
|
-
<div class="wrapper__header__collapse">
|
|
3744
|
-
<button type="button" mat-icon-button aria-label="Collapse" (click)="collapse = !collapse">
|
|
3745
|
-
<mat-icon [class.collapse-open]="collapse" [class.collapse-close]="!collapse" svgIcon="gio:nav-arrow-down"></mat-icon>
|
|
3746
|
-
</button>
|
|
3747
|
-
</div>
|
|
3748
|
-
</div>
|
|
3749
|
-
|
|
3750
|
-
<div class="wrapper__error gio-ng-invalid" *ngIf="showError && formControl.errors">
|
|
3751
|
-
<formly-validation-message [field]="field"></formly-validation-message>
|
|
3752
|
-
</div>
|
|
3753
|
-
|
|
3754
|
-
<div [hidden]="collapse" class="wrapper__rows" [class.collapse-open]="collapse" [class.collapse-close]="!collapse">
|
|
3755
|
-
<div *ngFor="let field of field.fieldGroup; let i = index" class="wrapper__rows__row">
|
|
3756
|
-
<formly-field class="wrapper__rows__row__field" [field]="field"></formly-field>
|
|
3757
|
-
<div class="wrapper__rows__row__remove">
|
|
3758
|
-
<button type="button" mat-icon-button aria-label="Remove" (click)="remove(i)">
|
|
3759
|
-
<mat-icon svgIcon="gio:cancel"></mat-icon>
|
|
3760
|
-
</button>
|
|
3761
|
-
</div>
|
|
3762
|
-
</div>
|
|
3763
|
-
|
|
3764
|
-
<div>
|
|
3765
|
-
<button type="button" mat-stroked-button aria-label="Add" (click)="add()"><mat-icon svgIcon="gio:plus"></mat-icon> Add</button>
|
|
3766
|
-
</div>
|
|
3767
|
-
</div>
|
|
3768
|
-
</div>
|
|
3769
|
-
`, isInline: true, styles: [".wrapper{padding:8px;border:1px solid #d3d5dc;border-radius:8px}.wrapper.error{border-color:#ec4899}.wrapper:empty{display:none}.wrapper__header{display:flex}.wrapper__header__text{flex:1 1 auto}.wrapper__header__text__title{font:600 16px/24px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px;margin-bottom:8px}.wrapper__header__collapse{flex:0 0 auto}.wrapper__header__collapse .collapse-open{transform:rotate(180deg);transition:transform 225ms cubic-bezier(.4,0,.2,1)}.wrapper__header__collapse .collapse-close{transform:rotate(0);transition:transform 225ms cubic-bezier(.4,0,.2,1)}.wrapper__error{font:400 12px/16px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;color:#ec4899}.wrapper__rows__row{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.wrapper__rows__row+.wrapper__rows__row{padding-top:3px;border-top:1px solid #d3d5dc;margin-top:4px}.wrapper__rows__row__field{flex:1 1 auto}.wrapper__rows__row__remove{flex:0 0 auto}\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"] }, { type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i1$4.ɵFormlyValidationMessage, selector: "formly-validation-message", inputs: ["field"] }, { type: i1$4.FormlyField, selector: "formly-field", inputs: ["field"] }], directives: [{ type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
3770
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFjsArrayTypeComponent, decorators: [{
|
|
3771
|
-
type: Component,
|
|
3772
|
-
args: [{ selector: 'gio-fjs-array-type', template: `
|
|
3773
|
-
<div class="wrapper" [class.error]="formControl.touched && formControl.invalid">
|
|
3774
|
-
<div class="wrapper__header">
|
|
3775
|
-
<div class="wrapper__header__text">
|
|
3776
|
-
<div class="wrapper__header__text__title" *ngIf="to.label">{{ to.label }}</div>
|
|
3777
|
-
<p *ngIf="to.description">{{ to.description }}</p>
|
|
3778
|
-
</div>
|
|
3779
|
-
<div class="wrapper__header__collapse">
|
|
3780
|
-
<button type="button" mat-icon-button aria-label="Collapse" (click)="collapse = !collapse">
|
|
3781
|
-
<mat-icon [class.collapse-open]="collapse" [class.collapse-close]="!collapse" svgIcon="gio:nav-arrow-down"></mat-icon>
|
|
3782
|
-
</button>
|
|
3783
|
-
</div>
|
|
3784
|
-
</div>
|
|
3785
|
-
|
|
3786
|
-
<div class="wrapper__error gio-ng-invalid" *ngIf="showError && formControl.errors">
|
|
3787
|
-
<formly-validation-message [field]="field"></formly-validation-message>
|
|
3788
|
-
</div>
|
|
3789
|
-
|
|
3790
|
-
<div [hidden]="collapse" class="wrapper__rows" [class.collapse-open]="collapse" [class.collapse-close]="!collapse">
|
|
3791
|
-
<div *ngFor="let field of field.fieldGroup; let i = index" class="wrapper__rows__row">
|
|
3792
|
-
<formly-field class="wrapper__rows__row__field" [field]="field"></formly-field>
|
|
3793
|
-
<div class="wrapper__rows__row__remove">
|
|
3794
|
-
<button type="button" mat-icon-button aria-label="Remove" (click)="remove(i)">
|
|
3795
|
-
<mat-icon svgIcon="gio:cancel"></mat-icon>
|
|
3796
|
-
</button>
|
|
3797
|
-
</div>
|
|
3798
|
-
</div>
|
|
3799
|
-
|
|
3800
|
-
<div>
|
|
3801
|
-
<button type="button" mat-stroked-button aria-label="Add" (click)="add()"><mat-icon svgIcon="gio:plus"></mat-icon> Add</button>
|
|
3802
|
-
</div>
|
|
3803
|
-
</div>
|
|
3804
|
-
</div>
|
|
3805
|
-
`, styles: [".wrapper{padding:8px;border:1px solid #d3d5dc;border-radius:8px}.wrapper.error{border-color:#ec4899}.wrapper:empty{display:none}.wrapper__header{display:flex}.wrapper__header__text{flex:1 1 auto}.wrapper__header__text__title{font:600 16px/24px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px;margin-bottom:8px}.wrapper__header__collapse{flex:0 0 auto}.wrapper__header__collapse .collapse-open{transform:rotate(180deg);transition:transform 225ms cubic-bezier(.4,0,.2,1)}.wrapper__header__collapse .collapse-close{transform:rotate(0);transition:transform 225ms cubic-bezier(.4,0,.2,1)}.wrapper__error{font:400 12px/16px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;color:#ec4899}.wrapper__rows__row{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.wrapper__rows__row+.wrapper__rows__row{padding-top:3px;border-top:1px solid #d3d5dc;margin-top:4px}.wrapper__rows__row__field{flex:1 1 auto}.wrapper__rows__row__remove{flex:0 0 auto}\n"] }]
|
|
3806
|
-
}] });
|
|
3807
|
-
|
|
3808
|
-
function minItemsValidationMessage(error, field) {
|
|
3809
|
-
var _a;
|
|
3810
|
-
return `Should NOT have fewer than ${(_a = field.props) === null || _a === void 0 ? void 0 : _a.minItems} items`;
|
|
3811
|
-
}
|
|
3812
|
-
function maxItemsValidationMessage(error, field) {
|
|
3813
|
-
var _a;
|
|
3814
|
-
return `Should NOT have more than ${(_a = field.props) === null || _a === void 0 ? void 0 : _a.maxItems} items`;
|
|
3815
|
-
}
|
|
3816
|
-
function minLengthValidationMessage(error, field) {
|
|
3817
|
-
var _a;
|
|
3818
|
-
return `Should NOT be shorter than ${(_a = field.props) === null || _a === void 0 ? void 0 : _a.minLength} characters`;
|
|
3819
|
-
}
|
|
3820
|
-
function maxLengthValidationMessage(error, field) {
|
|
3821
|
-
var _a;
|
|
3822
|
-
return `Should NOT be longer than ${(_a = field.props) === null || _a === void 0 ? void 0 : _a.maxLength} characters`;
|
|
3823
|
-
}
|
|
3824
|
-
function minValidationMessage(error, field) {
|
|
3825
|
-
var _a;
|
|
3826
|
-
return `Should be >= ${(_a = field.props) === null || _a === void 0 ? void 0 : _a.min}`;
|
|
3827
|
-
}
|
|
3828
|
-
function maxValidationMessage(error, field) {
|
|
3829
|
-
var _a;
|
|
3830
|
-
return `Should be <= ${(_a = field.props) === null || _a === void 0 ? void 0 : _a.max}`;
|
|
3358
|
+
class GioFormFieldWrapperComponent extends FieldWrapper {
|
|
3831
3359
|
}
|
|
3832
|
-
|
|
3833
|
-
|
|
3834
|
-
|
|
3835
|
-
}
|
|
3836
|
-
function exclusiveMinimumValidationMessage(error, field) {
|
|
3837
|
-
var _a;
|
|
3838
|
-
return `Should be > ${(_a = field.props) === null || _a === void 0 ? void 0 : _a.step}`;
|
|
3839
|
-
}
|
|
3840
|
-
function exclusiveMaximumValidationMessage(error, field) {
|
|
3841
|
-
var _a;
|
|
3842
|
-
return `Should be < ${(_a = field.props) === null || _a === void 0 ? void 0 : _a.step}`;
|
|
3843
|
-
}
|
|
3844
|
-
function constValidationMessage(error, field) {
|
|
3845
|
-
var _a;
|
|
3846
|
-
return `Should be equal to constant "${(_a = field.props) === null || _a === void 0 ? void 0 : _a.const}"`;
|
|
3847
|
-
}
|
|
3848
|
-
function typeValidationMessage({ schemaType }) {
|
|
3849
|
-
return `Should be "${schemaType[0]}".`;
|
|
3850
|
-
}
|
|
3851
|
-
|
|
3852
|
-
/*
|
|
3853
|
-
* Copyright (C) 2023 The Gravitee team (http://gravitee.io)
|
|
3854
|
-
*
|
|
3855
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
3856
|
-
* you may not use this file except in compliance with the License.
|
|
3857
|
-
* You may obtain a copy of the License at
|
|
3858
|
-
*
|
|
3859
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
3860
|
-
*
|
|
3861
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
3862
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
3863
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3864
|
-
* See the License for the specific language governing permissions and
|
|
3865
|
-
* limitations under the License.
|
|
3866
|
-
*/
|
|
3867
|
-
class GioBannerWrapperComponent extends FieldWrapper {
|
|
3868
|
-
}
|
|
3869
|
-
GioBannerWrapperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBannerWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
3870
|
-
GioBannerWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioBannerWrapperComponent, selector: "gio-banner-wrapper", usesInheritance: true, ngImport: i0, template: "<!--\n\n Copyright (C) 2023 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=\"wrapper\">\n <div class=\"banner\">\n <div class=\"banner__icon\"><mat-icon svgIcon=\"gio:info\"></mat-icon></div>\n <div>\n <div class=\"banner__title\" [innerHTML]=\"props.bannerTitle\"></div>\n <div class=\"banner__text\" [innerHTML]=\"props.bannerText\"></div>\n </div>\n </div>\n <ng-container #fieldComponent></ng-container>\n</div>\n", styles: ["::ng-deep gio-banner-wrapper ul{padding-inline-start:0}.wrapper{padding:8px 0}.banner{display:flex;flex-direction:row;align-items:flex-start;padding:8px;border-radius:8px;margin-bottom:8px;background:#e7e8ef;gap:8px}.banner__icon{padding-top:2px}.banner__icon mat-icon{width:16px;height:16px;color:#6c59bd}.banner__title{font:600 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.banner__text{font:400 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px;color:#606274}\n"], components: [{ type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
|
|
3871
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBannerWrapperComponent, decorators: [{
|
|
3360
|
+
GioFormFieldWrapperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormFieldWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
3361
|
+
GioFormFieldWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioFormFieldWrapperComponent, selector: "gio-form-field-wrapper", usesInheritance: true, ngImport: i0, template: "<!--\n\n Copyright (C) 2023 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=\"wrapper\">\n <div class=\"banner\">\n <div class=\"banner__icon\"><mat-icon svgIcon=\"gio:info\"></mat-icon></div>\n <div>\n <div class=\"banner__title\" [innerHTML]=\"props.bannerTitle\"></div>\n <div class=\"banner__text\" [innerHTML]=\"props.bannerText\"></div>\n </div>\n </div>\n <ng-container #fieldComponent></ng-container>\n</div>\n", styles: [".wrapper{padding:8px 0}.banner{display:flex;flex-direction:row;align-items:flex-start;padding:8px;border-radius:8px;margin-bottom:8px;background:#e7e8ef;gap:8px}.banner__icon{padding-top:2px}.banner__icon mat-icon{width:16px;height:16px;color:#6c59bd}.banner__title{font:600 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.banner__text{font:400 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px;color:#606274}\n"], components: [{ type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
|
|
3362
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormFieldWrapperComponent, decorators: [{
|
|
3872
3363
|
type: Component,
|
|
3873
|
-
args: [{ selector: 'gio-
|
|
3364
|
+
args: [{ selector: 'gio-form-field-wrapper', template: "<!--\n\n Copyright (C) 2023 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=\"wrapper\">\n <div class=\"banner\">\n <div class=\"banner__icon\"><mat-icon svgIcon=\"gio:info\"></mat-icon></div>\n <div>\n <div class=\"banner__title\" [innerHTML]=\"props.bannerTitle\"></div>\n <div class=\"banner__text\" [innerHTML]=\"props.bannerText\"></div>\n </div>\n </div>\n <ng-container #fieldComponent></ng-container>\n</div>\n", styles: [".wrapper{padding:8px 0}.banner{display:flex;flex-direction:row;align-items:flex-start;padding:8px;border-radius:8px;margin-bottom:8px;background:#e7e8ef;gap:8px}.banner__icon{padding-top:2px}.banner__icon mat-icon{width:16px;height:16px;color:#6c59bd}.banner__title{font:600 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.banner__text{font:400 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px;color:#606274}\n"] }]
|
|
3874
3365
|
}] });
|
|
3875
3366
|
|
|
3876
3367
|
function bannerExtension(field) {
|
|
@@ -4129,60 +3620,8 @@ function passwordEyeExtension(field) {
|
|
|
4129
3620
|
}
|
|
4130
3621
|
if (field.props.type === 'password') {
|
|
4131
3622
|
field.wrappers = [...(field.wrappers || []), 'gio-password-eye'];
|
|
4132
|
-
}
|
|
4133
|
-
}
|
|
4134
|
-
|
|
4135
|
-
/*
|
|
4136
|
-
* Copyright (C) 2023 The Gravitee team (http://gravitee.io)
|
|
4137
|
-
*
|
|
4138
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
4139
|
-
* you may not use this file except in compliance with the License.
|
|
4140
|
-
* You may obtain a copy of the License at
|
|
4141
|
-
*
|
|
4142
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
4143
|
-
*
|
|
4144
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
4145
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
4146
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
4147
|
-
* See the License for the specific language governing permissions and
|
|
4148
|
-
* limitations under the License.
|
|
4149
|
-
*/
|
|
4150
|
-
class GioFjsCodeEditorTypeComponent extends FieldType$1 {
|
|
4151
|
-
ngOnInit() {
|
|
4152
|
-
this.languageConfig = undefined;
|
|
4153
|
-
}
|
|
4154
|
-
}
|
|
4155
|
-
GioFjsCodeEditorTypeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFjsCodeEditorTypeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
4156
|
-
GioFjsCodeEditorTypeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioFjsCodeEditorTypeComponent, selector: "gio-fjs-code-editor-type", usesInheritance: true, ngImport: i0, template: `
|
|
4157
|
-
<gio-monaco-editor
|
|
4158
|
-
gioMonacoEditorFormField
|
|
4159
|
-
ngDefaultControl
|
|
4160
|
-
[formControl]="formControl"
|
|
4161
|
-
[languageConfig]="languageConfig"
|
|
4162
|
-
></gio-monaco-editor>
|
|
4163
|
-
`, isInline: true, styles: ["gio-monaco-editor{min-height:38px}\n"], components: [{ type: GioMonacoEditorComponent, selector: "gio-monaco-editor", inputs: ["languageConfig", "options"] }], directives: [{ type: GioMonacoEditorFormFieldDirective, selector: "[gioMonacoEditorFormField]", inputs: ["placeholder", "required", "disabled"] }, { 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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
4164
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFjsCodeEditorTypeComponent, decorators: [{
|
|
4165
|
-
type: Component,
|
|
4166
|
-
args: [{
|
|
4167
|
-
selector: 'gio-fjs-code-editor-type',
|
|
4168
|
-
template: `
|
|
4169
|
-
<gio-monaco-editor
|
|
4170
|
-
gioMonacoEditorFormField
|
|
4171
|
-
ngDefaultControl
|
|
4172
|
-
[formControl]="formControl"
|
|
4173
|
-
[languageConfig]="languageConfig"
|
|
4174
|
-
></gio-monaco-editor>
|
|
4175
|
-
`,
|
|
4176
|
-
styles: [
|
|
4177
|
-
`
|
|
4178
|
-
gio-monaco-editor {
|
|
4179
|
-
min-height: 38px;
|
|
4180
|
-
}
|
|
4181
|
-
`,
|
|
4182
|
-
],
|
|
4183
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
4184
|
-
}]
|
|
4185
|
-
}] });
|
|
3623
|
+
}
|
|
3624
|
+
}
|
|
4186
3625
|
|
|
4187
3626
|
/*
|
|
4188
3627
|
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
@@ -4209,16 +3648,13 @@ GioFormJsonSchemaModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0",
|
|
|
4209
3648
|
GioFjsArrayTypeComponent,
|
|
4210
3649
|
GioFjsToggleTypeComponent,
|
|
4211
3650
|
GioFjsHeadersTypeComponent,
|
|
4212
|
-
|
|
4213
|
-
GioBannerWrapperComponent,
|
|
3651
|
+
GioFormFieldWrapperComponent,
|
|
4214
3652
|
GioPasswordEyeWrapperComponent], imports: [CommonModule,
|
|
4215
3653
|
A11yModule,
|
|
4216
3654
|
ReactiveFormsModule, i1$4.FormlyModule, FormlyMaterialModule,
|
|
4217
|
-
MatInputModule,
|
|
4218
3655
|
GioIconsModule,
|
|
4219
3656
|
GioFormSlideToggleModule,
|
|
4220
3657
|
GioFormHeadersModule,
|
|
4221
|
-
GioMonacoEditorModule,
|
|
4222
3658
|
MatSlideToggleModule,
|
|
4223
3659
|
MatButtonModule], exports: [GioFormJsonSchemaComponent, FormlyModule] });
|
|
4224
3660
|
GioFormJsonSchemaModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormJsonSchemaModule, providers: [GioFormlyJsonSchemaService], imports: [[
|
|
@@ -4242,7 +3678,7 @@ GioFormJsonSchemaModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0",
|
|
|
4242
3678
|
{ name: 'const', message: constValidationMessage },
|
|
4243
3679
|
],
|
|
4244
3680
|
wrappers: [
|
|
4245
|
-
{ name: 'gio-with-banner', component:
|
|
3681
|
+
{ name: 'gio-with-banner', component: GioFormFieldWrapperComponent },
|
|
4246
3682
|
{ name: 'gio-password-eye', component: GioPasswordEyeWrapperComponent },
|
|
4247
3683
|
],
|
|
4248
3684
|
types: [
|
|
@@ -4254,11 +3690,6 @@ GioFormJsonSchemaModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0",
|
|
|
4254
3690
|
name: 'toggle',
|
|
4255
3691
|
component: GioFjsToggleTypeComponent,
|
|
4256
3692
|
},
|
|
4257
|
-
{
|
|
4258
|
-
name: 'gio-code-editor',
|
|
4259
|
-
component: GioFjsCodeEditorTypeComponent,
|
|
4260
|
-
wrappers: ['form-field'],
|
|
4261
|
-
},
|
|
4262
3693
|
{
|
|
4263
3694
|
name: 'gio-headers-array',
|
|
4264
3695
|
component: GioFjsHeadersTypeComponent,
|
|
@@ -4273,11 +3704,9 @@ GioFormJsonSchemaModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0",
|
|
|
4273
3704
|
},
|
|
4274
3705
|
}),
|
|
4275
3706
|
FormlyMaterialModule,
|
|
4276
|
-
MatInputModule,
|
|
4277
3707
|
GioIconsModule,
|
|
4278
3708
|
GioFormSlideToggleModule,
|
|
4279
3709
|
GioFormHeadersModule,
|
|
4280
|
-
GioMonacoEditorModule,
|
|
4281
3710
|
MatSlideToggleModule,
|
|
4282
3711
|
MatButtonModule,
|
|
4283
3712
|
], FormlyModule] });
|
|
@@ -4292,8 +3721,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
4292
3721
|
GioFjsArrayTypeComponent,
|
|
4293
3722
|
GioFjsToggleTypeComponent,
|
|
4294
3723
|
GioFjsHeadersTypeComponent,
|
|
4295
|
-
|
|
4296
|
-
GioBannerWrapperComponent,
|
|
3724
|
+
GioFormFieldWrapperComponent,
|
|
4297
3725
|
GioPasswordEyeWrapperComponent,
|
|
4298
3726
|
],
|
|
4299
3727
|
imports: [
|
|
@@ -4317,7 +3745,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
4317
3745
|
{ name: 'const', message: constValidationMessage },
|
|
4318
3746
|
],
|
|
4319
3747
|
wrappers: [
|
|
4320
|
-
{ name: 'gio-with-banner', component:
|
|
3748
|
+
{ name: 'gio-with-banner', component: GioFormFieldWrapperComponent },
|
|
4321
3749
|
{ name: 'gio-password-eye', component: GioPasswordEyeWrapperComponent },
|
|
4322
3750
|
],
|
|
4323
3751
|
types: [
|
|
@@ -4329,11 +3757,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
4329
3757
|
name: 'toggle',
|
|
4330
3758
|
component: GioFjsToggleTypeComponent,
|
|
4331
3759
|
},
|
|
4332
|
-
{
|
|
4333
|
-
name: 'gio-code-editor',
|
|
4334
|
-
component: GioFjsCodeEditorTypeComponent,
|
|
4335
|
-
wrappers: ['form-field'],
|
|
4336
|
-
},
|
|
4337
3760
|
{
|
|
4338
3761
|
name: 'gio-headers-array',
|
|
4339
3762
|
component: GioFjsHeadersTypeComponent,
|
|
@@ -4348,21 +3771,284 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
4348
3771
|
},
|
|
4349
3772
|
}),
|
|
4350
3773
|
FormlyMaterialModule,
|
|
4351
|
-
MatInputModule,
|
|
4352
3774
|
GioIconsModule,
|
|
4353
3775
|
GioFormSlideToggleModule,
|
|
4354
3776
|
GioFormHeadersModule,
|
|
4355
|
-
GioMonacoEditorModule,
|
|
4356
3777
|
MatSlideToggleModule,
|
|
4357
3778
|
MatButtonModule,
|
|
4358
3779
|
],
|
|
4359
3780
|
exports: [GioFormJsonSchemaComponent, FormlyModule],
|
|
4360
3781
|
providers: [GioFormlyJsonSchemaService],
|
|
4361
3782
|
}]
|
|
4362
|
-
}] });
|
|
3783
|
+
}] });
|
|
3784
|
+
|
|
3785
|
+
/*
|
|
3786
|
+
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
3787
|
+
*
|
|
3788
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
3789
|
+
* you may not use this file except in compliance with the License.
|
|
3790
|
+
* You may obtain a copy of the License at
|
|
3791
|
+
*
|
|
3792
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
3793
|
+
*
|
|
3794
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
3795
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
3796
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3797
|
+
* See the License for the specific language governing permissions and
|
|
3798
|
+
* limitations under the License.
|
|
3799
|
+
*/
|
|
3800
|
+
class GioBaseFormFocusInvalidDirective {
|
|
3801
|
+
constructor(hostElement, formGroupDirective) {
|
|
3802
|
+
this.hostElement = hostElement;
|
|
3803
|
+
this.formGroupDirective = formGroupDirective;
|
|
3804
|
+
}
|
|
3805
|
+
focusOnFirstInvalid() {
|
|
3806
|
+
const selector = '.ng-invalid[formControlName],input.ng-invalid,mat-select.ng-invalid,textarea.ng-invalid,.gio-ng-invalid';
|
|
3807
|
+
try {
|
|
3808
|
+
// Mark all controls as touched to display errors
|
|
3809
|
+
if (this.formGroupDirective) {
|
|
3810
|
+
this.formGroupDirective.control.markAllAsTouched();
|
|
3811
|
+
this.formGroupDirective.control.updateValueAndValidity();
|
|
3812
|
+
}
|
|
3813
|
+
const parentForm = this.hostElement.nativeElement.closest('form');
|
|
3814
|
+
const invalidFieldElements = parentForm === null || parentForm === void 0 ? void 0 : parentForm.querySelectorAll(selector);
|
|
3815
|
+
const invalidControl = this.getFirstInvalidControl(invalidFieldElements);
|
|
3816
|
+
if (invalidControl) {
|
|
3817
|
+
invalidControl.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
|
3818
|
+
invalidControl.focus({ preventScroll: true });
|
|
3819
|
+
}
|
|
3820
|
+
}
|
|
3821
|
+
catch (error) {
|
|
3822
|
+
// Best effort. If the focus doesn't work it's not very important
|
|
3823
|
+
// 🧪 Useful to avoid som error in tests
|
|
3824
|
+
}
|
|
3825
|
+
}
|
|
3826
|
+
getFirstInvalidControl(invalidFieldElements, index = 0) {
|
|
3827
|
+
var _a;
|
|
3828
|
+
let invalidControl = invalidFieldElements === null || invalidFieldElements === void 0 ? void 0 : invalidFieldElements.item(index);
|
|
3829
|
+
const hasIgnoreAttribute = (_a = invalidControl === null || invalidControl === void 0 ? void 0 : invalidControl.attributes) === null || _a === void 0 ? void 0 : _a.getNamedItem(GIO_FORM_FOCUS_INVALID_IGNORE_SELECTOR);
|
|
3830
|
+
if (hasIgnoreAttribute) {
|
|
3831
|
+
invalidControl = this.getFirstInvalidControl(invalidFieldElements, index + 1);
|
|
3832
|
+
}
|
|
3833
|
+
return invalidControl;
|
|
3834
|
+
}
|
|
3835
|
+
}
|
|
3836
|
+
GioBaseFormFocusInvalidDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBaseFormFocusInvalidDirective, deps: [{ token: i0.ElementRef }, { token: i7.FormGroupDirective, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
3837
|
+
GioBaseFormFocusInvalidDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: GioBaseFormFocusInvalidDirective, ngImport: i0 });
|
|
3838
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBaseFormFocusInvalidDirective, decorators: [{
|
|
3839
|
+
type: Directive
|
|
3840
|
+
}], ctorParameters: function () {
|
|
3841
|
+
return [{ type: i0.ElementRef }, { type: i7.FormGroupDirective, decorators: [{
|
|
3842
|
+
type: Optional
|
|
3843
|
+
}] }];
|
|
3844
|
+
} });
|
|
3845
|
+
class GioFormFocusInvalidFormDirective extends GioBaseFormFocusInvalidDirective {
|
|
3846
|
+
onFormSubmit() {
|
|
3847
|
+
this.focusOnFirstInvalid();
|
|
3848
|
+
}
|
|
3849
|
+
}
|
|
3850
|
+
GioFormFocusInvalidFormDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormFocusInvalidFormDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
3851
|
+
GioFormFocusInvalidFormDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: GioFormFocusInvalidFormDirective, selector: "form[gioFormFocusInvalid]", host: { listeners: { "submit": "onFormSubmit()" } }, usesInheritance: true, ngImport: i0 });
|
|
3852
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormFocusInvalidFormDirective, decorators: [{
|
|
3853
|
+
type: Directive,
|
|
3854
|
+
args: [{
|
|
3855
|
+
selector: 'form[gioFormFocusInvalid]',
|
|
3856
|
+
}]
|
|
3857
|
+
}], propDecorators: { onFormSubmit: [{
|
|
3858
|
+
type: HostListener,
|
|
3859
|
+
args: ['submit']
|
|
3860
|
+
}] } });
|
|
3861
|
+
class GioButtonFocusInvalidButtonDirective extends GioBaseFormFocusInvalidDirective {
|
|
3862
|
+
onClick() {
|
|
3863
|
+
this.focusOnFirstInvalid();
|
|
3864
|
+
}
|
|
3865
|
+
}
|
|
3866
|
+
GioButtonFocusInvalidButtonDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioButtonFocusInvalidButtonDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
3867
|
+
GioButtonFocusInvalidButtonDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: GioButtonFocusInvalidButtonDirective, selector: "button[gioFormFocusInvalid]", host: { listeners: { "click": "onClick()" } }, usesInheritance: true, ngImport: i0 });
|
|
3868
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioButtonFocusInvalidButtonDirective, decorators: [{
|
|
3869
|
+
type: Directive,
|
|
3870
|
+
args: [{
|
|
3871
|
+
selector: 'button[gioFormFocusInvalid]',
|
|
3872
|
+
}]
|
|
3873
|
+
}], propDecorators: { onClick: [{
|
|
3874
|
+
type: HostListener,
|
|
3875
|
+
args: ['click']
|
|
3876
|
+
}] } });
|
|
3877
|
+
|
|
3878
|
+
/*
|
|
3879
|
+
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
3880
|
+
*
|
|
3881
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
3882
|
+
* you may not use this file except in compliance with the License.
|
|
3883
|
+
* You may obtain a copy of the License at
|
|
3884
|
+
*
|
|
3885
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
3886
|
+
*
|
|
3887
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
3888
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
3889
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3890
|
+
* See the License for the specific language governing permissions and
|
|
3891
|
+
* limitations under the License.
|
|
3892
|
+
*/
|
|
3893
|
+
class GioFormFocusInvalidModule {
|
|
3894
|
+
}
|
|
3895
|
+
GioFormFocusInvalidModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormFocusInvalidModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
3896
|
+
GioFormFocusInvalidModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormFocusInvalidModule, declarations: [GioFormFocusInvalidFormDirective, GioButtonFocusInvalidButtonDirective, GioFormFocusInvalidIgnoreDirective], exports: [GioFormFocusInvalidFormDirective, GioButtonFocusInvalidButtonDirective, GioFormFocusInvalidIgnoreDirective] });
|
|
3897
|
+
GioFormFocusInvalidModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormFocusInvalidModule });
|
|
3898
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormFocusInvalidModule, decorators: [{
|
|
3899
|
+
type: NgModule,
|
|
3900
|
+
args: [{
|
|
3901
|
+
declarations: [GioFormFocusInvalidFormDirective, GioButtonFocusInvalidButtonDirective, GioFormFocusInvalidIgnoreDirective],
|
|
3902
|
+
exports: [GioFormFocusInvalidFormDirective, GioButtonFocusInvalidButtonDirective, GioFormFocusInvalidIgnoreDirective],
|
|
3903
|
+
}]
|
|
3904
|
+
}] });
|
|
3905
|
+
|
|
3906
|
+
/*
|
|
3907
|
+
* Copyright (C) 2023 The Gravitee team (http://gravitee.io)
|
|
3908
|
+
*
|
|
3909
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
3910
|
+
* you may not use this file except in compliance with the License.
|
|
3911
|
+
* You may obtain a copy of the License at
|
|
3912
|
+
*
|
|
3913
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
3914
|
+
*
|
|
3915
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
3916
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
3917
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3918
|
+
* See the License for the specific language governing permissions and
|
|
3919
|
+
* limitations under the License.
|
|
3920
|
+
*/
|
|
3921
|
+
const GIO_MONACO_EDITOR_CONFIG = new InjectionToken('gio-monaco-editor-config');
|
|
3922
|
+
|
|
3923
|
+
/*
|
|
3924
|
+
* Copyright (C) 2023 The Gravitee team (http://gravitee.io)
|
|
3925
|
+
*
|
|
3926
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
3927
|
+
* you may not use this file except in compliance with the License.
|
|
3928
|
+
* You may obtain a copy of the License at
|
|
3929
|
+
*
|
|
3930
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
3931
|
+
*
|
|
3932
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
3933
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
3934
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3935
|
+
* See the License for the specific language governing permissions and
|
|
3936
|
+
* limitations under the License.
|
|
3937
|
+
*/
|
|
3938
|
+
class GioMonacoEditorService {
|
|
3939
|
+
constructor() {
|
|
3940
|
+
this.loaded$ = new ReplaySubject(1);
|
|
3941
|
+
this.loaded = false;
|
|
3942
|
+
}
|
|
3943
|
+
loadEditor() {
|
|
3944
|
+
if (this.loaded) {
|
|
3945
|
+
// Already loaded, do nothing.
|
|
3946
|
+
return Promise.resolve();
|
|
3947
|
+
}
|
|
3948
|
+
this.loaded = true;
|
|
3949
|
+
return new Promise(resolve => {
|
|
3950
|
+
// Monaco is already loaded
|
|
3951
|
+
if (typeof window.monaco === 'object') {
|
|
3952
|
+
resolve();
|
|
3953
|
+
return;
|
|
3954
|
+
}
|
|
3955
|
+
const onGotAmdLoader = () => {
|
|
3956
|
+
// Load Monaco
|
|
3957
|
+
window.require.config({ paths: { vs: 'assets/monaco-editor/min/vs' } });
|
|
3958
|
+
window.require(['vs/editor/editor.main'], () => {
|
|
3959
|
+
resolve();
|
|
3960
|
+
});
|
|
3961
|
+
};
|
|
3962
|
+
// Load AMD loader if necessary
|
|
3963
|
+
if (!window.require) {
|
|
3964
|
+
const loaderScript = document.createElement('script');
|
|
3965
|
+
loaderScript.type = 'text/javascript';
|
|
3966
|
+
loaderScript.src = 'assets/monaco-editor/min/vs/loader.js';
|
|
3967
|
+
loaderScript.addEventListener('load', onGotAmdLoader);
|
|
3968
|
+
document.body.appendChild(loaderScript);
|
|
3969
|
+
}
|
|
3970
|
+
else {
|
|
3971
|
+
onGotAmdLoader();
|
|
3972
|
+
}
|
|
3973
|
+
}).then(() => {
|
|
3974
|
+
this.loaded$.next({ monaco: window.monaco });
|
|
3975
|
+
});
|
|
3976
|
+
}
|
|
3977
|
+
}
|
|
3978
|
+
GioMonacoEditorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMonacoEditorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3979
|
+
GioMonacoEditorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMonacoEditorService, providedIn: 'root' });
|
|
3980
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMonacoEditorService, decorators: [{
|
|
3981
|
+
type: Injectable,
|
|
3982
|
+
args: [{
|
|
3983
|
+
providedIn: 'root',
|
|
3984
|
+
}]
|
|
3985
|
+
}] });
|
|
3986
|
+
|
|
3987
|
+
/*
|
|
3988
|
+
* Copyright (C) 2023 The Gravitee team (http://gravitee.io)
|
|
3989
|
+
*
|
|
3990
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
3991
|
+
* you may not use this file except in compliance with the License.
|
|
3992
|
+
* You may obtain a copy of the License at
|
|
3993
|
+
*
|
|
3994
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
3995
|
+
*
|
|
3996
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
3997
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
3998
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3999
|
+
* See the License for the specific language governing permissions and
|
|
4000
|
+
* limitations under the License.
|
|
4001
|
+
*/
|
|
4002
|
+
class GioLanguageJsonService {
|
|
4003
|
+
constructor(codeEditorService) {
|
|
4004
|
+
this.unsubscribe$ = new Subject();
|
|
4005
|
+
codeEditorService.loaded$.pipe(takeUntil(this.unsubscribe$)).subscribe(event => {
|
|
4006
|
+
this.setup(event.monaco);
|
|
4007
|
+
});
|
|
4008
|
+
}
|
|
4009
|
+
ngOnDestroy() {
|
|
4010
|
+
this.unsubscribe$.next();
|
|
4011
|
+
this.unsubscribe$.complete();
|
|
4012
|
+
}
|
|
4013
|
+
setup(monaco) {
|
|
4014
|
+
if (!monaco) {
|
|
4015
|
+
throw new Error('Monaco is not loaded');
|
|
4016
|
+
}
|
|
4017
|
+
this.monaco = monaco;
|
|
4018
|
+
const defaults = monaco.languages.json.jsonDefaults;
|
|
4019
|
+
defaults.setDiagnosticsOptions({
|
|
4020
|
+
validate: true,
|
|
4021
|
+
allowComments: true,
|
|
4022
|
+
});
|
|
4023
|
+
}
|
|
4024
|
+
addSchemas(id, definitions = []) {
|
|
4025
|
+
if (!this.monaco) {
|
|
4026
|
+
throw new Error('Monaco is not loaded');
|
|
4027
|
+
}
|
|
4028
|
+
const defaults = this.monaco.languages.json.jsonDefaults;
|
|
4029
|
+
const options = defaults.diagnosticsOptions;
|
|
4030
|
+
let schemas = definitions.map(({ uri, schema }) => ({
|
|
4031
|
+
uri,
|
|
4032
|
+
schema,
|
|
4033
|
+
fileMatch: [id || '*.json'],
|
|
4034
|
+
}));
|
|
4035
|
+
if (options && options.schemas && options.schemas.length > 0) {
|
|
4036
|
+
schemas = [...options.schemas, ...schemas];
|
|
4037
|
+
}
|
|
4038
|
+
defaults.setDiagnosticsOptions(Object.assign(Object.assign({}, options), { schemas: schemas }));
|
|
4039
|
+
}
|
|
4040
|
+
}
|
|
4041
|
+
GioLanguageJsonService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioLanguageJsonService, deps: [{ token: GioMonacoEditorService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4042
|
+
GioLanguageJsonService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioLanguageJsonService, providedIn: 'root' });
|
|
4043
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioLanguageJsonService, decorators: [{
|
|
4044
|
+
type: Injectable,
|
|
4045
|
+
args: [{
|
|
4046
|
+
providedIn: 'root',
|
|
4047
|
+
}]
|
|
4048
|
+
}], ctorParameters: function () { return [{ type: GioMonacoEditorService }]; } });
|
|
4363
4049
|
|
|
4364
4050
|
/*
|
|
4365
|
-
* Copyright (C)
|
|
4051
|
+
* Copyright (C) 2023 The Gravitee team (http://gravitee.io)
|
|
4366
4052
|
*
|
|
4367
4053
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
4368
4054
|
* you may not use this file except in compliance with the License.
|
|
@@ -4376,82 +4062,153 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
4376
4062
|
* See the License for the specific language governing permissions and
|
|
4377
4063
|
* limitations under the License.
|
|
4378
4064
|
*/
|
|
4379
|
-
class
|
|
4380
|
-
constructor(hostElement,
|
|
4065
|
+
class GioMonacoEditorComponent {
|
|
4066
|
+
constructor(config, monacoEditorService, languageJsonService, hostElement, changeDetectorRef, ngZone) {
|
|
4067
|
+
this.config = config;
|
|
4068
|
+
this.monacoEditorService = monacoEditorService;
|
|
4069
|
+
this.languageJsonService = languageJsonService;
|
|
4381
4070
|
this.hostElement = hostElement;
|
|
4382
|
-
this.
|
|
4071
|
+
this.changeDetectorRef = changeDetectorRef;
|
|
4072
|
+
this.ngZone = ngZone;
|
|
4073
|
+
this.options = {};
|
|
4074
|
+
this.id = uniqueId('gio-monaco-editor-');
|
|
4075
|
+
this.loading = true;
|
|
4076
|
+
this.defaultOptions = {
|
|
4077
|
+
contextmenu: false,
|
|
4078
|
+
minimap: {
|
|
4079
|
+
enabled: true,
|
|
4080
|
+
},
|
|
4081
|
+
automaticLayout: true,
|
|
4082
|
+
scrollBeyondLastLine: false,
|
|
4083
|
+
};
|
|
4084
|
+
this.value = '';
|
|
4085
|
+
this.readOnly = false;
|
|
4086
|
+
this._onChange = () => ({});
|
|
4087
|
+
this._onTouched = () => ({});
|
|
4088
|
+
this.unsubscribe$ = new Subject();
|
|
4089
|
+
this.monacoEditorService.loadEditor();
|
|
4383
4090
|
}
|
|
4384
|
-
|
|
4385
|
-
|
|
4386
|
-
|
|
4387
|
-
|
|
4388
|
-
|
|
4389
|
-
|
|
4390
|
-
|
|
4391
|
-
|
|
4392
|
-
|
|
4393
|
-
|
|
4394
|
-
|
|
4395
|
-
|
|
4396
|
-
invalidControl.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
|
4397
|
-
invalidControl.focus({ preventScroll: true });
|
|
4398
|
-
}
|
|
4091
|
+
ngAfterViewInit() {
|
|
4092
|
+
// Wait until monaco editor is available
|
|
4093
|
+
this.monacoEditorService.loaded$.pipe(takeUntil(this.unsubscribe$)).subscribe(({ monaco }) => {
|
|
4094
|
+
this.setupEditor(monaco);
|
|
4095
|
+
this.loading = false;
|
|
4096
|
+
this.changeDetectorRef.detectChanges();
|
|
4097
|
+
});
|
|
4098
|
+
}
|
|
4099
|
+
ngOnDestroy() {
|
|
4100
|
+
if (this.standaloneCodeEditor) {
|
|
4101
|
+
this.standaloneCodeEditor.dispose();
|
|
4102
|
+
this.standaloneCodeEditor = undefined;
|
|
4399
4103
|
}
|
|
4400
|
-
|
|
4401
|
-
|
|
4402
|
-
|
|
4104
|
+
if (this.textModel) {
|
|
4105
|
+
this.textModel.dispose();
|
|
4106
|
+
this.textModel = undefined;
|
|
4403
4107
|
}
|
|
4108
|
+
this.unsubscribe$.next();
|
|
4109
|
+
this.unsubscribe$.complete();
|
|
4404
4110
|
}
|
|
4405
|
-
|
|
4406
|
-
|
|
4407
|
-
|
|
4408
|
-
|
|
4409
|
-
|
|
4410
|
-
|
|
4111
|
+
// From ControlValueAccessor interface
|
|
4112
|
+
writeValue(_value) {
|
|
4113
|
+
if (_value) {
|
|
4114
|
+
this.value = _value;
|
|
4115
|
+
}
|
|
4116
|
+
if (this.textModel) {
|
|
4117
|
+
this.textModel.setValue(this.value);
|
|
4411
4118
|
}
|
|
4412
|
-
return invalidControl;
|
|
4413
4119
|
}
|
|
4414
|
-
|
|
4415
|
-
|
|
4416
|
-
|
|
4417
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBaseFormFocusInvalidDirective, decorators: [{
|
|
4418
|
-
type: Directive
|
|
4419
|
-
}], ctorParameters: function () {
|
|
4420
|
-
return [{ type: i0.ElementRef }, { type: i7.FormGroupDirective, decorators: [{
|
|
4421
|
-
type: Optional
|
|
4422
|
-
}] }];
|
|
4423
|
-
} });
|
|
4424
|
-
class GioFormFocusInvalidFormDirective extends GioBaseFormFocusInvalidDirective {
|
|
4425
|
-
onFormSubmit() {
|
|
4426
|
-
this.focusOnFirstInvalid();
|
|
4120
|
+
// From ControlValueAccessor interface
|
|
4121
|
+
registerOnChange(fn) {
|
|
4122
|
+
this._onChange = fn;
|
|
4427
4123
|
}
|
|
4428
|
-
|
|
4429
|
-
|
|
4430
|
-
|
|
4431
|
-
|
|
4432
|
-
|
|
4433
|
-
|
|
4434
|
-
|
|
4435
|
-
|
|
4436
|
-
|
|
4437
|
-
|
|
4438
|
-
|
|
4439
|
-
|
|
4440
|
-
|
|
4441
|
-
|
|
4442
|
-
|
|
4124
|
+
// From ControlValueAccessor interface
|
|
4125
|
+
registerOnTouched(fn) {
|
|
4126
|
+
this._onTouched = fn;
|
|
4127
|
+
}
|
|
4128
|
+
// From ControlValueAccessor interface
|
|
4129
|
+
setDisabledState(isDisabled) {
|
|
4130
|
+
this.readOnly = isDisabled;
|
|
4131
|
+
}
|
|
4132
|
+
setupEditor(monaco) {
|
|
4133
|
+
var _a, _b, _c, _d, _e;
|
|
4134
|
+
if (!this.hostElement) {
|
|
4135
|
+
throw new Error('No editor ref found.');
|
|
4136
|
+
}
|
|
4137
|
+
const domElement = this.hostElement.nativeElement;
|
|
4138
|
+
const settings = {
|
|
4139
|
+
value: this.value,
|
|
4140
|
+
language: (_b = (_a = this.languageConfig) === null || _a === void 0 ? void 0 : _a.language) !== null && _b !== void 0 ? _b : 'text',
|
|
4141
|
+
uri: `code-${uniqueId()}`,
|
|
4142
|
+
};
|
|
4143
|
+
this.ngZone.runOutsideAngular(() => {
|
|
4144
|
+
this.textModel = monaco.editor.createModel(settings.value, settings.language, monaco.Uri.parse(settings.uri));
|
|
4145
|
+
});
|
|
4146
|
+
const options = Object.assign({}, this.defaultOptions, this.options, {
|
|
4147
|
+
readOnly: this.readOnly,
|
|
4148
|
+
theme: (_c = this.config.theme) !== null && _c !== void 0 ? _c : 'vs',
|
|
4149
|
+
model: this.textModel,
|
|
4150
|
+
});
|
|
4151
|
+
this.standaloneCodeEditor = monaco.editor.create(domElement, Object.assign({}, options));
|
|
4152
|
+
(_d = this.textModel) === null || _d === void 0 ? void 0 : _d.onDidChangeContent(() => {
|
|
4153
|
+
var _a;
|
|
4154
|
+
const newValue = (_a = this.textModel) === null || _a === void 0 ? void 0 : _a.getValue();
|
|
4155
|
+
this.ngZone.run(() => {
|
|
4156
|
+
newValue && this._onChange(newValue);
|
|
4157
|
+
this._onTouched();
|
|
4158
|
+
});
|
|
4159
|
+
});
|
|
4160
|
+
(_e = this.standaloneCodeEditor) === null || _e === void 0 ? void 0 : _e.onDidBlurEditorWidget(() => {
|
|
4161
|
+
this.ngZone.run(() => {
|
|
4162
|
+
this._onTouched();
|
|
4163
|
+
});
|
|
4164
|
+
});
|
|
4165
|
+
this.setupLanguage(settings.uri, this.languageConfig);
|
|
4166
|
+
}
|
|
4167
|
+
setupLanguage(uri, languageConfig) {
|
|
4168
|
+
if (!languageConfig) {
|
|
4169
|
+
return;
|
|
4170
|
+
}
|
|
4171
|
+
const { language } = languageConfig;
|
|
4172
|
+
if (language) {
|
|
4173
|
+
const lang = language.toLowerCase();
|
|
4174
|
+
switch (lang) {
|
|
4175
|
+
case 'json':
|
|
4176
|
+
if (languageConfig.schemas) {
|
|
4177
|
+
this.languageJsonService.addSchemas(uri, languageConfig.schemas);
|
|
4178
|
+
}
|
|
4179
|
+
break;
|
|
4180
|
+
default:
|
|
4181
|
+
break;
|
|
4182
|
+
}
|
|
4183
|
+
}
|
|
4443
4184
|
}
|
|
4444
4185
|
}
|
|
4445
|
-
|
|
4446
|
-
|
|
4447
|
-
|
|
4448
|
-
|
|
4449
|
-
|
|
4450
|
-
|
|
4451
|
-
|
|
4452
|
-
|
|
4453
|
-
|
|
4454
|
-
|
|
4186
|
+
GioMonacoEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMonacoEditorComponent, deps: [{ token: GIO_MONACO_EDITOR_CONFIG }, { token: GioMonacoEditorService }, { token: GioLanguageJsonService }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
4187
|
+
GioMonacoEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioMonacoEditorComponent, selector: "gio-monaco-editor", inputs: { languageConfig: "languageConfig", options: "options" }, providers: [
|
|
4188
|
+
{
|
|
4189
|
+
provide: NG_VALUE_ACCESSOR,
|
|
4190
|
+
useExisting: forwardRef(() => GioMonacoEditorComponent),
|
|
4191
|
+
multi: true,
|
|
4192
|
+
},
|
|
4193
|
+
], ngImport: i0, template: ` <div *ngIf="loading">Loading...</div>`, isInline: true, styles: [":host{display:block;height:100%;min-height:150px}\n"], directives: [{ type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
4194
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMonacoEditorComponent, decorators: [{
|
|
4195
|
+
type: Component,
|
|
4196
|
+
args: [{ selector: 'gio-monaco-editor', template: ` <div *ngIf="loading">Loading...</div>`, providers: [
|
|
4197
|
+
{
|
|
4198
|
+
provide: NG_VALUE_ACCESSOR,
|
|
4199
|
+
useExisting: forwardRef(() => GioMonacoEditorComponent),
|
|
4200
|
+
multi: true,
|
|
4201
|
+
},
|
|
4202
|
+
], styles: [":host{display:block;height:100%;min-height:150px}\n"] }]
|
|
4203
|
+
}], ctorParameters: function () {
|
|
4204
|
+
return [{ type: undefined, decorators: [{
|
|
4205
|
+
type: Inject,
|
|
4206
|
+
args: [GIO_MONACO_EDITOR_CONFIG]
|
|
4207
|
+
}] }, { type: GioMonacoEditorService }, { type: GioLanguageJsonService }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }];
|
|
4208
|
+
}, propDecorators: { languageConfig: [{
|
|
4209
|
+
type: Input
|
|
4210
|
+
}], options: [{
|
|
4211
|
+
type: Input
|
|
4455
4212
|
}] } });
|
|
4456
4213
|
|
|
4457
4214
|
/*
|
|
@@ -4469,16 +4226,39 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
4469
4226
|
* See the License for the specific language governing permissions and
|
|
4470
4227
|
* limitations under the License.
|
|
4471
4228
|
*/
|
|
4472
|
-
class
|
|
4229
|
+
class GioMonacoEditorModule {
|
|
4230
|
+
static forRoot(config) {
|
|
4231
|
+
return {
|
|
4232
|
+
ngModule: GioMonacoEditorModule,
|
|
4233
|
+
providers: [
|
|
4234
|
+
{
|
|
4235
|
+
provide: GIO_MONACO_EDITOR_CONFIG,
|
|
4236
|
+
useValue: config,
|
|
4237
|
+
},
|
|
4238
|
+
],
|
|
4239
|
+
};
|
|
4240
|
+
}
|
|
4473
4241
|
}
|
|
4474
|
-
|
|
4475
|
-
|
|
4476
|
-
|
|
4477
|
-
|
|
4242
|
+
GioMonacoEditorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMonacoEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
4243
|
+
GioMonacoEditorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMonacoEditorModule, declarations: [GioMonacoEditorComponent], imports: [CommonModule, HttpClientModule, ReactiveFormsModule], exports: [GioMonacoEditorComponent] });
|
|
4244
|
+
GioMonacoEditorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMonacoEditorModule, providers: [
|
|
4245
|
+
{
|
|
4246
|
+
provide: GIO_MONACO_EDITOR_CONFIG,
|
|
4247
|
+
useValue: {},
|
|
4248
|
+
},
|
|
4249
|
+
], imports: [[CommonModule, HttpClientModule, ReactiveFormsModule]] });
|
|
4250
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMonacoEditorModule, decorators: [{
|
|
4478
4251
|
type: NgModule,
|
|
4479
4252
|
args: [{
|
|
4480
|
-
|
|
4481
|
-
|
|
4253
|
+
imports: [CommonModule, HttpClientModule, ReactiveFormsModule],
|
|
4254
|
+
declarations: [GioMonacoEditorComponent],
|
|
4255
|
+
exports: [GioMonacoEditorComponent],
|
|
4256
|
+
providers: [
|
|
4257
|
+
{
|
|
4258
|
+
provide: GIO_MONACO_EDITOR_CONFIG,
|
|
4259
|
+
useValue: {},
|
|
4260
|
+
},
|
|
4261
|
+
],
|
|
4482
4262
|
}]
|
|
4483
4263
|
}] });
|
|
4484
4264
|
|
|
@@ -4511,12 +4291,25 @@ class GioMonacoEditorTestingComponent extends GioMonacoEditorComponent {
|
|
|
4511
4291
|
}
|
|
4512
4292
|
}
|
|
4513
4293
|
GioMonacoEditorTestingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMonacoEditorTestingComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
4514
|
-
GioMonacoEditorTestingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioMonacoEditorTestingComponent, selector: "gio-monaco-editor",
|
|
4294
|
+
GioMonacoEditorTestingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioMonacoEditorTestingComponent, selector: "gio-monaco-editor", providers: [
|
|
4295
|
+
{
|
|
4296
|
+
provide: NG_VALUE_ACCESSOR,
|
|
4297
|
+
useExisting: forwardRef(() => GioMonacoEditorTestingComponent),
|
|
4298
|
+
multi: true,
|
|
4299
|
+
},
|
|
4300
|
+
], usesInheritance: true, ngImport: i0, template: '<input type="text" [value]="getValue" (input)="changeValue($any($event).target?.value)" />', isInline: true });
|
|
4515
4301
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMonacoEditorTestingComponent, decorators: [{
|
|
4516
4302
|
type: Component,
|
|
4517
4303
|
args: [{
|
|
4518
4304
|
selector: 'gio-monaco-editor',
|
|
4519
4305
|
template: '<input type="text" [value]="getValue" (input)="changeValue($any($event).target?.value)" />',
|
|
4306
|
+
providers: [
|
|
4307
|
+
{
|
|
4308
|
+
provide: NG_VALUE_ACCESSOR,
|
|
4309
|
+
useExisting: forwardRef(() => GioMonacoEditorTestingComponent),
|
|
4310
|
+
multi: true,
|
|
4311
|
+
},
|
|
4312
|
+
],
|
|
4520
4313
|
}]
|
|
4521
4314
|
}] });
|
|
4522
4315
|
|
|
@@ -4656,5 +4449,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
4656
4449
|
* Generated bundle index. Do not edit.
|
|
4657
4450
|
*/
|
|
4658
4451
|
|
|
4659
|
-
export { GIO_FORM_FOCUS_INVALID_IGNORE_SELECTOR, GioAvatarComponent, GioAvatarModule, GioBannerActionDirective, GioBannerBodyDirective, GioBannerComponent, GioBannerErrorComponent, GioBannerInfoComponent, GioBannerModule, GioBannerSuccessComponent, GioBannerWarningComponent, GioBaseFormFocusInvalidDirective, GioBreadcrumbComponent, GioBreadcrumbItemDirective, GioBreadcrumbModule, GioButtonFocusInvalidButtonDirective, GioConfirmAndValidateDialogComponent, GioConfirmAndValidateDialogHarness, GioConfirmAndValidateDialogModule, GioConfirmDialogComponent, GioConfirmDialogHarness, GioConfirmDialogModule, GioFormFilePickerAddButtonComponent, GioFormFilePickerComponent, GioFormFilePickerEmptyComponent, GioFormFilePickerInputHarness, GioFormFilePickerLabelComponent, GioFormFilePickerModule, GioFormFocusInvalidFormDirective, GioFormFocusInvalidIgnoreDirective, GioFormFocusInvalidModule, GioFormHeadersComponent, GioFormHeadersHarness, GioFormHeadersModule, GioFormJsonSchemaComponent, GioFormJsonSchemaModule, GioFormLabelComponent, GioFormPrefixDirective, GioFormSlideToggleComponent, GioFormSlideToggleDirective, GioFormSlideToggleModule, GioFormTagsInputComponent, GioFormTagsInputHarness, GioFormTagsInputModule, GioIconsModule, GioLoaderComponent, GioLoaderModule, GioMatConfigModule, GioMenuComponent, GioMenuFooterComponent, GioMenuHeaderComponent, GioMenuItemComponent, GioMenuListComponent, GioMenuModule, GioMenuSelectorComponent, GioMenuSelectorHarness, GioMenuService, GioMonacoEditorComponent,
|
|
4452
|
+
export { GIO_FORM_FOCUS_INVALID_IGNORE_SELECTOR, GioAvatarComponent, GioAvatarModule, GioBannerActionDirective, GioBannerBodyDirective, GioBannerComponent, GioBannerErrorComponent, GioBannerInfoComponent, GioBannerModule, GioBannerSuccessComponent, GioBannerWarningComponent, GioBaseFormFocusInvalidDirective, GioBreadcrumbComponent, GioBreadcrumbItemDirective, GioBreadcrumbModule, GioButtonFocusInvalidButtonDirective, GioConfirmAndValidateDialogComponent, GioConfirmAndValidateDialogHarness, GioConfirmAndValidateDialogModule, GioConfirmDialogComponent, GioConfirmDialogHarness, GioConfirmDialogModule, GioFormFilePickerAddButtonComponent, GioFormFilePickerComponent, GioFormFilePickerEmptyComponent, GioFormFilePickerInputHarness, GioFormFilePickerLabelComponent, GioFormFilePickerModule, GioFormFocusInvalidFormDirective, GioFormFocusInvalidIgnoreDirective, GioFormFocusInvalidModule, GioFormHeadersComponent, GioFormHeadersHarness, GioFormHeadersModule, GioFormJsonSchemaComponent, GioFormJsonSchemaModule, GioFormLabelComponent, GioFormPrefixDirective, GioFormSlideToggleComponent, GioFormSlideToggleDirective, GioFormSlideToggleModule, GioFormTagsInputComponent, GioFormTagsInputHarness, GioFormTagsInputModule, GioIconsModule, GioLoaderComponent, GioLoaderModule, GioMatConfigModule, GioMenuComponent, GioMenuFooterComponent, GioMenuHeaderComponent, GioMenuItemComponent, GioMenuListComponent, GioMenuModule, GioMenuSelectorComponent, GioMenuSelectorHarness, GioMenuService, GioMonacoEditorComponent, GioMonacoEditorHarness, GioMonacoEditorModule, GioSaveBarComponent, GioSaveBarHarness, GioSaveBarModule, GioSubmenuComponent, GioSubmenuGroupComponent, GioSubmenuItemComponent, GioSubmenuModule, GioSubmenuTitleDirective, GioTopBarComponent, GioTopBarContentComponent, GioTopBarLinkComponent, GioTopBarLinkModule, GioTopBarMenuComponent, GioTopBarMenuModule, GioTopBarModule, NewFile };
|
|
4660
4453
|
//# sourceMappingURL=gravitee-ui-particles-angular.mjs.map
|